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

下載本文檔

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

文檔簡介

1、第七章 MCS-51單片機串行接口第一節(jié)串行通信的基本概念(一)學習要求1. 掌握串行通信的基本概念。2. 掌握異步通信和同步通信的區(qū)別。(二)內容提要一:基本概念及分類串行通信是將數據的各位一位一位地依次傳送。適合于計算機之間、 計算機與外部設備之間的遠距離通信。串行通信從傳輸方式分為:單工方式、半雙工方式、全雙工方式。從接收方式來說,串行通信有兩種方式:異步通信方式、同步通信方式。二:串行口的功能MCS 51單片機中的異步通信串行接口能方便地與其他計算機或傳送信息的外圍設備(如串行打印機、 CPU終端等)實現雙機、多機通信。串行口有4種工作方式,見表 7 1。方式0并不用于通信,而是通過外

2、接移位寄存器 芯片實現擴展并行I/O接口的功能。該方式又稱為移位寄存器方式。方式 1、方式2、方 式3都是異步通信方式。方式 1是8位異步通信接口。一幀信息由10位組成,其格式見圖7 2a。方式1用于雙機串行通信。方式 2、方式3都是9位異步通信接口、一幀信息中包 括9位數據,1位起始位,1位停止位,其格式見圖7 2b。方式2、方式3的區(qū)別在于波 特率不同,方式2、方式3主要用于多機通信,也可用于雙機通信。表7-1SM0SM1工位 式功能波特率00方式0移位寄存器方式fosc/1201方式08位通用異步接收器/發(fā)送器可變10方式09位通用異步接收器/發(fā)送器fosc/32 或 fosc/6411

3、方式09位通用異步接收器/發(fā)送器可變(三)習題與思考題1、什么是并行通信?什么是串行通信?各有何優(yōu)缺點?答:并行通信指數據的各位同時傳輸的通信方式,串行通信是指各位數據逐位順序傳輸的通信方式。2、什么是異步通信?什么是同步通信?各有何優(yōu)缺點?3、 什么是波特率?某異步串行通信接口每分鐘傳送1800個字符,每個字符由11位組成, 請計算出傳送波特率。第二節(jié)MCS-51串行接口的組成(一)學習要求(1) 了解申行接口的結構。了解申行接口的控制與狀態(tài)寄存器工作原理。(二) 內容提要一:串行接口的結構串行接口主要由發(fā)送數據緩沖器、發(fā)送控制器、輸出控制門、接收數據緩沖器、接收控制器、輸入移位寄存器、波特

4、率發(fā)生器T1等組成。串行口中還有兩個特殊功能寄存器 SCON、PCON,特殊功能寄存器 SCON用來存放串 行口的控制和狀態(tài)信息。定時器/計數器 1(T1)與定時器/計數器 2(T2)都可構成串行口的 波特率發(fā)生器,其波特率是否增倍可由特殊功能寄存器PCON的最高位控制。二:串行接口控制與狀態(tài)寄存器MCS - 51串行口的工作方式選擇、中斷標志、可編程位的設置、波特率的增倍均是通 過兩個特殊功能寄存器 SCON和PCON來控制的。1 .電源和波特率控制寄存器 PCON電源控制寄存器 PCON的格式如下:D7 D 6 D5D4D3D 2 D 1D0SMOD一一一GF1GF0PDIDL電源和波特率

5、控制寄存器 PCON,其地址為87H,只能進行字節(jié)尋址,不能按位尋址。PCON的最高位D7位作SMOD,是串行口波特率的增倍控制位。當 SMOD = 1時,波特率 加倍。例如在工作方式 2下,若SMOD = 0時,則波特率為 f°sc/64;當SMOD = 1時,則 波特率為 f°sc/ 32,恰好增大一倍。系統復位時,SMOD位為0。串行口控制寄存器 SCON解SCON各位的含義如下:SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI98H9FH9EH9DH9CH9BH9AH99H98H(1) 串行口控制方式選擇位 SM0、SM1 ,其S

6、M0、SM1由軟件置位或清零,用于選 擇串行口的4種工作方式。(2) 多機通信控制位 SM2和接收中斷標志位 RI SM2 = 1時,如果接收到的一幀信息 中的第九位數據為1,且原有的接收中斷標志位 RI = 0,則硬件將RI置1;如果第九位數據 為0,則RI不置1 ,且所接收的數據無效。SM2 = 0時,只要接收到一幀信息,不管第九位數據是0還是1,硬件都置 RI = 0, RI由軟件清零。SM2由軟件置位或清零。多機通信時,SM2必須置1,雙機通信時,通常使 SM2 = 0。方式0時SM2必須為0。(3) 發(fā)送中斷標志位 TI 在方式0中,發(fā)送完8位數據后,由硬件置位;在其它方 式中,在發(fā)

7、送停止位之初,由硬件使 TI = 1。TI置位后可向CPU申請中斷,任何方式中 TI 位都必須由軟件清除。(4 )接收中斷標志 RI 在方式0中,接收完8位數據后,由硬件置位;在其它方式 中,在接收停止位的一半時由硬件將RI置位(還應考慮SM2的設定)。RI被置位后可允許CPU申請中斷,任何方式中 TI位都必須由軟件來清除。串行發(fā)送中斷標志 TI和接收中斷標志 RI共用一個中斷源,CPU并不知道是TI還是RI 產生的中斷請求,所以在全雙工通信時,必須由軟件來斷別。(5) 允許接收控制位 RENREN = 1時允許接收,REN = 0時禁止接收。REN由軟 件置位或清零。(6) 發(fā)送數據D8位T

8、B8 TB8是方式2、方式3中要發(fā)送的第九位數據,事先用軟 件寫入1或0。方式0、方式1不用。(7) 接收數據 D8位RB8 方式2、方式3中,由硬件將接收到的第九位數據存入 RB8。方式1中,停止位存入 RB8。復位后SCON的所有位清零。(三) 習題與思考題1、MCS-51單片機的串行口由哪些功能部件組成?各有什么作用。2、特殊功能寄存器 SCON和PCON勺作用和工作過程是什么?第三節(jié)串行口的工作方式(一) 學習要求(1) 了解串行接口的工作方式。(2) 掌握波特率的計算。(二) 內容提要一、串行接口的工作方式 0SM0 = 0、SM1 = 0串行口工作于方式 0,即串行寄存器方式或稱為

9、同步移位寄存器輸入 /輸出方式。CPU執(zhí)行一條寫SBUF的指令如MOV SBUF , A就啟動了發(fā)送過程。發(fā)送 的時序見圖7-1。接收時序見圖 7-2TfiSCON中的RI位RRECEIVESHIFTRXDfDfiTA IN)1|I|1|I|f圖7-1方式0發(fā)送時序pq S TkSBUFSENDSHIFT RXD (DATA OUT)n ri n ri ri ri ii iX 乂 X X X XXTXD (SHIFT CUDCK)11IT LILITI圖7-2 方式0接收時序串行口方式0不適用于兩個8051之間的數據通信,但可通過外接移位寄存器來擴展單 片機的接口。例如,可以采用 74LS16

10、4可以擴展并行輸出口,74LS165可以擴展輸入口。二、串行口工作方式 1SM0 = 0, SM1 = 1串行口接口工作于方式 1,即將8位異步通信接口方式,結構示意圖 見圖7-7。RXD為接收端,TXD為發(fā)送端。一幀信息由 10位組成,方式1的波特率可變, 由定時器/計數器 1或定時器/計數器 2的溢出速率以及 SMOD (PCON.7)決定,且發(fā)送 波特率與接收波特率可以不同。1. 發(fā)送CPU執(zhí)行一條寫SBUF指令后便啟動了串行口發(fā)送,數據從TXD輸出,時序見圖7-8a。在指令執(zhí)行期間,CPU送來 寫SBUF信號,將并行數據送入 SBUF,并啟動發(fā)送控制器,經一個機器周期,發(fā)送控制器的SE

11、ND、DATA相繼有效,通過輸出控制門從TXD上逐位輸出一幀信號。一幀信號發(fā)送完畢后,SEND、DATA失效,發(fā)送控制器硬件置發(fā)送中斷標志TI = 1,向CPU申請中斷。2. 接收方式1的接收時序見圖7-8b。允許接收位 REN被置1接收器就開始工作,跳變檢測器 以波特率16倍的速率采樣 RXD弓I腳上電平,當采樣到從1到0的負跳變時,啟動接收控制器接收數據,由于發(fā)送、接收雙方各自使用自己的時鐘,兩者的頻率總有少許差異。為了避免這種影響,控制器將 1位送時間等分成16分、位檢測器在 7、8、9三個狀態(tài)也就是在 位信號中央采樣 RXD三次。而且,三次采樣中至少兩次相同的值被確認為數據,這是為 了

12、減小干擾的影響。如果起始位接收到的值不是0,由起始位無效,復位接收電路。如果起始位為0,則開始開始接收本幀其他數據??刂破靼l(fā)出的內部移位脈沖將RXD上的數據逐位移入移位寄存器,當 8位數據及停止位全移入后:(1) 如果RI = 0、SM2 = 0,接收控制器發(fā)出 裝載SBUF信號,將8位數據裝入接收 數據緩沖器SBUF,停止裝入RB8,并置RI = 1,向CPU申請中斷。(2) 如果RI = 0、SM2 = 1,那么只有停止位為 1時才發(fā)生上述動作。(3) 如果RI = 0、SM2 = 1且停止位為0,(通常由傳輸過程中的干擾所致)所接收的 數據應會丟失,不再恢復。(4) 如果RI = 1,則

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

14、= 1 時)或fosc/64 (SMOD = 0時),而方式3的波特率由定時器/計數器具或定時器/計數器2及SMOD決定。1 .發(fā)送方式2、方式3發(fā)送時,數據從 TXD引腳輸出,附加的第九位數據由SCON中的TB8提供。CPU執(zhí)行一條寫入 SBUF的指令后立即啟動發(fā)送器發(fā)送。發(fā)送完一幀信息后由硬件 置 TI=1。2. 接收與方式1相似,REN置1后,跳變檢測器不斷對 RXD引腳采樣。當采樣到負跳變后就 啟動接收控制器。位檢測器對每位數據采集 3個值,用采3取2辦法確定每位的數值。 當第 九位數據移入移位寄存器后,將8位數據裝入SBUF,第九位數據裝入 RB8,并置RI=1 ,其時序見圖2-26

15、b。與方式1相同,方式2、方式3中也設置有數據辨別功能,即當RI = 1或SM2 = 1且第九位數據為0時所接收的一幀信息被丟失。四、各方式波特率的設計在串行通信中,收發(fā)雙方對發(fā)送或接收的數據速率(即波特率)要有一定的約定??赏?過對串行口編程設定。各種工作方式下其波特率的設置均有所不同,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可變的,由定時器 T1的溢出率確定。(1) 方式0的波特率方式。時,其波特率固定為振蕩頻率的1/12,并不受PCON中SMOD位的影響。因而,方式 0的波特率=fosc/12o(2) 方式2的波特率 方式2的波特率由系統的振蕩頻率 fosc和PCON

16、的最高位 SMOD 確定,即為 2 SMOD Xfosc/64。在 SMOD=0 時,波特率=fosc/64;在 SMOD= 1 時,波特 率=fosc/32。(3) 方式1、3的波特率MCS-51串行口方式1、3的波特率由定時器 T1的溢出率和SMOD的值共同確定,即方式1、3的波特率=(2 SMOD/ 32) X定時器T1的溢出率。其中定時器溢出率取決于計數速率和定時器的預置值。計數速率與TMOD寄存器中C/T的設置有關。當C/T = 0時,為定時方式,計數速率 =fosc/12;當C/T= 1時,為計數方 式,計數速率取決于外部輸入時鐘的頻率,但不能超過fosc/24 o定時器的預置值等

17、于 M - X, X為計數初值,M為定時器的最大計數, 與操作模式有關。 (可取213、216、28)。如果為了到達很低的波特率,則可以選擇16位的操作模式,即模式1 ,或模式0 ,可以利用 T1中斷來實現重裝計數值。為能實現定時器計數初值重裝,則通常選擇操作模式2。在模式2中,TL1作計數用,TH1用于保存計數初值, 當TL1計滿溢出時,TH1的值自動裝到TL1中。因此一般選用T1 工作于模式2作波特率發(fā)生器。設 T1的計數初值為 X,設置C/T=0時,那么每過256- X 個機器周期,定時器 T1就會產生一次溢出。則T1的溢出周期為:溢出周期=12/foscX (256 X)溢出率為溢出周

18、期之倒數,所以波特率=SMOD 2f oscX3212 (256 -X)2SMOD fosc384 (256 X)定時器T1模式2的計數初值由上式可得:SMODX =256 °384波特率(4)在8032/8052單片機中,工作方式1、工作方式3的波特率取決于定時器/計數器1、定時器/計數器2決定。由T2CON中的TCLK、RCLK選擇。發(fā)送器的波特率由 TCLK 選擇,TCLK = 1時,由定時器/計數器 2決定,TCLK = 0時,由定時器/計數器 1決定。 接收器的波特率由 RCLK選擇,RCLK = 1時,由定時器/計數器 2決定,RCLK = 0時,由 定時器/計數器1決定。定時器/計數器1構成波特率發(fā)生器的波特率計算與8031 / 8051/8751相同。定時器/計數器 2構成波特率發(fā)生器的波特率與SMOD無關。由于定時器狀態(tài)時(C/T2 = 0),加法計數器對時鐘脈沖 (fosc/2)計數,所以波特率

溫馨提示

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

評論

0/150

提交評論