單片機_3串口_第1頁
單片機_3串口_第2頁
單片機_3串口_第3頁
單片機_3串口_第4頁
單片機_3串口_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 簡單收發(fā),使用串口調試工具2. 使用數(shù)碼管顯示發(fā)送過來的數(shù)據3. 協(xié)議制定,效驗和,地址 單片機串行數(shù)據通信第一節(jié) 概 述一、串行通信基本原理計算機與外界的信息交換稱為通信?;镜耐ㄐ欧椒ㄓ胁⑿型ㄐ藕痛型ㄐ艃煞N。并行通信的特點是:各數(shù)據位同時傳送,傳送速度快、效率高。但并行數(shù)據傳送有多少數(shù)據位就需多少根數(shù)據線,因此傳送成本高。并行數(shù)據傳送的距離小于30米。并行通信依靠并行1/O接口實現(xiàn)。串行通信的特點是:數(shù)據傳送按位順序進行,最少只需一根傳輸線即可完成,成本低但速度慢。計算機與外界的數(shù)據傳送大多數(shù)是串行的,其傳送的距離可以從幾米到幾千公里。二、兩種串行通信方式串行通信根據通訊雙方是否采

2、用同一個時鐘,又分為異步通信和同步通信兩種方式。1、異步通信方式異步通信用起始位"0”表示字符的開始,然后從低位到高位逐位傳送數(shù)據,最后用停止位“1”表示字符結束,見圖。一個字符又稱一幀。圖中a,一幀信息包括1位起始位、8位數(shù)據位和1位停止位。圖b中,數(shù)據位增加到9位。在MCS-51計算機系統(tǒng)中,第九位數(shù)據D8可以用作奇偶校驗位,也可以用作地址/數(shù)據幀標志,D81表示該幀信息傳送的是地址,D8=0表示傳送的是數(shù)據。兩幀信息之間可以無間隔,也可以有間隔,且間隔時間可任意改變,間隔用空閑位1來填充。1)、波特率(Baud rate):每秒傳送的位數(shù)。每秒傳送一個格式位就是1波特。即: 1

3、波特=lbps(位秒)例如電傳打字機的傳送速率每秒10個字符,若每個字符為11位,則波特率為11位字符×10字符/s110位/s2)、幀(frame):從起始位開始到停止位結束的全部內容稱之為一幀,幀是一個字符的完整通信格式,因此也就把串行通信的字符格式稱之為幀格式。起始位:發(fā)送器是通過發(fā)送起始位而開始一個字符的傳送。起始位使數(shù)據線處于“space”狀態(tài)。數(shù)據位:起始位之后就傳送數(shù)據位。在數(shù)據位中,低位在前(左),高位在后(右)。數(shù)據位可以是5、6、7或8位。奇偶校驗位:用于對字符傳送作正確性檢查。共有3種可能,即奇校驗、偶校驗和無校驗。停止位:停止位在最后,用以標志一個字符傳送的結

4、束,它對應于mark狀態(tài)。停止位可能是1、1. 5或2位,在實際應用中根據需要確定。2、同步通信方式在同步通信中,數(shù)據中的每一位的傳送都是在同一個時鐘的控制下進行的。每一數(shù)據塊開頭時發(fā)送一個或兩個同步字符,使發(fā)送與接收雙方取得同步。數(shù)據塊的各個字符間取消了起始位和停止位,所以通信速度得以提高,見圖7一3。同步通信時,如果發(fā)送的數(shù)據塊之間有間隔時間,則發(fā)送同步字符填充。三、串行通信的數(shù)據通路形式串行數(shù)據通信共有以下幾種數(shù)據通路形式。1、單工(Simplex)形式單工形式的數(shù)據傳送是單向的。通信雙方中一方固定為發(fā)送端,另一方則固定為接收端。單工形式的串行通信,只需要一條數(shù)據線。如圖8.4所示。例如

5、計算機與打印機之間的串行通信就是單工形式,因為只能有計算機向打印機傳送數(shù)據,而不可能有相反方向的數(shù)據傳送。2、全雙工(Full-duplex)形式全雙工形式的數(shù)據傳送是雙向的,且可以同時發(fā)送和接收數(shù)據,因此全雙工形式的串行通信需要兩條數(shù)據線。如圖8. 5所示。3.半雙工(Half-duplex)形式半雙工形式的數(shù)據傳送也是雙向的。但任何時刻只能由其中的一方發(fā)送數(shù)據,另一方接收數(shù)據。因此半雙工形式既可以使用一條數(shù)據線,也可以使用兩條數(shù)據線。如圖86所示。MCS-51串行結構與工作原理串行口結構如上所述,MCS - 51串行1/O接口的基本工作是:發(fā)送時,將CPU送來的并行數(shù)據轉換成一定格式的串行

6、數(shù)據,從引腳TXD(P31)上按規(guī)定的波特率逐位輸出;接收時,要監(jiān)視引腳RXD(P3.0),一旦出現(xiàn)起始位“0”,就將外圍設備送來的一定格式的串行數(shù)據轉換成并行數(shù)據,等待CPU讀人。接收緩沖器是雙緩沖的,是為了避免在接收下一幀數(shù)據之前,CPU未能及時響應接收器的中斷,把上幀數(shù)據讀走,而產生兩幀數(shù)據重疊的問題而設置的雙緩沖結構。對于發(fā)送緩沖器,為了保持最大傳輸率,一般不需要雙緩沖,這是因為發(fā)送時CPU是主動的,不會產生寫重疊的問題。 第二節(jié) 串行接口控制與狀態(tài)寄存器1、串行口控制寄存器SCON功能說明如下:·SM0、SM1串行口工作方式選擇位其狀態(tài)組合所對應的工作方式為:·S

7、M2多機通信控制位SM2位主要用于方式2和方式3。當串行口方式2或方式3接收時,如SM2=1,則只有當接收到的第九位數(shù)據(RB8)為1,才將接收到的前8位數(shù)據送入SBUF,并置位RI產生中斷請求;否則,將接收到的前8位數(shù)據丟棄。而當SM2=0時,則不論第九位數(shù)據為0還是為1,都將前8位數(shù)據裝入SBUF中,并產生中斷請求。 ·REN允許接收位 REN=0 禁止接收 REN=1 允許接收該位由軟件置位或復位。·TB8發(fā)送數(shù)據位8在方式2和方式3時,TB8的內容是要發(fā)送的第9位數(shù)據,其值由用戶通過軟件設置。在雙機通信時,TB8一般作為奇偶校驗位使用;在多機通信中,常以TB8位的狀

8、態(tài)表示主機發(fā)送的是地址幀還是數(shù)據幀,且一般約定:TB8=0為數(shù)據幀 TB8=1為地址幀。·RB8接收數(shù)據位8在方式2或方式3時,RB8存放接收到的第9位數(shù)據,代表著接收數(shù)據的某種特征(與TB8的功能類似),故應根據其狀態(tài)對接收數(shù)據進行操作。·TI發(fā)送中斷標志當方式0時,發(fā)送完第8位數(shù)據后,該位由硬件置位。在其它方式下,于發(fā)送停止位之前,由硬件置位。因此TI=1,表示幀發(fā)送結束,其狀態(tài)既可供軟件查詢使用,也可請求中斷。TI位由軟件清“0”。·RI接收中斷標志當方式0時,接收完第8位數(shù)據后,該位由硬件置位。在其它方式下,當接收到停止位時,該位由硬件置位。因此RI=1,

9、表示幀接收結束。其狀態(tài)既可供軟件查詢使用,也可以請求中斷。RI位由軟件清“0”。2、電源控制寄存器PCONSMOD串行口波特率的倍增位當SMOD=1時,串行口波特率加倍。系統(tǒng)復位時,SMOD0。3、中斷允許寄存器IEES=0 禁止串行中斷 ES=1 允許串行中斷 一、 方式21、電路邏輯結構初始化時,8位計數(shù)初值同時裝入TL0和TH0中。當TL0計數(shù)溢出時,置位TF0,同時把保存在預置寄存器TH0中的計數(shù)初值自動加載TL0,然后TL0重新計數(shù)。串行口的工作方式MCS - 51單片機中的異步通信串行接口能方便地與其他計算機或傳送信息的外圍設備(如串行打印機、CPU終端等)實現(xiàn)雙機、多機通信。串行

10、口有4種工作方式,見表7一1。方式0并不用于通信,而是通過外接移位寄存器芯片實現(xiàn)擴展并行1/O接口的功能。該方式又稱為移位寄存器方式。方式1、方式2、方式3都是異步通信方式。方式1是8位異步通信接口。一幀信息由10位組成,其格式見圖7一2a。方式1用于雙機串行通信。方式2、方式3都是9位異步通信接口、一幀信息中包括9位數(shù)據,1位起始位,1位停止位,其格式見圖7一2b。方式2、方式3的區(qū)別在于波特率不同,方式2、方式3主要用于多機通信,也可用于雙機通信。一、串行接口的工作方式0SM00、SM10串行口工作于方式0, 即串行寄存器方式或稱為同步移位寄存器輸入輸出方式。CPU執(zhí)行一條寫SBUF的指令

11、如MOV SBUF ,A就啟動了發(fā)送過程。發(fā)送的時序見圖7-1。接收時序見圖7-2 圖7-1 方式0發(fā)送時序圖7-2 方式0接收時序串行口方式0不適用于兩個8051之間的數(shù)據通信,但可通過外接移位寄存器來擴展單片機的接口。例如,可以采用74LS164可以擴展并行輸出口,74LS165可以擴展輸入口。二、串行口工作方式1SM00,SM11串行口接口工作于方式1,即將8位異步通信接口方式,RXD為接收端,TXD為發(fā)送端。一幀信息由10位組成,方式1的波特率可變,由定時器計數(shù)器1或定時器計數(shù)器2的溢出速率以及SMOD(PCON.7)決定。1.發(fā)送CPU執(zhí)行一條寫SBUF指令后便啟動了串行口發(fā)送,數(shù)據

12、從TXD輸出,時序見圖7-8a。在指令執(zhí)行期間,CPU送來“寫SBUF”信號,將并行數(shù)據送入SBUF,并啟動發(fā)送控制器,經一個機器周期,發(fā)送控制器的SEND、DATA相繼有效,通過輸出控制門從TXD上逐位輸出一幀信號。一幀信號發(fā)送完畢后,SEND、DATA失效,發(fā)送控制器硬件置發(fā)送中斷標志TI1,向CPU申請中斷。2.接收方式1的接收時序見圖7-8b。允許接收位REN被置1接收器就開始工作,跳變檢測器以波特率16倍的速率采樣RXD引腳上電平,當采樣到從1到0的負跳變時,啟動接收控制器接收數(shù)據,由于發(fā)送、接收雙方各自使用自己的時鐘,兩者的頻率總有少許差異。為了避免這種影響,控制器將1位送時間等分

13、成16分、位檢測器在7、8、9三個狀態(tài)也就是在位信號中央采樣RXD三次。 而且,三次采樣中至少兩次相同的值被確認為數(shù)據,這是為了減小干擾的影響。如果起始位接收到的值不是0,由起始位無效,復位接收電路。如果起始位為0,則開始開始接收本幀其他數(shù)據??刂破靼l(fā)出的內部移位脈沖將RXD上的數(shù)據逐位移入移位寄存器,當8位數(shù)據及停止位全移入后:(1)如果RI0、SM20,接收控制器發(fā)出“裝載SBUF”信號,將8位數(shù)據裝入接收數(shù)據緩沖器SBUF,停止裝入RB8,并置RI1,向CPU申請中斷。(2)如果RI0、SM21,那么只有停止位為1時才發(fā)生上述動作。(3)如果RI0、SM21且停止位為0,(通常由傳輸過程

14、中的干擾所致)所接收的數(shù)據應會丟失,不再恢復。(4)如果RI1,則所接收的數(shù)據在任何情況下都會丟失。無論出現(xiàn)哪一種情況,跳變檢測器將繼續(xù)采樣RXD引腳的負跳變,以便接收下一幀信息。接收器采用移位寄存器和SBUF雙緩沖結構,以避免在接收后一幀數(shù)據之前,CPU尚未及時響應中斷將前一幀數(shù)據取走,造成兩幀數(shù)據重疊問題。采用雙緩沖器后,前、后兩幀數(shù)據進入SBUF的時間間隔至少有10個位傳送周期。在后一幀數(shù)據送入SBUF之前,CPU有足夠的時間將前一幀數(shù)據取走。三、串行接口工作方式2和與方式3串行口工作在方式2、方式3時,為9位異步通信接口。發(fā)送或接收的一幀信息由11位組成,見圖7-2b。方式2與方式3僅

15、波特率不同,方式2的波特率為fosc/32(SMOD1時)或fosc/64(SMOD0時),而方式3的波特率由定時器計數(shù)器具或定時器計數(shù)器2及SMOD決定。1.發(fā)送方式2、方式3發(fā)送時,數(shù)據從TXD引腳輸出,附加的第九位數(shù)據由SCON中的TB8提供。CPU執(zhí)行一條寫入SBUF的指令后立即啟動發(fā)送器發(fā)送。發(fā)送完一幀信息后由硬件置TI=1。2.接收與方式1相似,REN置1后,跳變檢測器不斷對RXD引腳采樣。當采樣到負跳變后就啟動接收控制器。位檢測器對每位數(shù)據采集3個值,用采3取2辦法確定每位的數(shù)值。當?shù)诰盼粩?shù)據移入移位寄存器后,將8位數(shù)據裝入SBUF,第九位數(shù)據裝入RB8,并置RI=1,其時序見圖2-26b。與方式1相同,方式2、方式3中也設置有數(shù)據辨別功能,即當RI1或SM21且第九位數(shù)據為0時所接收的一幀信息被丟失。四、波特率的設計 方式1的波特率是可變的,以定時器T1

溫馨提示

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

評論

0/150

提交評論