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

下載本文檔

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

文檔簡介

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

2、接移位寄存器 芯片實現(xiàn)擴(kuò)展并行I/O接口的功能。該方式又稱為移位寄存器方式。方式1、方式2、方式3都是異步通信方式。方式 1是8位異步通信接口。一幀信息由10位組成,其格式見圖 7 2a。方式1用于雙機(jī)串行通信。方式 2、方式3都是9位異步通信接口、一幀信息中包括 9位數(shù)據(jù),1位起始位,1位停止位,其格式見圖7 2b。方式2、方式3的區(qū)別在于波特率 不同,方式2、方式3主要用于多機(jī)通信,也可用于雙機(jī)通信。(三)習(xí)題與思考題1、什么是并行通信什么是串行通信各有何優(yōu)缺點 答:并行通信指數(shù)據(jù)的各位同時傳輸?shù)耐ㄐ欧绞剑?信方式。2、什么是異步通信什么是同步通信各有何優(yōu)缺點 3、什么是波特率某異步串行通

3、信接口每分鐘傳送 計算出傳送波特率。串行通信是指各位數(shù)據(jù)逐位順序傳輸?shù)耐?800個字符,每個字符由11位組成,請表7-1SM0SM1工叱 式功能波特率00方式0移位寄存器方式f osc/1201方式08位通用異步接收器/發(fā)送器可受10方式09位通用異步接收器/發(fā)送器f osc/32 或 f osc/6411方式09位通用異步接收器/發(fā)送器可受第二節(jié)MCS-51串行接口的組成(一)學(xué)習(xí)要求(1) 了解串行接口的結(jié)構(gòu)。(2) 了解串行接口的控制與狀態(tài)寄存器工作原理。(二)內(nèi)容提要一:串行接口的結(jié)構(gòu)串行接口主要由發(fā)送數(shù)據(jù)緩沖器、發(fā)送控制器、輸出控制門、接收數(shù)據(jù)緩沖器、接收控制器、輸入移位寄存器、波特

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

5、L電源和波特率控制寄存器 PCON其地址為87H,只能進(jìn)行字節(jié)尋址,不能按位尋址。PCON 的最高位D7位彳SMOD是串行口波特率的增倍控制位。當(dāng) SMOD1時,波特率加倍。例如 在工作方式2下,若SMOD0時,則波特率為fosc/64;當(dāng)SMOD1時,則波特率為fosc/32,恰好增大一倍。系統(tǒng)復(fù)位時,SMODfc為0。串行口控制寄存器 SCON解SCOf#位的含義如下:SCOND7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI98H9FH9EH9DH9CH9BH9AH99H98H(1)串行口控制方式選擇位 SM0 SM1,其SM0 SM1由軟件置位或清零,用于選擇

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

7、PU申請中斷,任何方式中 TI位都必須由軟件清除。(4 ) 接收中斷標(biāo)志 RI 在方式0中,接收完8位數(shù)據(jù)后,由硬件置位;在其它方 式中,在接收停止位的一半時由硬件將RI置位(還應(yīng)考慮SM2的設(shè)定)。RI被置位后可允許CPU申請中斷,任何方式中 TI位都必須由軟件來清除。串行發(fā)送中斷標(biāo)志 TI和接收中斷標(biāo)志 RI共用一個中斷源,CPU并不知道是TI還是RI 產(chǎn)生的中斷請求,所以在全雙工通信時,必須由軟件來斷別。(5)允許接收控制位 REN REN =1時允許接收,RENk 0時禁止接收。REN由軟件置 位或清零。(6)發(fā)送數(shù)據(jù)6位TB8 TB8是方式2、方式3中要發(fā)送的第九位數(shù)據(jù), 事先用軟件

8、 寫入1或0。方式0、方式1不用。(7)接收數(shù)據(jù)6位RB方式2、方式3中,由硬件將接收到的第九位數(shù)據(jù)存入RB 。方式1中,停止位存入 RB8。復(fù)位后SCON勺所有位清零。(三)習(xí)題與思考題1、MCS-51單片機(jī)的串行口由哪些功能部件組成各有什么作用。2、特殊功能寄存器 SCON和PCON勺作用和工作過程是什么第三節(jié)串行口的工作方式(一)學(xué)習(xí)要求(1) 了解串行接口的工作方式。(2)掌握波特率的計算。(二)內(nèi)容提要一、串行接口的工作方式 0SM0= 0、SM1= 0串行口工作于方式 0,即串行寄存器方式或稱為同步移位寄存器輸入 /輸出方式。CPU執(zhí)行一條寫SBUF的指令如MOV SBUF , A

9、就啟動了發(fā)送過程。發(fā)送的時 序見圖7-1。接收時序見圖 7-2清3小高中的ki gKIRFCFT/ESHIFTr,:D(D&T氏 IN*I I 1, II ( I 口 : Ir-LTX_n_n_n_TTTTJ圖7-1 方式0發(fā)送時序圖7-2 方式0接收時序串行口方式0不適用于兩個8051之間的數(shù)據(jù)通信,但可通過外接移位寄存器來擴(kuò)展單 片機(jī)的接口。例如,可以采用74LS164可以擴(kuò)展并行輸出口,74LS165可以擴(kuò)展輸入口。二、串行口工作方式 1SM0= 0, SM仁1串行口接口工作于方式 1,即將8位異步通信接口方式, 結(jié)構(gòu)示意圖見 圖7-7。RXD為接收端,TXD為發(fā)送端。一幀信息由

10、 10位組成,方式1的波特率可變,由定 時器/計數(shù)器1或定時器/計數(shù)器 2的溢出速率以及 SMOD)決定,且發(fā)送波特率與接收 波特率可以不同。1 .發(fā)送CPUM亍一條寫SBUF旨令后便啟動了串行口發(fā)送,數(shù)據(jù)從TXD輸出,時序見圖7-8a。在指令執(zhí)彳T期間,CPU送來“寫SBUF信號,將并彳T數(shù)據(jù)送入SBUF并啟動發(fā)送控制器,經(jīng)一個機(jī)器周期,發(fā)送控制器的SEND DATA相繼有效,通過車出控制門從TXD上逐位輸出一幀信號。一幀信號發(fā)送完畢后,SEND DATA失效,發(fā)送控制器硬件置發(fā)送中斷標(biāo)志TI = 1,向CPU申請中斷。2 .接收方式1的接收時序見圖7-8b。允許接收位 REN被置1接收器就

11、開始工作,跳變檢測器 以波特率16倍的速率采樣 RXai腳上電平,當(dāng)采樣到從 1到0的負(fù)跳變時,啟動接收控制 器接收數(shù)據(jù),由于發(fā)送、 接收雙方各自使用自己的時鐘,兩者的頻率總有少許差異。為了避免這種影響,控制器將 1位送時間等分成16分、位檢測器在 7、8、9三個狀態(tài)也就是在位 信號中央采樣 RXCE次。 而且,三次采樣中至少兩次相同的值被確認(rèn)為數(shù)據(jù),這是為了減 小干擾的影響。如果起始位接收到的值不是0,由起始位無效,復(fù)位接收電路。如果起始位為0,則開始開始接收本幀其他數(shù)據(jù)。控制器發(fā)出的內(nèi)部移位脈沖將RXD上的數(shù)據(jù)逐位移入移位寄存器,當(dāng)8位數(shù)據(jù)及停止位全移入后:(1)如果RI = 0、SM2=

12、 0,接收控制器發(fā)出“裝載 SBUF信號,將8位數(shù)據(jù)裝入接 收數(shù)據(jù)緩沖器SBUF停止裝入RB,并置RI = 1,向CPU申請中斷。(2) 如果RI = 0、SM2= 1,那么只有停止位為 1時才發(fā)生上述動作。(3) 如果RI=0、SM2= 1且停止位為0,(通常由傳輸過程中的干擾所致)所接收的 數(shù)據(jù)應(yīng)會丟失,不再恢復(fù)。(4)如果RI = 1,則所接收的數(shù)據(jù)在任何情況下都會丟失。無論出現(xiàn)哪一種情況,跳變檢測器將繼續(xù)采樣 RX/I腳的負(fù)跳變,以便接收下一幀信息。接收器采用移位寄存器和 SBUF雙緩沖結(jié)構(gòu),以避免在接U后一幀數(shù)據(jù)之前,CPU尚未及時響應(yīng)中斷將前一幀數(shù)據(jù)取走,造成兩幀數(shù)據(jù)重疊問題。采用

13、雙緩沖器后,前、后兩幀數(shù)據(jù)進(jìn)入SBUF的時間間隔至少有10個位傳送周期。在后一幀數(shù)據(jù)送入 SBUF之前,CPU有足 夠的時間將前一幀數(shù)據(jù)取走。三、串行接口工作方式 2和與方式3串行口工作在方式 2、方式3時,為9位異步通信接口。發(fā)送或接收的一幀信息由 11 位組成,見圖7-2bo方式2與方式3僅波特率不同,方式 2的波特率為fosc/32 (SMOD1 時)或fosc/64 (SMOD= 0時),而方式3的波特率由定時器/計數(shù)器具或定時器/計數(shù)器2及SMO映定。1 .發(fā)送方式2、方式3發(fā)送時,數(shù)據(jù)從 TXD引腳輸出,附加的第九位數(shù)據(jù)由SCON43白T TB8提供。CPM行一條寫入SBUF勺指令

14、后立即啟動發(fā)送器發(fā)送。發(fā)送完一幀信息后由硬件置 TI=1。2 . 接收與方式1相似,REN置1后,跳變檢測器不斷對 RXD引腳采樣。當(dāng)采樣到負(fù)跳變后就啟 動接收控制器。位檢測器對每位數(shù)據(jù)采集 3個值,用采3取2辦法確定每位的數(shù)值。 當(dāng)?shù)诰?位數(shù)據(jù)移入移位寄存器后,將8位數(shù)據(jù)裝入SBUF第九位數(shù)據(jù)裝入 RB8,并置RI=1,其時序見圖2-26b。與方式1相同,方式2、方式3中也設(shè)置有數(shù)據(jù)辨別功能,即當(dāng) RI = 1或SM2= 1且第 九位數(shù)據(jù)為0時所接收的一幀信息被丟失。四、各方式波特率的設(shè)計在串行通信中,收發(fā)雙方對發(fā)送或接收的數(shù)據(jù)速率(即波特率)要有一定的約定??赏ㄟ^對串行口編程設(shè)定。各種工作

15、方式下其波特率的設(shè)置均有所不同,其中方式0和方式2的波特率是固定的,方式1和方式3的波特率是可變的,由定時器T1的溢出率確定。(1 ) 方式0的波特率 方式。時,其波特率固定為振蕩頻率的1/12,并不受PCON中SMODfc的影響。因而,方式 0的波特率=f osc/12。(2) 方式2的波特率方式2的波特率由系統(tǒng)的振蕩頻率f osc和PCON勺最高位SMO確定,即為 2 SM°D< fosc/64。在 SMOD=0寸,波特率=fosc/64 ;在 SMOD =時,波特率=fosc/32。(3) 方式1、3的波特率 MCS-51串行口方式1、3的波特率由定時器 T1的溢出 率和

16、SMODJ值共同確定,即方式1、3的波特率=(2 SM°732) X定時器T1的溢出率。其中定時器溢出率取決于計數(shù)速率和定時器的預(yù)置值。計數(shù)速率與TMO璃存器中C/T的設(shè)置有關(guān)。當(dāng)C/T=0時,為定時方式,計數(shù)速率 =f osc/12;當(dāng)C/T = l時,為計數(shù)方式, 計數(shù)速率取決于外部輸入時鐘的頻率,但不能超過fosc/24。定時器的預(yù)置值等于 M- X, X為計數(shù)初值,M為定時器的最大計數(shù),與操作模式有關(guān)。(可取213、216、28)。如果為了到達(dá)很低的波特率,則可以選擇16位的操作模式,即模式1 ,或模式0 ,可以利用T1中斷來實現(xiàn)重裝計數(shù)值。為能實現(xiàn)定時器計數(shù)初值重裝,則通常

17、選擇操作模式2。在模式2中,TL1作計數(shù)用,TH1用于保存計數(shù)初值,當(dāng) TL1計滿溢出時,TH1的值自動裝到 TL1中。因此一般選用 T1 工作于模式2作波特率發(fā)生器。設(shè)T1的計數(shù)初值為X,設(shè)置C/T=0時,那么每過256X個機(jī)器周期,定時器 T1就會產(chǎn)生一次溢出。則T1的溢出周期為:溢出周期=12/f oscX ( 256X)溢出率為溢出周期之倒數(shù),所以SMOD波特率=232f oscSMOD2f osc12 (256 X) 384 (256 X)定時器T1模式2的計數(shù)初值由上式可得:SMODX 256 osc384波特率(4)在8032/8052單片機(jī)中,工作方式1、工作方式3的波特率取決于定時器/計數(shù)器1、定時器/計數(shù)器 2決定。由T2CON中的TCLK RCL磔擇。發(fā)送器白波特率由 TCLK選由定時器/計數(shù)器 1決定。接收2決定,RCLQ0時,由定時器/8031/8051/8751 相同。擇,TCLK= 1時,由定時器/計數(shù)器 2決定,TCLK= 0時, 器的波特率由RCLK先擇,RCLK= 1時,由定時器/計數(shù)器 計數(shù)器1決定。定時器/計數(shù)器1構(gòu)成波特率發(fā)生器的波特率計算與定時器/計數(shù)器2構(gòu)成波特率發(fā)生器的波特率與SMO優(yōu)關(guān)。由于定時器狀態(tài)時(C/T2= 0),加法計數(shù)器對時鐘脈沖(fosc/

溫馨提示

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

最新文檔

評論

0/150

提交評論