网站大量收购独家精品文档,联系QQ:2885784924

8051之序列传输简介.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8051之序列传输简介.doc

8051之序列傳輸簡介 8051的串列界面提供了全雙工(full duplex)傳輸的功能,並且以緩衝式的接收模式來處理所收到的串列資料 全雙工功能就是指8051的串列界面可以同時接收及發送串列資料,可是傳輸效率提到最高 緩衝式的接收模式是指8051再接收到一個byte資料後,還能夠繼續接收下一個byte的資料,但是若前一個byte沒被讀走,便會被下一筆資料覆蓋而損失一個byte的資料,所以如果要無誤的接收串列資料,最好將串列傳輸的程式已中斷的寫法處理 8051串列資料的收送都是透過特殊暫存器SBUF來處理 這是兩個具有相同位址的暫存器 當資料被寫入SBUF時,經由傳送暫存器轉成串列訊號傳送到接收端 當自SBUF讀取資料時,將接收暫存器所收到的資料讀到8051內部其他暫存器中 8051串列傳輸的四種模式 Mode 0 此模式純粹是做系統I/O的擴充,資料是由RxD接腳送入或讀出,只傳送或接收8位元的資料(LSB先),而TxD固定輸出移位脈波,頻率為1/12的振盪頻率,也就是1個機器週期 Mode 1 此模式每次有10個位元的資料被傳送或接收,包括1個start bit(0)、8個data bit(LSB先)、和1個stop bit(1) 在接收時,stop bit會這進入特殊暫存器SCON裡的RB8 傳輸速率可透過Timer1/Timer2控制 Mode 2 比Mode 1多出1個位元,每次可送出或接收11個位元的串列資料,包括1個start bit、8個data bit、1個可程式規畫設定的第九個data bit和最後1個stop bit 傳輸速率只有兩種選擇,分別是振盪頻率的1/32或1/64 8051串列傳輸的四種模式 (cont.) Mode 3 每次傳送或接收11個位元的資料,包括1個start bit、8個data bit、1個可程式規畫設定的data bit和最後的stop bit 和Mode 2不同的是它的傳輸速率是可變的,由Timer1/Timer2控制 四種模式的比較 鮑率的設定(Baud Rates) Mode 0的鮑率:固定為振盪頻率的1/12 Mode 2的鮑率: 有兩種速率可選擇,選擇位元在PCON功率控制暫存器的SMOD位元上,因為SCON的8個位元都用完了 Baud rate = 振盪頻率/64 (SMOD=0) Baud rate = 振盪頻率/32 (SMOD=1) 當系統剛開機時,SMOD設定值為0,若指定Mode 2時,鮑率就是振盪頻率的1/64 Mode 1和Mode 3的鮑率: 由Timer1的計時溢位率和SMOD位元決定 通常Timer1都會被定義成Mode 2的計時自動載入功能,實際上有計數功能的計數器為TL1,而TH1則當成自動載入時的設定值 串列傳輸之Mode 0 本模式又稱為I/O擴充模式(I/O Expansion Mode) 提供同步的資料串列發送和接收的功能 所有的串列資料的進出都由RxD接腳發送或接收 TxD腳則提供串列資料移入(shift in)或移出(shift out)所需要的脈波 串列傳輸之Mode 0 (cont.) SBUF分別有發送和接收用兩個,雖然名稱相同但功能完全不同 發送資料: 當Mode 0被設定好時,只要有任何一個指令對SBUF做資料載入的工作,SBUF將以一個機器週期的速率逐一將8個位元的資料移出,LSB先移出,最後才是MSB 當MSB移出後,TI旗標也設為1,代表資料已傳送完畢 由於串列資料只由RxD腳進出,所以同一時間內,只能做發送或接收的其中一種動作 接收資料: 要在Mode 0中接收串列資料時,只要將REN位元設為1,就開始接收此時負責傳送的SBUF停止動作 在清除RI位元後,TxD腳會立刻送出8個移位脈波,速率剛好是8051一個機器週期的速率 通常在做這類應用時,外部都有類似74165的移位暫存器,方便將並列資料轉成串列資料,然後才傳回8051系統 串列傳輸之Mode 0 (cont.) 範例:Mode 0的TxD和RxD的輸出情形 本測試程式將串列界面定義成Mode 0,然後不斷將81H和AAH兩個值送到SBUF中 我們可以在示波器上看到數據81H和AAH的串列資料,伴隨著16個脈波訊號(由TxD發出) 程式: RESET MOV SP,#60H MOV SCON, LOOP MOV A,#81H MOV SBUF,A MUL AB MUL AB MOV A,#AAH MOV SBUF,A DIV AB DIV AB SJMP LOOP 串列傳輸之Mode 0 (cont.) 第一個串列資料送出的值分別由

文档评论(0)

ailuojue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档