單片機串行口課件_第1頁
單片機串行口課件_第2頁
單片機串行口課件_第3頁
單片機串行口課件_第4頁
單片機串行口課件_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第六章第六章 MCS-51MCS-51的串行口的串行口通信系統的性能指標通信系統的性能指標throughput與與latencythroughput與與latency串口與并口串口與并口串口與并口串口與并口串口與并口串口與并口串口與并口串口與并口兩個單片機之間的通信 通信協議:數據格式、校驗方式 波特率 硬件連接8051應 用 系 統( 甲 )TXDRXDGND8051應 用 系 統( 乙 )TXDRXDGNDThink out of the box異步通信與同步通信異步通信與同步通信異步通信方式異步通信方式01停停止止位位起起始始位位低位低位高位高位7位數據位位數據位奇偶奇偶校驗校驗停停止止

2、位位第第N個字符個字符第第N-1個字符個字符同步通信方式同步通信方式(Synchronous Data Communication)串行通信的波特率 波特率(波特率(band rate)是異步通信中每秒鐘傳送的二進制)是異步通信中每秒鐘傳送的二進制數碼的位數(比特數),單位是位數碼的位數(比特數),單位是位/秒。秒。作用:作用:1、反映串行通信的速率;、反映串行通信的速率; 2、反映對傳輸通道的要求:波特率越高,要求的傳輸、反映對傳輸通道的要求:波特率越高,要求的傳輸 通道的頻帶寬度就越寬。通道的頻帶寬度就越寬。 異步通信:波特率為每秒傳送的字符數和每個字符位數異步通信:波特率為每秒傳送的字符

3、數和每個字符位數的乘積。的乘積。6.2 MCS-516.2 MCS-51串行口的結構串行口的結構 MCS-51有一個可編程的有一個可編程的全雙工串行通信接全雙工串行通信接口口,可作為通用異步收發器,可作為通用異步收發器(UART),也可作,也可作為同步移位寄存器。它的幀格式有為同步移位寄存器。它的幀格式有8位、位、10位和位和11位,可以設置為固定波特率和可變波特率,位,可以設置為固定波特率和可變波特率,給使用者帶來很大的靈活性。給使用者帶來很大的靈活性。串行口內部結構示意簡圖串行口內部結構示意簡圖串行口控制寄存器串行口控制寄存器SCON(1)SCON(98H)(2)PCON(87H) 電源控

4、制寄存器電源控制寄存器PCON中只有中只有SMOD位與串行口工作位與串行口工作有關,如下圖所示。有關,如下圖所示。電源控制寄存器電源控制寄存器PCON6.3 6.3 串行口的串行口的 4 4 種工作方式種工作方式 方式的選擇由方式的選擇由SM0 、 SM1實現。實現。 四種方式的比較:四種方式的比較:1.1.串行口方式串行口方式0 0 同步移位寄存器方式同步移位寄存器方式 方式方式0以以8位數據為一幀,不設起始位和停止位,位數據為一幀,不設起始位和停止位,先發送或接收最低位。其先發送或接收最低位。其幀格式幀格式如下:如下: 串行數據通過串行數據通過RXD輸入或輸出,而輸入或輸出,而TXD用于輸

5、出用于輸出移位時鐘,作為外接部件的同步信號。移位時鐘,作為外接部件的同步信號。 這種方式這種方式不適用不適用于兩個于兩個8051之間的串行通信,但之間的串行通信,但可以通過外接移位寄存器來實現單片機的可以通過外接移位寄存器來實現單片機的I/O接口接口擴展。擴展。1.1.串行口方式串行口方式0 0 同步移位寄存器方式同步移位寄存器方式2.2.串行口方式串行口方式1 1 10 10位位UARTUART方式方式1以以10位為一幀傳輸,設有位為一幀傳輸,設有1個起始位(個起始位(0),),8個數個數據位和據位和1個停止位(個停止位(1)。其)。其幀格式幀格式為:為: 方式方式1真正用于串行發送或接收,

6、為真正用于串行發送或接收,為10位通用異步接口。位通用異步接口。TXD(P3.1)引腳發送數據,)引腳發送數據,RXD(P3.0)引腳接收數據。)引腳接收數據。 數據傳輸波特率由數據傳輸波特率由T1的溢出率決定,可用的溢出率決定,可用程序設定程序設定。 在接收時,停止位進入在接收時,停止位進入SCON的的RB8。 串行口方式串行口方式1的發送和接收的發送和接收時序時序如圖如圖(a)和()和(b)所示。所示。方式方式 1 1 發送和接收時序發送和接收時序n只有當只有當REN=1時,才能對時,才能對RXD進行檢測進行檢測。RI=0。即上一幀數據接收完成時,。即上一幀數據接收完成時,RI=1發出的中

7、斷請求發出的中斷請求已被響應,已被響應,SBUF中數據已被取走。由軟件使中數據已被取走。由軟件使RI=0,以便,以便提供提供“接收接收SBUF已空已空”的信息。的信息。SM2=0或收到的停止位為或收到的停止位為1(方式(方式1時,停止位進入時,停止位進入RB8)。)。 滿足上述兩個條件,將接收到的數據裝入串行口的滿足上述兩個條件,將接收到的數據裝入串行口的SBUF和和RB8(RB8裝入停止位),并置位裝入停止位),并置位RI,通知,通知CPU取數據;如果不滿足,接收到的數據不能裝入取數據;如果不滿足,接收到的數據不能裝入SBUF,這,這意味著該幀信息將會丟失。意味著該幀信息將會丟失。接收有效的

8、兩個條件:接收有效的兩個條件:兩個單片機之間的通信 通信協議:數據格式、校驗方式 波特率 硬件連接8051應 用 系 統( 甲 )TXDRXDGND8051應 用 系 統( 乙 )TXDRXDGND2. 串行口方式串行口方式1的應用的應用例例:通過通過MCS-51串行口串行口發送發送帶存放在片內帶存放在片內RAM 20H3FH中的數據,要求傳送的波中的數據,要求傳送的波特率為特率為1200bps。編寫有關的通信程序。編寫有關的通信程序。 fosc=11.0592MHz。 分析分析:取取SMOD0 (TH1)2320E8H 設設串行口為方式串行口為方式1,定時器,定時器/計數器計數器T1為方式為

9、方式2作為串作為串行口的波特率發生器??梢员苊庥嫈狄绯龊笥密浖匮b定行口的波特率發生器??梢员苊庥嫈狄绯龊笥密浖匮b定時初值的工作。時初值的工作。3.3.串行口方式串行口方式2 2和和3 3 11 11位位UARTUART 方式方式2和方式和方式3以以11位位為為1幀傳輸,設有幀傳輸,設有1個起始位個起始位(0),8個數個數據位,據位,1個附加第個附加第9位和位和1個停止位個停止位(1)。其。其幀格式幀格式為:為: 附加附加第第9位位(D8)由軟件置)由軟件置1或清或清0。發送時在。發送時在TB8中,接收中,接收時送時送RB8中。中。 方式方式2的波特率是固定的,為振蕩器頻率的的波特率是固定的

10、,為振蕩器頻率的1/32或或1/64。 方式方式3的波特率則由的波特率則由T1的溢出率決定,可用程序設定。的溢出率決定,可用程序設定。 方式方式2和方式和方式3的發送、接收的發送、接收時序時序如圖如圖所示。其操作與方式所示。其操作與方式1類似。類似。方式方式2 2、方式、方式3 3發送和接收時序發送和接收時序n只有當只有當REN=1時,才能對時,才能對RXD進行檢測進行檢測。 發送前,先根據通信協議由軟件設置發送前,先根據通信協議由軟件設置TB8(如作奇偶校驗(如作奇偶校驗位或地址位或地址/數據標志位),數據標志位), 然后將要發送的數據寫入然后將要發送的數據寫入SBUF,即可啟動發送過程。,

11、即可啟動發送過程。 串行口能自動把串行口能自動把TB8取出,并裝入到第取出,并裝入到第9位數據位的位置,位數據位的位置,再逐一發送出去。再逐一發送出去。發送完畢,使發送完畢,使TI=1。發送過程發送過程 接收時,使接收時,使SCON中的中的REN=1,允許接收。,允許接收。 當檢測到當檢測到RXD(P3.0)端有端有10的跳變(起始位)時,開始的跳變(起始位)時,開始接收接收9位數據,送入移位寄存器(位數據,送入移位寄存器(9位)。位)。 當當滿足滿足RI=0且且SM2=0,或接收到的第,或接收到的第9位數據為位數據為1時時,前,前8位數據送入位數據送入SBUF,附加的第,附加的第9位數據送入

12、位數據送入SCON中的中的RB8,置置RI為為1;否則,這次接收無效,也不置位;否則,這次接收無效,也不置位RI。接收過程接收過程4.4.波特率的設定波特率的設定 在串行通信中,要求收發雙方接收和發送數據的波特率必在串行通信中,要求收發雙方接收和發送數據的波特率必須一致。通過軟件對須一致。通過軟件對MCS-51串行口編程可約定串行口編程可約定四種工作四種工作方式方式。其中,方式。其中,方式0和方式和方式2的波特率是固定的;而方式的波特率是固定的;而方式1和方式和方式3的波特率是可變的,由定時器的波特率是可變的,由定時器T1的溢出率的溢出率來決定來決定(T1每秒溢出的次數每秒溢出的次數)。 串行

13、口的四種工作方式對應著串行口的四種工作方式對應著三種波特率三種波特率。由于輸入的移。由于輸入的移位時鐘來源不同,因此,各種方式的波特率計算公式也不位時鐘來源不同,因此,各種方式的波特率計算公式也不同。同。(1)方式)方式 0 的波特率的波特率 由下圖可見,方式由下圖可見,方式0時,每個機器周期產生一個移位時鐘,時,每個機器周期產生一個移位時鐘,發送或接收一位數據。因此,發送或接收一位數據。因此,波特率固定為振蕩頻率的波特率固定為振蕩頻率的1/12,并不受,并不受PCON寄存器中寄存器中SMOD位的影響。位的影響。串行口方式串行口方式 0 0 波特率的產生波特率的產生(2)方式)方式 2 的波特

14、率的波特率 方式方式2波特率取決于波特率取決于PCON中中SMOD位的值:位的值: SMOD=0時,波特率為時,波特率為fosc的的1/64; SMOD=1時,波特率為時,波特率為fosc的的1/32。 即即: 方式方式2波特率波特率 (2SMOD/64)fosc fosc=12MHz, SMOD=0,187.5kbps SMOD=1,375kbps(3)方式)方式1和方式和方式3的波特率的波特率方式方式1和方式和方式3的移位時鐘脈沖由定時器的移位時鐘脈沖由定時器T1產生,產生,如圖如圖所示。所示。因此,因此,MCS-51串行口方式串行口方式1和方式和方式3的波特率由的波特率由定時器定時器T1

15、的溢出率的溢出率與與SMOD值值共同決定。共同決定。即即 方式方式1、方式、方式3波特率波特率 (2SMOD/32)T1溢出率溢出率串行口方式串行口方式1 1、方式、方式3 3波特率的產生波特率的產生 其中,其中,T1溢出速率溢出速率取決于取決于T1的計數速率(計數速率的計數速率(計數速率 fosc/12)和)和T1預置的初值。預置的初值。其中,其中,k 為定時器為定時器T1的位數的位數 定時器方式定時器方式0,k=13; 定時器方式定時器方式1,k=16; 定時器方式定時器方式2,k=8。 例:例:若定時器若定時器T1工作于方式工作于方式1,采用,采用11.059MHz的晶振,的晶振,要求利

16、用定時器要求利用定時器1產生產生1200bps的波特率,則的波特率,則 令令SMOD=0,可算得初值為,可算得初值為 那么,那么,TH1的初值為的初值為0FFH,TL1的初值為的初值為0E8H。 由于由于T1方式方式2是定時器自動重裝載的操作模式,當定時器是定時器自動重裝載的操作模式,當定時器T1工作在方式工作在方式2時,可直接用作串行口的波特率發生器。時,可直接用作串行口的波特率發生器。 與上例相同,算得初值和重裝載值為:與上例相同,算得初值和重裝載值為: FFH FFH FDH FDH FDH FDH FAH FAH F4H F4H E8H E8H 1DH 1DH 72H 72H FEEB

17、H FEEBH 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 1211.0592 11.0592 11.059211.059211.059211.059211.059211.059211.059211.059211.0592 11.0592 6 6 12 12方式方式1 1、3 3: 62.5 KHz62.5 KHz 19.2 KHz 19.2 KHz 9.6 KHz 9.6 KHz 4.8 KHz 4.8 KHz 2.

18、4 KHz 2.4 KHz 1.2 KHz 1.2 KHz 137.5Hz 137.5Hz 110 Hz 110 Hz 110 Hz 110 Hz X XX X X X1 11212方式方式2 2最大值:最大值:375KHz375KHzX XX X X XX X1212方式方式0 0最大值:最大值:1MHz1MHz重置裝入值重置裝入值方式方式C/TC/T定定 時時 器器 1 1SMODSMODf(MHz)f(MHz)波特率波特率串行口方式串行口方式1、方式、方式3常用波特率及其初值常用波特率及其初值1 180518051單片機片內有一個單片機片內有一個全雙工的異步串行口全雙工的異步串行口(UART)(UART)。2 2MCS-51MCS-51串行口可設置為串行口可設置為4 4種工作方式種工作方式,由特殊功能寄存器,由特殊功能寄存器SCONSCON的的SM0SM0、SM1SM1位定義。位定義。3 3串行口串行

溫馨提示

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

評論

0/150

提交評論