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

下載本文檔

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

文檔簡(jiǎn)介

1、第8章MCS-51單片機(jī)的串行口 本章要點(diǎn):串行通信的分類、波特率及其制式MCS-51單片機(jī)串行口發(fā)送和接收數(shù)據(jù)過(guò)程MCS-51單片機(jī)串行口的工作寄存器各位含義(hny)MCS-51單片機(jī)串行口的工作方式本章難點(diǎn):串行通信的接口標(biāo)準(zhǔn)MCS-51單片機(jī)串行口工作方式2、3的應(yīng)用共三十五頁(yè)8.1串行通信(tng xn)基礎(chǔ)8.1.1 串行通信的概念(1)串行通信:數(shù)據(jù)的各位依次逐位發(fā)送或接收,也就是每一次(或每一時(shí)刻)只能傳送(chun sn)一位二進(jìn)制數(shù)位 。(2)串行通信的分類:異步通信(異步傳輸)和同步通信(同步傳輸)。 所謂異步就是指發(fā)送端和接收端使用的不是同一個(gè)時(shí)鐘。異步串行通信通常以字

2、符(或者字節(jié))為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地傳送,接收端通過(guò)傳輸線一幀一幀地接收。 共三十五頁(yè)在單片機(jī)中主要(zhyo)采用異步通信方式,其幀的格式如圖8-1所示。 共三十五頁(yè)同步通信依靠同步字符保持通信同步。同步通信的幀是由12個(gè)同步字符和多字節(jié)(z ji)數(shù)據(jù)組成,多字節(jié)數(shù)據(jù)之間不允許有空隙,發(fā)送器和接收器的時(shí)鐘必須是同一個(gè)時(shí)鐘。同步通信的幀的格式如圖8-2所示。 共三十五頁(yè)(3)串行通信速率:串行通信速率用波特率(bps)描述。波特率定義為每秒傳輸二進(jìn)制數(shù)的位數(shù),即1波特= 1位/秒(1bps),波特率的倒數(shù)(do sh)即為每位傳輸所需的時(shí)間。(4)串行通信的制式單工半

3、雙式全雙工共三十五頁(yè)發(fā)送器接收器a)AB發(fā)送器接收器發(fā)送器接收器發(fā)送器接收器接收器發(fā)送器ABABb)c)共三十五頁(yè)(3)串行通信的校驗(yàn)(xio yn)奇偶校驗(yàn)循環(huán)冗余校驗(yàn)(CRC)累加和校驗(yàn)共三十五頁(yè)8.1.2 串行通信(tng xn)的接口標(biāo)準(zhǔn)異步串行通信接口標(biāo)準(zhǔn)有三類: RS-232C、RS-449RS-422RS-423和RS-485、20mA電流環(huán) 本書僅講述RS-232C接口標(biāo)準(zhǔn) 共三十五頁(yè)(1)RS-232C的連接器(2)RS-232C的電氣特性RS-232C接口采用EIA電平,低電平為+3V+15V,高電平為-3V-15V。實(shí)際(shj)常用12V或15V RS-232C接口采用

4、負(fù)邏輯,當(dāng)是高電平,邏輯值為“0”; 當(dāng)是低電平,邏輯值為“1”。共三十五頁(yè)(3)RS-232C的連接(linji)RS-232C用于計(jì)算機(jī)與計(jì)算機(jī)之間或計(jì)算機(jī)與外設(shè)調(diào)制解調(diào)器之間的連接。電話線MODEM單片機(jī)2345678202223456782022MODEM23456782022單片機(jī)23456782022數(shù)據(jù)裝置準(zhǔn)備好DSR數(shù)據(jù)終端準(zhǔn)備好DTR發(fā)送數(shù)據(jù)TxD接收數(shù)據(jù)RxD請(qǐng)求發(fā)送RTS允許發(fā)送CTS信號(hào)地GND載波檢測(cè)CD振鈴指示RI共三十五頁(yè)單片機(jī)TxDRxDGND單片機(jī)單片機(jī)DSRDTRTxDRxDRTSCTSGND單片機(jī)共三十五頁(yè)8.2 MCS-51串行口的結(jié)構(gòu)(jigu)和工作

5、原理串行口的基本功能串/并轉(zhuǎn)換功能串行數(shù)據(jù)的格式化功能(封裝與拆封)可靠性功能串行口與數(shù)據(jù)通信設(shè)備間的握手聯(lián)絡(luò)功能串行口的結(jié)構(gòu)MCS-51的串行口是一個(gè)全雙工的異步串行通信接口,通過(guò)它既可以發(fā)送數(shù)據(jù)也可以接收(jishu)數(shù)據(jù),其硬件主要由發(fā)送器部分和接收器部分組成。共三十五頁(yè)(1)接收器部分:由一個(gè)數(shù)據(jù)(shj)接收緩沖寄存器(接收SBUF)和一個(gè)輸入移位寄存器構(gòu)成,用于實(shí)現(xiàn)接收數(shù)據(jù)(shj)傳輸格式的拆封和串/并格式轉(zhuǎn)換功能。共三十五頁(yè)(2)發(fā)送器部分:由一個(gè)具有移位功能的發(fā)送緩沖寄存器(發(fā)送SBUF)組成,用來(lái)實(shí)現(xiàn)發(fā)送數(shù)據(jù)的并/串格式轉(zhuǎn)換(zhunhun)和發(fā)送標(biāo)準(zhǔn)格式的封裝功能。共三十

6、五頁(yè)注意:SBUF是數(shù)據(jù)接收緩沖寄存器和數(shù)據(jù)發(fā)送緩沖寄存器的總稱,二者共用一個(gè)地址為99H。在單片機(jī)的CPU對(duì)串行口執(zhí)行(zhxng)寫操作時(shí),指的是將數(shù)據(jù)寫入發(fā)送SBUF中;在CPU對(duì)串行口執(zhí)行(zhxng)讀操作時(shí),是指讀出接收緩沖SBUF中己送到的數(shù)據(jù)。共三十五頁(yè)串行口的工作原理(1)接收:串行口按軟件設(shè)定的工作方式和波特率通過(guò)引腳RXD串行移入格式化數(shù)據(jù)至輸入移位寄存器,待整幀接收完畢后進(jìn)行反格式化處理,然后并行送入接收SBUF,并形成中斷請(qǐng)求RI,通知CPU讀取傳入的數(shù)據(jù)。(2)發(fā)送:當(dāng)CPU向串行口的發(fā)送SBUF寫入所需發(fā)送的數(shù)據(jù)后,串行口自動(dòng)按軟件設(shè)定格式將待傳送的數(shù)據(jù)裝成標(biāo)準(zhǔn)(

7、biozhn)格式幀,然后以軟件規(guī)定的波特率借助于SBUF的移位功能通過(guò)TXD逐位移出。待整幀全部移出后,形成中斷請(qǐng)求TI,通知CPU準(zhǔn)備下一幀數(shù)據(jù)的發(fā)送工作。共三十五頁(yè)8.3 MCS-51串行口的控制(kngzh)寄存器8.3.1 串行口控制(kngzh)寄存器SCONSCOND7D6D5D4D3D2D1D0位名稱SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功 能工作方式選擇多機(jī)通信控制接收允許發(fā)送第9位接收第9位發(fā)送中斷接收中斷共三十五頁(yè)(1)SM0、SM1:串行口工作方式(fngsh)選擇位。SM0 SM1工作方式功能說(shuō)明00方式0同

8、步移位寄存器輸入/輸出,波特率固定為fosc/1201方式18位UART,波特率可變(TI溢出率/n,n=32或16)10方式29位UART,波特率固定為fosc/n,(n=64或32)11方式39位UART,波特率可變(T1溢出率/n,n=32或16)共三十五頁(yè)(2)SM2:多機(jī)通信控制位,主要用于方式2和方式3中。在方式0時(shí),SM2必須為0。在方式1時(shí),若SM2=1,則規(guī)定只有串行口接收到有效停止時(shí)才置位RI,產(chǎn)生中斷請(qǐng)求,通知CPU接收數(shù)據(jù)。在方式2和3時(shí),若SM2=1,且RB8(接收到的第9位數(shù)據(jù))=1時(shí),將接收到的前8位數(shù)據(jù)送入SBUF,并置位RI產(chǎn)生中斷請(qǐng)求;否則,將接收到的8位數(shù)

9、據(jù)丟棄(diq)。 而當(dāng)SM2=0時(shí),則不論第9位數(shù)據(jù)為0還是為1,都將前8位數(shù)據(jù)裝入SBUF中,并產(chǎn)生中斷請(qǐng)求。共三十五頁(yè)(3)REN:允許接收控制位。REN位用于對(duì)串行數(shù)據(jù)的接收進(jìn)行控制。REN=0,禁止接收;REN=1,允許接收。該位由軟件置位或復(fù)位。(4)TB8:方式2和方式3中要發(fā)送的第9位數(shù)據(jù)。在方式2和方式3時(shí),TB8是發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中,以TB8位的狀態(tài)表示(biosh)主機(jī)發(fā)送的是地址還是數(shù)據(jù),TB8=0表示(biosh)數(shù)據(jù),TB8=1表示(biosh)地址。該位由軟件置位或復(fù)位。 TB8還可用于奇偶校驗(yàn)位。(5)RB8:方式2和方式3中要接收的第9位數(shù)據(jù)。在方

10、式2或方式3時(shí),RB8存放接收到的第9位數(shù)據(jù)。共三十五頁(yè)(6)TI:發(fā)送中斷標(biāo)志。 TI=1,表示幀發(fā)送結(jié)束(jish),可軟件查詢TI位標(biāo)志,也可以請(qǐng)求中斷。 TI位必須由軟件清0。(7)RI:接收中斷標(biāo)志。 RI=1,表示幀接收結(jié)束,可軟件查詢RI位標(biāo)志,也可以請(qǐng)求中斷。 RI位也必須由軟件清0。共三十五頁(yè)8.3.2 電源控制(kngzh)寄存器PCON電源控制寄存器PCON是一個(gè)特殊功能寄存器,其字節(jié)地址為87H,PCON寄存器不能進(jìn)行位尋址,只能字節(jié)尋址。PCON主要為CHMOS型單片機(jī)的電源控制而設(shè)置的,對(duì)HMOS型單片機(jī),僅用其中的一個(gè)標(biāo)志SMOD。 共三十五頁(yè)8.3.2 電源控制

11、寄存器PCON SMOD:波特率選擇位。 在方式1、方式2、方式3中,SMOD=1時(shí),串行口波特率加倍;SMOD=0時(shí),串行口波特率保持原值(在PCON中只有(zhyu)這一個(gè)位與串口有關(guān))。 共三十五頁(yè)8.4 MCS-51單片機(jī)串行口的工作(gngzu)方式8.4.1 工作方式0及應(yīng)用工作方式0為8位同步移位寄存器工作方式,用于實(shí)現(xiàn)單片機(jī)I/O端口的擴(kuò)展 工作方式0的特點(diǎn):(1)必須由外接移位寄存器配合,即由串入并出移位寄存器來(lái)擴(kuò)展輸出端口;由并入串出移位寄存器來(lái)擴(kuò)展輸入端口。(2)以RXD(P3.0)端作為數(shù)據(jù)移位的輸入端(接收時(shí))和輸出端(發(fā)送時(shí)),以TXD(P3.1)端固定(gdng)

12、作為提供移位時(shí)鐘的輸出端。(3)移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,無(wú)論輸入/輸出,均低位在前高位在后。共三十五頁(yè)(1)移位寄存器簡(jiǎn)介(jin ji):串入并出移位寄存器常用的有:74LS164、74HC164、CD4094并入串出移位寄存器常用的有:74LS165、74HC165、CD4014CLR為清0端,輸出(shch)時(shí)必須為1,否則164輸出(shch)端為0共三十五頁(yè)移位置入端,1時(shí)移位輸出(shch);0時(shí)并行置入共三十五頁(yè)(2)波特率:方式(fngsh)0波特率固定,為單片機(jī)晶振頻率的十二分之一。即一個(gè)機(jī)器周期進(jìn)行一次移位。(3)應(yīng)用舉例【例8.2】電路如圖8

13、-15所示,試編制程序輸入K1K8狀態(tài)數(shù)據(jù),并存入內(nèi)存RAM40H。 共三十五頁(yè)【例8.1】電路如圖8-14所示,試編制程序按下列順序要求每隔0.5秒循環(huán)操作。 8個(gè)發(fā)光二極管全部點(diǎn)亮; 從左向右依次暗滅,每次減少一個(gè)(y ),直至全滅; 從左向右依次點(diǎn)亮,每次點(diǎn)亮一個(gè); 從右向左依次點(diǎn)亮,每次點(diǎn)亮一個(gè); 從左向右依次點(diǎn)亮,每次增加一個(gè),直至全部點(diǎn)亮; 返回從不斷循環(huán)。 共三十五頁(yè)8.4.2 工作方式1及應(yīng)用工作方式1為10位的異步串行通信方式。1. 數(shù)據(jù)的發(fā)送和接收(1)數(shù)據(jù)發(fā)送發(fā)送時(shí)只要將數(shù)據(jù)寫入SBUF(MOV SBUF,A),在串行口由硬件自動(dòng)加入起始位和停止位,構(gòu)成一個(gè)(y )完整的

14、幀格式。然后在移位脈沖的作用下,由TXD端串行輸出。一幀數(shù)據(jù)發(fā)送完畢,將SCON中的TI置1。共三十五頁(yè)(2)數(shù)據(jù)接收接收時(shí),在REN=1前提下,當(dāng)采樣到RXD從1向0跳變狀態(tài)(zhungti)時(shí),就認(rèn)定為已接收到起始位。隨后在移位脈沖的控制下,將串行接收數(shù)據(jù)移入SBUF中。一幀數(shù)據(jù)接收完畢,將SCON中的RI置1,表示可以從SBUF取走接收到的一個(gè)字符(MOV A,SBUF)。2. 波特率 方式1波特率可變,由定時(shí)/計(jì)數(shù)器T1的計(jì)數(shù)溢出率來(lái)決定。共三十五頁(yè)溢出率:溢出的頻繁程度,指在1s內(nèi)發(fā)生溢出 的次數(shù)。即溢出一次所需時(shí)間的倒數(shù)。 波特率=(2SMOD/32)T1的溢出率3.應(yīng)用(yngy

15、ng)舉例【例8.3】設(shè)甲乙機(jī)以串行方式1進(jìn)行數(shù)據(jù)傳送,fosc=12MHz,波特率為1200bps。甲機(jī)發(fā)送的16個(gè)數(shù)據(jù)存在內(nèi)RAM 40H4FH單元中,乙機(jī)接收后存在內(nèi)RAM 50H為首地址的區(qū)域中。共三十五頁(yè)8.4.3 工作(gngzu)方式2及應(yīng)用工作方式2為11位的異步串行通信方式。共三十五頁(yè)3. 應(yīng)用舉例【例8.4】用查詢法編出串行口在方式(fngsh)2下的發(fā)送程序。設(shè)單片機(jī)主頻為6MHz,波特率為fosc32,發(fā)送字符塊起始地址為TBLK(內(nèi)部RAM),字符塊長(zhǎng)度為L(zhǎng)EN。要求采用累加和校驗(yàn),空出第9數(shù)據(jù)位以供它用。共三十五頁(yè)8.4.4 工作方式3及應(yīng)用方式3同樣是一幀11位的

16、串行通信方式,其通信過(guò)程(guchng)與方式2完全相同,所不同的僅在于波特率。方式2的波特率只有固定的兩種,而方式3的波特率則與方式1相同,即通過(guò)設(shè)置T1的初值來(lái)設(shè)定波特率?!纠?.5】請(qǐng)用查詢法編出串行口在方式3下的接收程序。設(shè)單片機(jī)主頻為6MHz,波特率為2400bps,接收數(shù)據(jù)區(qū)起始地址為RBLK(內(nèi)部RAM),接收數(shù)據(jù)塊長(zhǎng)度字節(jié)由始發(fā)端發(fā)送來(lái)。要求采用累加和校驗(yàn),并要編寫出錯(cuò)程序。共三十五頁(yè)內(nèi)容摘要第8章MCS-51單片機(jī)的串行口。異步串行通信通常以字符(或者字節(jié))為單位組成字符幀傳送。字符幀由發(fā)送端一幀一幀地傳送,接收(jishu)端通過(guò)傳輸線一幀一幀地接收(jishu)。器和接收(j

溫馨提示

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

評(píng)論

0/150

提交評(píng)論