第八課51單片機串行口工作原理_第1頁
第八課51單片機串行口工作原理_第2頁
第八課51單片機串行口工作原理_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第八課:51單片機串行口工作原理mcs-51系列單片機片內(nèi)有一個串行i/o端口,通過引腳rxd(p3. 0)和txd(p3. 1)可與外 設電路進行全雙工的串行異步通信。1. 串行端口的基本特點8031單片機的串行端口有4種基本工作方式,通過編程設置,可以使其工作在任一方式, 以滿足不同應用場合的需要。其屮,方式0主要用于外接移位寄存器,以擴展單片機的1/ 0電路;方式1多用于雙機之間或與外設電路的通信;方式2, 3除有方式1的功能外,還 可用作多機通信,以構成分布式多微機系統(tǒng)。申行端口有兩個控制寄存器,用來設置工作方式、發(fā)送或接收的狀態(tài)、特征位、數(shù)據(jù)傳送的 波特率(每秒傳送的位數(shù))以及作為中

2、斷標志等。串行端口有一個數(shù)據(jù)寄存器sbuf(在特殊功能寄存器屮的字節(jié)地址為9911),該寄存器為發(fā)送 和接收所共同。發(fā)送時,只寫不讀;接收時,只讀不寫。在一定條件下,向陽uf寫入數(shù)據(jù) 就啟動了發(fā)送過程;讀sbuf就啟動了接收過程。串行通信的波特率町以程控設定。在不同工作方式中,由吋鐘振蕩頻率的分頻值或由定吋器 t1的定時溢出時間確定,使用十分方便靈活。2. 串行端口的工作方式 方式08位移位寄存器輸入/輸出方式。多用于外接移位寄存器以擴展i/o端ii。波特率固定為 fosc/12o其中,fosc為時鐘頻率。在方式0中,串行端口作為輸出時,只要向串行緩沖器sbuf寫入一字節(jié)數(shù)據(jù)后,串行端口 就把

3、此8位數(shù)據(jù)以等的波特率,從rxd引腳逐位輸出(從低位到高位);此時,txd輸出頻率 為fosc/12的同步移位脈沖。數(shù)據(jù)發(fā)送前,僅管不使用中斷,中斷標志ti還必須清零,8 位數(shù)據(jù)發(fā)送完后,ti自動置1。如要再發(fā)送,必須用軟件將ti清零。串行端口作為輸入時,rxd為數(shù)據(jù)輸入端,txd仍為同步信號輸岀端,輸岀頻率為fosc/12 的同步移位脈沖,使外部數(shù)據(jù)逐位移入rxd。當接收到8位數(shù)據(jù)(一幀)示,屮斷標志rih 動置。如果再接收,必須用軟件先將r1清零。串行方式0發(fā)送和接收的時序過程見下圖。 方式1txd發(fā)送時鐘n n n n ti _ nnnrxd 發(fā)送妝提耳 sbufnt1圖htxd 播收時

4、忡n_n_ji_n_n_n_n_n_tlji_rxdri圖b中舒方式0發(fā)送接枚時序(0為發(fā)送時序,b為接妝時序)10位異步通信方式。其中,1個起始位(0), 8個數(shù)據(jù)位(由低位到高位)和1個停止位(1)。 波特率由定時器t1的溢出率和sm0d位的狀態(tài)確定。一條寫sbuf指令就可啟動數(shù)據(jù)發(fā)送過程。在發(fā)送移位時鐘(由波特率確定)的同步下,從txd 先送出起始位,然后是8位數(shù)據(jù)位,最后是停止位。這樣的一幀10位數(shù)據(jù)發(fā)送完后,中斷 標志t【置位。在允許接收的條件下(ren=1),當rxd出現(xiàn)由1到0的負跳變時,即被當成是串行發(fā)送來的 -幀數(shù)據(jù)的起始位,從而啟動一次接收過程。當8位數(shù)據(jù)接收完,并檢測到高

5、電乎停止位后, 即把接收到的8位數(shù)據(jù)裝入sbuf,置位rt, 幀數(shù)據(jù)的接收過程就完成了。方式1的數(shù)據(jù)傳送波特率可以編程設進,使用范圍寬,具計算式為:波特率= 2smod/32x(定時器t1的溢出率)其中,smod是控制寄存器pc0n中的一位程控位,其取值有0和1兩種狀態(tài)。顯然,當sm0d =0時,波特率=1/32(定時器t1溢出率),而當sm0d=l時,波特率= 1/16(定時器t1溢 出率)。所謂定時器的溢出率,就是指定時器-秒鐘內(nèi)的溢出次數(shù)。波特率的算法,以及要 求一定波特率時定時器定時初值的求法,后面將詳細討論。串行方式1的發(fā)送和接收過程的時序見下圖。 方式2, 311位界步通信方式。其

6、中,1個起始位(0), 8個數(shù)據(jù)位(由低位到高位),1個附加的第9 位和1個停止?。?)。方式2和方式3除波特率不同外,其它性能完全相同。方式2, 3的發(fā) 送、接收時序見下圖。由圖可見,方式2和方式3與方式1的操作過程基本相同,主要差別在于方式2, 3有笫9 位數(shù)據(jù)。發(fā)送時,發(fā)送機的這第9位數(shù)據(jù)來自該機scon+的tb8,而接收機將接收到的這第9位數(shù) 據(jù)送入本機sc0n中的rb8。這個第9位數(shù)據(jù)通常用作數(shù)據(jù)的奇偶檢驗位,或在多機通信中 作為地址/數(shù)據(jù)的特征位。方式2和方式3的波特率計算式如下:方式2的波特率=2smod/64xfosc方式3的波特率= 2sm0d/32x定吋器t1的溢出率由此町

7、見,在品振時鐘頻率一定的條件下,方式2只有兩種波特率,而方式3可通過編程設直成多種波特率,這止是這兩種方式的差別所在。3. 串行端口的控制寄存器 串行端口共有2個控制寄存器scon和pcon,用以設置串行端口的工作方式、接收/發(fā)送的 運行狀態(tài)、接收/發(fā)送數(shù)據(jù)的特征、波特率的大小,以及作為運行的中斷標志等。rxd寫 sbuf ntxd 發(fā)送數(shù)雷屆始vl和ctybocd3x d4 yds yoe yd7y 停止位t1vxd 接牧時特n_n_n_ri_rl_rl_rl_n_n_n_n_rxo 接收數(shù)據(jù)doy di¥d2yd3yd4yd5 yds y d?y 停止位圖b串行方式1發(fā)送接收時序銳方式i發(fā)送時序b方式1接收時序)rxd 發(fā)迭時伸5sbufntxd豐匹x百回衛(wèi)停止位txd 按枚時沖fljljuljljtrlrljljljljlr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論