




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022-7-51第五章第五章80518051單片機(jī)的串行口單片機(jī)的串行口原理及應(yīng)用原理及應(yīng)用 2022-7-52 通信:在實(shí)際應(yīng)用中通信:在實(shí)際應(yīng)用中,不但計(jì)算機(jī)與外部設(shè)備之間常常要進(jìn)不但計(jì)算機(jī)與外部設(shè)備之間常常要進(jìn)行信息交換,而且計(jì)算機(jī)之間也需要交換信息,所有這些信息行信息交換,而且計(jì)算機(jī)之間也需要交換信息,所有這些信息的交換均稱為的交換均稱為“通信通信”。 隨著隨著8051應(yīng)用范圍的不斷拓寬,單臺(tái)儀器儀表或控制器往應(yīng)用范圍的不斷拓寬,單臺(tái)儀器儀表或控制器往往會(huì)帶有不止一個(gè)的單片機(jī),而多個(gè)智能儀器儀表或控制器在往會(huì)帶有不止一個(gè)的單片機(jī),而多個(gè)智能儀器儀表或控制器在單片機(jī)應(yīng)用系統(tǒng)中又常常會(huì)構(gòu)
2、成一個(gè)分布式采集、控制系統(tǒng),單片機(jī)應(yīng)用系統(tǒng)中又常常會(huì)構(gòu)成一個(gè)分布式采集、控制系統(tǒng),上層由上層由PC進(jìn)行集中管理等。進(jìn)行集中管理等。 單片機(jī)的通信功能也隨之得到發(fā)展。單片機(jī)的通信功能也隨之得到發(fā)展。 通信的基本方式分為并行通信和串行通信兩種。通信的基本方式分為并行通信和串行通信兩種。 2022-7-53串行數(shù)據(jù)通信概述串行數(shù)據(jù)通信概述并行通信和串行通信并行通信和串行通信并行并行并行并行q數(shù)據(jù)是一位一位傳送的數(shù)據(jù)是一位一位傳送的串行串行1位位q優(yōu)點(diǎn):優(yōu)點(diǎn):傳輸線少,連線簡單傳輸線少,連線簡單q缺點(diǎn):缺點(diǎn):速度慢速度慢q適用于遠(yuǎn)距離適用于遠(yuǎn)距離或數(shù)據(jù)量少的通信或數(shù)據(jù)量少的通信通通 信信串行串行串行串
3、行串行串行串行通信串行通信2022-7-54數(shù)據(jù)通信概述數(shù)據(jù)通信概述 并行傳送方式與串行傳送方式并行傳送方式與串行傳送方式 并行傳送方式并行傳送方式 在數(shù)據(jù)傳輸時(shí),如果一個(gè)數(shù)據(jù)編碼字符的所有各位都同時(shí)發(fā)送、在數(shù)據(jù)傳輸時(shí),如果一個(gè)數(shù)據(jù)編碼字符的所有各位都同時(shí)發(fā)送、并排傳輸,又同時(shí)被接收,則稱為并行傳送方式。并行傳送方式并排傳輸,又同時(shí)被接收,則稱為并行傳送方式。并行傳送方式要求物理信道為并行內(nèi)總線或者并行外總線。要求物理信道為并行內(nèi)總線或者并行外總線。 特點(diǎn):傳送速度快、效率高。但由于需要的傳送數(shù)據(jù)線多,特點(diǎn):傳送速度快、效率高。但由于需要的傳送數(shù)據(jù)線多,因而傳輸成本高。并行數(shù)據(jù)傳輸?shù)木嚯x通常小
4、于因而傳輸成本高。并行數(shù)據(jù)傳輸?shù)木嚯x通常小于30米。而在計(jì)算米。而在計(jì)算機(jī)內(nèi)部的數(shù)據(jù)傳送都是并行傳送的。機(jī)內(nèi)部的數(shù)據(jù)傳送都是并行傳送的。 2022-7-55 串行傳送方式串行傳送方式 在數(shù)據(jù)傳輸時(shí),如果一個(gè)數(shù)據(jù)編碼字符的所有各位不是同時(shí)在數(shù)據(jù)傳輸時(shí),如果一個(gè)數(shù)據(jù)編碼字符的所有各位不是同時(shí)發(fā)送,而是按一定順序,一位接著一位在信道中被發(fā)送和接收,發(fā)送,而是按一定順序,一位接著一位在信道中被發(fā)送和接收,則稱為串行傳送方式。則稱為串行傳送方式。 串行傳送方式的物理信道為串行總線。串行傳送方式的物理信道為串行總線。 串行數(shù)據(jù)傳送方式的特點(diǎn)是成本低,但速度慢。串行數(shù)據(jù)傳送方式的特點(diǎn)是成本低,但速度慢。 計(jì)
5、算機(jī)與外界的數(shù)據(jù)傳送大多是串行的,其傳送距離可以計(jì)算機(jī)與外界的數(shù)據(jù)傳送大多是串行的,其傳送距離可以從幾米直到幾千公里。從幾米直到幾千公里。 2022-7-56 圖圖51通信的兩種基本方式通信的兩種基本方式(a)并行通信;并行通信; (b)串行通信串行通信2022-7-57打印機(jī)打印機(jī)計(jì)算機(jī)計(jì)算機(jī)網(wǎng)絡(luò)網(wǎng)絡(luò)鼠標(biāo)鼠標(biāo)掃描儀掃描儀硬盤硬盤并行、并行、 串行接口的應(yīng)用?串行接口的應(yīng)用?I2C SPIRS232USB常見的串行通信接口常見的串行通信接口:2022-7-58按照信號傳輸?shù)姆较蚝屯瑫r(shí)性,分為單工方式、半雙工方按照信號傳輸?shù)姆较蚝屯瑫r(shí)性,分為單工方式、半雙工方式和全雙工方式三種。式和全雙工方式三
6、種。 單工方式單工方式 信號信號(不包括聯(lián)絡(luò)信號不包括聯(lián)絡(luò)信號) 在信道中只能沿一個(gè)方向傳送,而在信道中只能沿一個(gè)方向傳送,而不能沿相反方向傳送的工作方式稱為單工方式。不能沿相反方向傳送的工作方式稱為單工方式。 半雙工方式半雙工方式 通信的雙方均具有發(fā)送和接收信息的能力,信道也具有雙通信的雙方均具有發(fā)送和接收信息的能力,信道也具有雙向傳輸性能,但是,通信的任何一方都不能同時(shí)既發(fā)送信息又接向傳輸性能,但是,通信的任何一方都不能同時(shí)既發(fā)送信息又接收信息,即在指定的時(shí)刻,只能沿某一個(gè)方向傳送信息。這樣的收信息,即在指定的時(shí)刻,只能沿某一個(gè)方向傳送信息。這樣的傳送方式稱為半雙工方式。傳送方式稱為半雙工
7、方式。 全雙工方式全雙工方式若信號在通信雙方之間沿兩個(gè)方向同時(shí)傳送,任何一方在若信號在通信雙方之間沿兩個(gè)方向同時(shí)傳送,任何一方在同一時(shí)刻既能發(fā)送又能接收信息,稱為全雙工方式。同一時(shí)刻既能發(fā)送又能接收信息,稱為全雙工方式。雙工方式大雙工方式大多采用雙線制。多采用雙線制。 單工方式、半雙工方式、全雙工方式單工方式、半雙工方式、全雙工方式 2022-7-59 圖圖52串行通信的三種方式串行通信的三種方式(a)單工方式;單工方式;(b)半雙工方式;半雙工方式;(c)全雙工方式全雙工方式2022-7-510單工、雙工、半雙工方式單工、雙工、半雙工方式單工:單工:廣播廣播雙工:雙工:電話電話半雙工:半雙工
8、:對講機(jī)對講機(jī)2022-7-511 在數(shù)據(jù)通信中,要保證發(fā)送的信號在接收端能被正確地在數(shù)據(jù)通信中,要保證發(fā)送的信號在接收端能被正確地接收,必須采用同步技術(shù)。常用的同步技術(shù)有兩種方式,一種稱接收,必須采用同步技術(shù)。常用的同步技術(shù)有兩種方式,一種稱為異步傳輸也稱起止同步方式,另一種稱為同步傳輸也稱同步字為異步傳輸也稱起止同步方式,另一種稱為同步傳輸也稱同步字符同步方式。符同步方式。 異步傳輸異步傳輸 異步傳輸以字符為單位進(jìn)行數(shù)據(jù)傳輸,每個(gè)字符都用起始異步傳輸以字符為單位進(jìn)行數(shù)據(jù)傳輸,每個(gè)字符都用起始位、停止位包裝起來,在字符間允許有長短不一的間隙。位、停止位包裝起來,在字符間允許有長短不一的間隙。
9、在單片機(jī)中使用的串行通信都是異步方式。在單片機(jī)中使用的串行通信都是異步方式。 異步傳輸和同步傳輸異步傳輸和同步傳輸2022-7-512 圖圖53串行異步傳送的字符格式串行異步傳送的字符格式(a)字符格式;字符格式; (b)有空閑位的字符格式有空閑位的字符格式 2022-7-513圖圖54 傳送傳送ASCII碼字符碼字符5的波形圖的波形圖 2022-7-514 在串行異步傳送中,在串行異步傳送中,CPU與外設(shè)之間事先必須約定:與外設(shè)之間事先必須約定: 字符格式。字符格式。 雙方要事先約定字符的編碼形式、奇偶校驗(yàn)形式及起始位和雙方要事先約定字符的編碼形式、奇偶校驗(yàn)形式及起始位和停止位的規(guī)定。例如用
10、停止位的規(guī)定。例如用ASCII碼通信,有效數(shù)據(jù)為碼通信,有效數(shù)據(jù)為7位,加位,加1個(gè)奇偶校驗(yàn)位、個(gè)奇偶校驗(yàn)位、1個(gè)起始位和個(gè)起始位和1個(gè)停止位共個(gè)停止位共10位。當(dāng)然停止位位。當(dāng)然停止位也可大于也可大于1位。位。 波特率波特率(Baudrate)。 波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進(jìn)制位數(shù),波特率就是數(shù)據(jù)的傳送速率,即每秒鐘傳送的二進(jìn)制位數(shù),單位為位單位為位/秒。它與字符的傳送速率秒。它與字符的傳送速率(字符字符/秒秒)之間存在如下之間存在如下關(guān)系:關(guān)系: 波特率波特率=位位/字符字符字符字符/秒秒=位位/秒秒 要求發(fā)送端與接收端的波特率必須一致。要求發(fā)送端與接收端的波特率必須一致。
11、2022-7-515 同步傳輸同步傳輸 同步傳輸用來對數(shù)據(jù)塊進(jìn)行傳輸,一個(gè)數(shù)據(jù)塊中包含同步傳輸用來對數(shù)據(jù)塊進(jìn)行傳輸,一個(gè)數(shù)據(jù)塊中包含著許多連續(xù)的字符,在字符之間沒有空閑。同步傳輸可以著許多連續(xù)的字符,在字符之間沒有空閑。同步傳輸可以方便地實(shí)現(xiàn)某一通信協(xié)議要求的幀格式。計(jì)算機(jī)網(wǎng)絡(luò)通信方便地實(shí)現(xiàn)某一通信協(xié)議要求的幀格式。計(jì)算機(jī)網(wǎng)絡(luò)通信基本上是這種?;旧鲜沁@種。2022-7-516 圖55 同步傳送 2022-7-517 串行通信的傳送速率用于說明數(shù)據(jù)傳送的快慢,波特率串行通信的傳送速率用于說明數(shù)據(jù)傳送的快慢,波特率表示串行通信時(shí)每秒鐘傳送表示串行通信時(shí)每秒鐘傳送”位位” 的數(shù)目,比如的數(shù)目,比如
12、1s傳送傳送1bit,就是就是1波特。即波特。即1波特波特1bit/s (位位/秒秒)串行通信常用的標(biāo)準(zhǔn)波特率在串行通信常用的標(biāo)準(zhǔn)波特率在RS-232C標(biāo)準(zhǔn)中已有規(guī)定,標(biāo)準(zhǔn)中已有規(guī)定,如波特率為如波特率為600、1200、2400、4800、9600、19200等等。等等。假若數(shù)據(jù)傳送速率為假若數(shù)據(jù)傳送速率為120字符字符/s,而每一個(gè)字符幀已規(guī)定,而每一個(gè)字符幀已規(guī)定為為10個(gè)數(shù)據(jù)位,則傳輸速率為個(gè)數(shù)據(jù)位,則傳輸速率為120101200bit/s,即波特率為,即波特率為1200,每一位數(shù)據(jù)傳送的時(shí)間為波特率的倒數(shù):,每一位數(shù)據(jù)傳送的時(shí)間為波特率的倒數(shù): T112000.833ms 波特率波特
13、率(BAUD RATE)2022-7-518 計(jì)算機(jī)通信是計(jì)算機(jī)通信是一一種數(shù)字信號的通信。種數(shù)字信號的通信。 它要求傳送線的頻帶很寬它要求傳送線的頻帶很寬, ,而在長距離通訊時(shí)而在長距離通訊時(shí), ,通常是利用通常是利用電話線來傳送的電話線來傳送的, ,該線不可能有這樣寬的頻帶。如果用數(shù)字信該線不可能有這樣寬的頻帶。如果用數(shù)字信號經(jīng)過傳送線直接通訊號經(jīng)過傳送線直接通訊, ,信號就會(huì)畸變。信號就會(huì)畸變。信號的調(diào)制和解調(diào)信號的調(diào)制和解調(diào)2022-7-519 因此要在發(fā)送端用調(diào)制器因此要在發(fā)送端用調(diào)制器(Modulator)(Modulator)把數(shù)字信號轉(zhuǎn)換為模把數(shù)字信號轉(zhuǎn)換為模擬信號擬信號, ,
14、在接收端用解調(diào)器在接收端用解調(diào)器(Demodulator)(Demodulator)檢測此模擬信號檢測此模擬信號, ,再把再把它轉(zhuǎn)換成數(shù)字信號。它轉(zhuǎn)換成數(shù)字信號。 FSK(FrequencyShiftKeyingFSK(FrequencyShiftKeying) )是是一一種常用的調(diào)制方法種常用的調(diào)制方法, ,它把它把數(shù)字信號的數(shù)字信號的“1”1”與與“0”0”調(diào)制成不同頻率的模擬信號。調(diào)制成不同頻率的模擬信號。圖圖56調(diào)制與解調(diào)示意圖調(diào)制與解調(diào)示意圖 2022-7-520圖圖57 FSK調(diào)制法原理圖調(diào)制法原理圖 2022-7-521數(shù)據(jù)終端與調(diào)制器的接口數(shù)據(jù)終端與調(diào)制器的接口圖圖510 RS
15、-232C的引腳圖的引腳圖 2022-7-522圖圖511 計(jì)算機(jī)與遠(yuǎn)方終端和當(dāng)?shù)亟K端連接示意圖計(jì)算機(jī)與遠(yuǎn)方終端和當(dāng)?shù)亟K端連接示意圖 2022-7-523調(diào)制解調(diào)器調(diào)制解調(diào)器15V:邏輯:邏輯1 15V:邏輯:邏輯0RS232C標(biāo)準(zhǔn)標(biāo)準(zhǔn)美國電子工業(yè)協(xié)會(huì)美國電子工業(yè)協(xié)會(huì)EIA公布的串行總線標(biāo)準(zhǔn)公布的串行總線標(biāo)準(zhǔn)DB-25DB-9最少最少3根線根線公用電公用電話網(wǎng)話網(wǎng)ModemModem計(jì)算機(jī)計(jì)算機(jī)計(jì)算機(jī)計(jì)算機(jī)RS232CRS232CRxD (3)TxD (2)地地 (5)2022-7-524一、一、 80518051串行口結(jié)構(gòu)串行口結(jié)構(gòu) 串行數(shù)據(jù)通信主要有兩個(gè)技術(shù)問題,一個(gè)是數(shù)據(jù)傳送,另串行數(shù)據(jù)
16、通信主要有兩個(gè)技術(shù)問題,一個(gè)是數(shù)據(jù)傳送,另一個(gè)是數(shù)據(jù)轉(zhuǎn)換。一個(gè)是數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)傳送主要解決傳送中的標(biāo)準(zhǔn)、數(shù)據(jù)幀格式及工作方式等。數(shù)據(jù)傳送主要解決傳送中的標(biāo)準(zhǔn)、數(shù)據(jù)幀格式及工作方式等。數(shù)據(jù)轉(zhuǎn)換要解決把數(shù)據(jù)進(jìn)行串、并行的轉(zhuǎn)換,這種轉(zhuǎn)換通常由數(shù)據(jù)轉(zhuǎn)換要解決把數(shù)據(jù)進(jìn)行串、并行的轉(zhuǎn)換,這種轉(zhuǎn)換通常由通用通用異步接收發(fā)送器異步接收發(fā)送器(UART) 電路來完成。電路來完成。數(shù)據(jù)發(fā)送端,要把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù);數(shù)據(jù)接收端,要數(shù)據(jù)發(fā)送端,要把并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù);數(shù)據(jù)接收端,要把串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。把串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。80C51中已集成有中已集成有UART,有的型,有的型號在內(nèi)部還集成了兩個(gè)號
17、在內(nèi)部還集成了兩個(gè)UART。而在其它一些型號中又增加了新。而在其它一些型號中又增加了新的串行口,如的串行口,如 8XC552中就增加了具有中就增加了具有I2C總線功能的串行口??偩€功能的串行口。串行口及控制串行口及控制2022-7-525串行通信接口串行通信接口(1)UART (Universal Asynchronous Receiver/Transmitter 通用異步接收器通用異步接收器/發(fā)送器發(fā)送器(2)USRT (Universal Synchronous Receiver/Transmitter) 通用同步接收器通用同步接收器/發(fā)送器發(fā)送器8串并串并8并串并串發(fā)送發(fā)送接收接收1時(shí)鐘
18、時(shí)鐘時(shí)鐘時(shí)鐘2022-7-52680C51中的串行口是一個(gè)全雙工的異步串行通信接口,它中的串行口是一個(gè)全雙工的異步串行通信接口,它可作可作UART(通用異步接收和發(fā)送器)用,也可作同步移位寄(通用異步接收和發(fā)送器)用,也可作同步移位寄存器用。存器用。所謂全雙工的異步串行通信接口,是說該接口可以同時(shí)所謂全雙工的異步串行通信接口,是說該接口可以同時(shí)進(jìn)行接收和發(fā)送數(shù)據(jù),口內(nèi)的接收緩沖器和發(fā)送緩沖器在進(jìn)行接收和發(fā)送數(shù)據(jù),口內(nèi)的接收緩沖器和發(fā)送緩沖器在物理物理上上是隔離的,即是完全獨(dú)立的??梢酝ㄟ^訪問特殊功能寄存器是隔離的,即是完全獨(dú)立的??梢酝ㄟ^訪問特殊功能寄存器SBUF,來訪問接收緩沖器和發(fā)送緩沖器
19、。接收緩沖器具有雙緩,來訪問接收緩沖器和發(fā)送緩沖器。接收緩沖器具有雙緩沖的功能,即它在接收第一個(gè)數(shù)據(jù)字節(jié)后,能接收笫二個(gè)數(shù)據(jù)沖的功能,即它在接收第一個(gè)數(shù)據(jù)字節(jié)后,能接收笫二個(gè)數(shù)據(jù)字節(jié)。但是在接收完第二個(gè)字節(jié)后,字節(jié)。但是在接收完第二個(gè)字節(jié)后,若笫一個(gè)數(shù)據(jù)字節(jié)還未取若笫一個(gè)數(shù)據(jù)字節(jié)還未取走,那么該數(shù)據(jù)字節(jié)將丟失。走,那么該數(shù)據(jù)字節(jié)將丟失。2022-7-527圖圖512 MCS-51串行口的原理結(jié)構(gòu)圖串行口的原理結(jié)構(gòu)圖 2022-7-528 波特率發(fā)生器:波特率發(fā)生器: 主要由主要由T1及內(nèi)部的一些控制開關(guān)和分頻器所組成。它提及內(nèi)部的一些控制開關(guān)和分頻器所組成。它提供串行口的時(shí)鐘信號為供串行口的時(shí)
20、鐘信號為 TXCLOCK(發(fā)送時(shí)鐘)和(發(fā)送時(shí)鐘)和 RXCLOCK(接收時(shí)鐘)。相應(yīng)的控制波特率發(fā)生器的特殊功能寄存器有(接收時(shí)鐘)。相應(yīng)的控制波特率發(fā)生器的特殊功能寄存器有 TMOD、TCON、TL1、TH1等。等。 2022-7-529 串行口的內(nèi)部串行口的內(nèi)部 串行數(shù)據(jù)緩沖寄存器串行數(shù)據(jù)緩沖寄存器SBUF有接收緩沖器有接收緩沖器SBUF和發(fā)送緩沖器和發(fā)送緩沖器SBUF,以便,以便80C51能能以全雙工方式進(jìn)行通信。它們在物理上是隔離的,但是占用同以全雙工方式進(jìn)行通信。它們在物理上是隔離的,但是占用同一個(gè)地址一個(gè)地址(99H) 。 串行口控制寄存器串行口控制寄存器SCON 串行數(shù)據(jù)輸入輸
21、出引腳串行數(shù)據(jù)輸入輸出引腳接收方式下,串行數(shù)據(jù)從接收方式下,串行數(shù)據(jù)從RXD(P3.0)引腳輸入,串行)引腳輸入,串行口內(nèi)部在接收緩沖器之前還有移位寄存器,從而構(gòu)成了串行接口內(nèi)部在接收緩沖器之前還有移位寄存器,從而構(gòu)成了串行接收的雙緩沖結(jié)構(gòu),可以避免在數(shù)據(jù)接收過程中出現(xiàn)幀重疊錯(cuò)誤,收的雙緩沖結(jié)構(gòu),可以避免在數(shù)據(jù)接收過程中出現(xiàn)幀重疊錯(cuò)誤,即在下一幀數(shù)據(jù)來時(shí),前一幀數(shù)據(jù)還沒有讀走。即在下一幀數(shù)據(jù)來時(shí),前一幀數(shù)據(jù)還沒有讀走。發(fā)送方式下,串行數(shù)據(jù)通過發(fā)送方式下,串行數(shù)據(jù)通過TXD(P3. .1)引腳輸出。)引腳輸出。 2022-7-530 串行口控制邏輯串行口控制邏輯接受來自波特率發(fā)生器的時(shí)鐘信號接受
22、來自波特率發(fā)生器的時(shí)鐘信號TXCLOCK(發(fā)(發(fā)送時(shí)鐘)和送時(shí)鐘)和RXCLOCK(接收時(shí)鐘);(接收時(shí)鐘);控制內(nèi)部的輸入移位寄存器將外部的串行數(shù)據(jù)轉(zhuǎn)換為并控制內(nèi)部的輸入移位寄存器將外部的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù);行數(shù)據(jù);控制內(nèi)部的輸出移位寄存器將內(nèi)部的并行數(shù)據(jù)轉(zhuǎn)換為串控制內(nèi)部的輸出移位寄存器將內(nèi)部的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)輸出;行數(shù)據(jù)輸出;控制串行中斷(控制串行中斷(RI和和TI)。)。 2022-7-531二、二、 80C51串行口控制串行口控制 串行口狀態(tài)控制寄存器串行口狀態(tài)控制寄存器 SCON 串行口狀態(tài)控制寄存器串行口狀態(tài)控制寄存器SCON用來控制串行通信的方式選用來控制串行通信的方式
23、選擇、接收,指示串行口的中斷狀態(tài)。寄存器擇、接收,指示串行口的中斷狀態(tài)。寄存器SCON既可字節(jié)尋址既可字節(jié)尋址也可位尋址,字節(jié)地址為也可位尋址,字節(jié)地址為98H,位地址為,位地址為98H9FH。其格式如。其格式如下:下:位 地位 地址址 9FH 9EH9DH9CH 9BH9AH 99H 98H位 功位 功能能SM0SM1SM2REN TB8 RB8 TI RI2022-7-532 SM0(SCON.7),SM1(SCON.6)串行口工作方式選擇位。串行口工作方式選擇位。 SM0 SM1 工作方式工作方式 特特 點(diǎn)點(diǎn) 波波 特特 率率 0 0 方式方式0 8位移位寄存器位移位寄存器 fosc/1
24、2 0 1 方式方式1 10位位UART 可變可變 1 0 方式方式2 11位位UART fosc/64或或fosc/32 1 1 方式方式3 11位位UART 可變可變表表51 串行口工作方式選擇串行口工作方式選擇2022-7-533SM2(SCON.5)允許方式允許方式2、3中的多處理機(jī)通信位。中的多處理機(jī)通信位。方式方式0時(shí),時(shí),SM20。方式方式1時(shí),若時(shí),若SM2l,只有接收到有效的停止位,只有接收到有效的停止位,接收中斷接收中斷RI才置才置1。方式方式2和方式和方式3時(shí),若時(shí),若SM21,則只有當(dāng)接收到的,則只有當(dāng)接收到的第第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為)為1時(shí),才將接收到的前時(shí),
25、才將接收到的前8位數(shù)據(jù)送入位數(shù)據(jù)送入緩沖器緩沖器SBUF中,并把中,并把RI置置1、同時(shí)向、同時(shí)向CPU申請中斷;如果申請中斷;如果接收到的第接收到的第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為)為0,RI置置0,將接收到的前,將接收到的前8位數(shù)據(jù)丟棄。位數(shù)據(jù)丟棄。而當(dāng)而當(dāng)SM20時(shí),則不論接收到的笫九位數(shù)據(jù)是時(shí),則不論接收到的笫九位數(shù)據(jù)是0 或或1 ,都將前,都將前8位數(shù)據(jù)裝入位數(shù)據(jù)裝入SBUF中,并申請中斷。中,并申請中斷。 2022-7-534REN(SCON.4)允許串行接收位。允許串行接收位。REN1時(shí),允許串行接收;時(shí),允許串行接收;REN0時(shí),禁止串行接收。時(shí),禁止串行接收。用軟件置位清除。用
26、軟件置位清除。TB8(SCON.3)方式方式2和方式和方式3中要發(fā)送的第中要發(fā)送的第9位數(shù)據(jù)。位數(shù)據(jù)。在通信協(xié)議中,常規(guī)定在通信協(xié)議中,常規(guī)定TB8作為奇偶校驗(yàn)位。在作為奇偶校驗(yàn)位。在80C51多多機(jī)通信中,機(jī)通信中,TB8=0用來表示數(shù)據(jù)幀;用來表示數(shù)據(jù)幀;TB8=1表示是地址幀。表示是地址幀。用軟件置位清除。用軟件置位清除。RB8(SCON.2)方式方式2和方式和方式3中接收到的第中接收到的第9位數(shù)據(jù)。位數(shù)據(jù)。方式方式1中接收到的是停止位。方式中接收到的是停止位。方式0中不使用這一位。中不使用這一位。 2022-7-535TI(SCON1)發(fā)送中斷標(biāo)志位。發(fā)送中斷標(biāo)志位。方式方式 0中,在
27、發(fā)送第中,在發(fā)送第 8位末尾置位;在其它方式時(shí),在發(fā)位末尾置位;在其它方式時(shí),在發(fā)送停止位開始時(shí)設(shè)置。送停止位開始時(shí)設(shè)置。由硬件置位,由硬件置位,用軟件清除用軟件清除。RI(SCON0)接收中斷標(biāo)志位。接收中斷標(biāo)志位。方式方式 0中,在接收第中,在接收第8位末尾置位;在其它方式時(shí),在接位末尾置位;在其它方式時(shí),在接收停止位中間設(shè)置。收停止位中間設(shè)置。由硬件置位,由硬件置位,用軟件清除用軟件清除。系統(tǒng)復(fù)位后,系統(tǒng)復(fù)位后,SCON中所有位都被清除。中所有位都被清除。2022-7-536其中最高位其中最高位SMOD與串行口控制有關(guān),其它位與掉電方與串行口控制有關(guān),其它位與掉電方式有關(guān)。其格式如下:式
28、有關(guān)。其格式如下: D7 D6 D5 D4 D3 D2 D1 D0SMOD GF1 GF0 PD IDLSMOD(PCON.7)串行通信波特率系數(shù)控制位。串行通信波特率系數(shù)控制位。當(dāng)當(dāng)SMOD1時(shí),使波特率加倍。復(fù)位后,時(shí),使波特率加倍。復(fù)位后,SMOD0。 電源控制寄存器電源控制寄存器 PCON2022-7-537包含在物理上是隔離的兩個(gè)包含在物理上是隔離的兩個(gè)8位寄存器:發(fā)送數(shù)據(jù)寄存器位寄存器:發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器,它們共用一個(gè)地址和接收數(shù)據(jù)寄存器,它們共用一個(gè)地址99H。其格式如下:。其格式如下: D7 D6 D5 D4 D3 D2 D1 D0 SD7 SD6 SD5 SD4
29、SD3 SD2 SD1 SD0讀讀SBUF(MOVA,SBUF),訪問接收數(shù)據(jù)寄存器;),訪問接收數(shù)據(jù)寄存器;寫寫SBUF(MOV SBUF,A),訪問發(fā)送數(shù)據(jù)寄存器。),訪問發(fā)送數(shù)據(jù)寄存器。 串行數(shù)據(jù)寄存器串行數(shù)據(jù)寄存器SBUF系統(tǒng)復(fù)位后,系統(tǒng)復(fù)位后, SBUF中內(nèi)容不確定。中內(nèi)容不確定。2022-7-538串行口的工作方式串行口的工作方式在串行口控制寄存器在串行口控制寄存器SCON中,中,SM0和和SM1位決定串行口位決定串行口的工作方式。的工作方式。80C51串行口共有四種工作方式。串行口共有四種工作方式。 2022-7-5391 、串行口方式串行口方式0 同步移位寄存器方式同步移位寄存
30、器方式 當(dāng)當(dāng)SM00、SM10時(shí),串行口選擇方式時(shí),串行口選擇方式0。這種工作方。這種工作方式實(shí)質(zhì)上是一種同步移位寄存器方式。式實(shí)質(zhì)上是一種同步移位寄存器方式。數(shù)據(jù)傳輸波特率固定為(數(shù)據(jù)傳輸波特率固定為(112)fosc。由由RXD(P30)引腳輸入或輸出數(shù)據(jù)。)引腳輸入或輸出數(shù)據(jù)。由由TXD(P31)引腳輸出同步移位時(shí)鐘。)引腳輸出同步移位時(shí)鐘。接收發(fā)送的是接收發(fā)送的是8位數(shù)據(jù),傳輸時(shí)低位在前。幀格式如下:位數(shù)據(jù),傳輸時(shí)低位在前。幀格式如下: D0D1D2D3D4D5D6D72022-7-540圖圖513 串行口工作方式串行口工作方式0工作原理圖工作原理圖2022-7-541發(fā)送發(fā)送當(dāng)執(zhí)行任
31、何一條寫當(dāng)執(zhí)行任何一條寫SBUF的指令(的指令(MOV SBUF,A)時(shí),)時(shí),就啟動(dòng)串行數(shù)據(jù)的發(fā)送。就啟動(dòng)串行數(shù)據(jù)的發(fā)送。在執(zhí)行寫入在執(zhí)行寫入SBUF的指令時(shí),選通內(nèi)部的指令時(shí),選通內(nèi)部D觸發(fā)器置觸發(fā)器置1 ,構(gòu)成,構(gòu)成發(fā)送移位寄存器的第發(fā)送移位寄存器的第9位,位, 并使發(fā)送控制器開始發(fā)送。當(dāng)發(fā)送脈并使發(fā)送控制器開始發(fā)送。當(dāng)發(fā)送脈沖有效之后,移位寄存器的內(nèi)容由沖有效之后,移位寄存器的內(nèi)容由RXD(P3.0)引腳串行移位輸)引腳串行移位輸出;移位脈沖由出;移位脈沖由TXD(P3l)引腳輸出。)引腳輸出。在發(fā)送有效的期間,每個(gè)機(jī)器周期,發(fā)送移位寄存器右移在發(fā)送有效的期間,每個(gè)機(jī)器周期,發(fā)送移位寄
32、存器右移一位,在其左邊補(bǔ)一位,在其左邊補(bǔ)0。當(dāng)數(shù)據(jù)最高位移到移位寄存器的輸出位時(shí),。當(dāng)數(shù)據(jù)最高位移到移位寄存器的輸出位時(shí),原寫入第原寫入第9位的位的 l正好移到最高位的左邊一位,由此向左的所有位正好移到最高位的左邊一位,由此向左的所有位均為均為 0,零檢測器通知發(fā)送控制器要進(jìn)行最后一次移位,并撤銷,零檢測器通知發(fā)送控制器要進(jìn)行最后一次移位,并撤銷發(fā)送有效,同時(shí)使發(fā)送中斷標(biāo)志發(fā)送有效,同時(shí)使發(fā)送中斷標(biāo)志TI置位。至此,完成了一幀數(shù)據(jù)置位。至此,完成了一幀數(shù)據(jù)發(fā)送的全過程。若發(fā)送的全過程。若CPU響應(yīng)中斷,則執(zhí)行從響應(yīng)中斷,則執(zhí)行從0023H開始的串行口開始的串行口發(fā)送中斷服務(wù)程序。發(fā)送中斷服務(wù)程
33、序。 2022-7-542接收接收當(dāng)當(dāng)REN1(允許接收允許接收)且且RI位清除時(shí),就會(huì)啟動(dòng)一次接收過程。位清除時(shí),就會(huì)啟動(dòng)一次接收過程。在下一機(jī)器周期的在下一機(jī)器周期的S6P2時(shí)刻,接收控制器將時(shí)刻,接收控制器將1111 1110寫入寫入接收移位寄存器,并在下一時(shí)鐘周期接收移位寄存器,并在下一時(shí)鐘周期S1P1使接收控制器的接收有使接收控制器的接收有效,打開效,打開“與非門與非門” ,同時(shí)由,同時(shí)由TXD引腳輸出移位脈沖。在移位引腳輸出移位脈沖。在移位脈沖控制下,接收移位寄存器的內(nèi)容每一個(gè)機(jī)器周期左移一位,脈沖控制下,接收移位寄存器的內(nèi)容每一個(gè)機(jī)器周期左移一位,同時(shí)由同時(shí)由RXD引腳接收一位輸
34、入信號。引腳接收一位輸入信號。每當(dāng)接收移位寄存器左移一位,原寫入的每當(dāng)接收移位寄存器左移一位,原寫入的1111 1110也左移也左移一位。當(dāng)最右邊的一位。當(dāng)最右邊的0移到最左邊時(shí),標(biāo)志著接收控制器要進(jìn)行最移到最左邊時(shí),標(biāo)志著接收控制器要進(jìn)行最后一次移位。在最后一次移位即將結(jié)束時(shí),接收移位寄存器的內(nèi)后一次移位。在最后一次移位即將結(jié)束時(shí),接收移位寄存器的內(nèi)容送入接收數(shù)據(jù)緩沖寄存器容送入接收數(shù)據(jù)緩沖寄存器SBUF,然后在啟動(dòng)接收的第,然后在啟動(dòng)接收的第10個(gè)機(jī)個(gè)機(jī)器周期的器周期的S1P1時(shí),清除接收信號,置位時(shí),清除接收信號,置位SCON中的中的RI,發(fā)出中斷,發(fā)出中斷申請。完成一幀數(shù)據(jù)的接收過程。
35、若申請。完成一幀數(shù)據(jù)的接收過程。若CPU響應(yīng)中斷,則執(zhí)行從響應(yīng)中斷,則執(zhí)行從0023H 開始的串行口接收中斷服務(wù)程序開始的串行口接收中斷服務(wù)程序2022-7-543在方式在方式0 0工作時(shí),必須使工作時(shí),必須使SCONSCON寄存器中的寄存器中的SM2SM2位為位為“0”,0”,這這并不影響并不影響TB8TB8位和位和RB8RB8位。位。方式方式0 0發(fā)送或接收完發(fā)送或接收完8 8位數(shù)據(jù)后由硬件置位位數(shù)據(jù)后由硬件置位TITI或或RIRI中斷請求中斷請求標(biāo)志,標(biāo)志,CPUCPU在響應(yīng)中斷后要用軟件清除在響應(yīng)中斷后要用軟件清除TITI或或RIRI標(biāo)志。標(biāo)志。若串行口要作為并行口輸入輸出,這時(shí)必須設(shè)
36、置若串行口要作為并行口輸入輸出,這時(shí)必須設(shè)置“串入并串入并出出”或或“并入串出并入串出”的移位寄存器來配合使用的移位寄存器來配合使用( (如如CD4094CD4094或或CD4014CD4014等等) )。2022-7-544圖圖514 一種串行轉(zhuǎn)換為并行的方法一種串行轉(zhuǎn)換為并行的方法 2022-7-5452 串行口方式串行口方式18位位UART 當(dāng)當(dāng) SM00、SM11時(shí),串行口選擇方式時(shí),串行口選擇方式1。數(shù)據(jù)傳輸波特率由數(shù)據(jù)傳輸波特率由T1的溢出決定,可用程序設(shè)定。的溢出決定,可用程序設(shè)定。由由 TXD(P3.1)引腳發(fā)送數(shù)據(jù)。)引腳發(fā)送數(shù)據(jù)。由由 RXD(P3.0)引腳接收數(shù)據(jù)。)引腳
37、接收數(shù)據(jù)。發(fā)送或接收一幀信息為發(fā)送或接收一幀信息為10位:位:1位起始位(位起始位(0)、)、8位數(shù)據(jù)位位數(shù)據(jù)位(低低位在前位在前)和和l位停止位(位停止位(1)。幀格式如下:)。幀格式如下: 起起始始D0 D1D2D3D4D5D6D7停停止止2022-7-546發(fā)送:發(fā)送: 當(dāng)執(zhí)行任何一條寫當(dāng)執(zhí)行任何一條寫 SBUF的指令時(shí),就啟動(dòng)串行數(shù)據(jù)的的指令時(shí),就啟動(dòng)串行數(shù)據(jù)的發(fā)送。在執(zhí)行寫入發(fā)送。在執(zhí)行寫入SBUF的指令時(shí),也將的指令時(shí),也將1寫入發(fā)送移位寄存器寫入發(fā)送移位寄存器的第的第9位位(由由SBUF和和1個(gè)獨(dú)立的個(gè)獨(dú)立的D觸發(fā)器構(gòu)成觸發(fā)器構(gòu)成),并通知發(fā)送控制,并通知發(fā)送控制器有發(fā)送請求。實(shí)
38、際上發(fā)送過程開始于器有發(fā)送請求。實(shí)際上發(fā)送過程開始于16分頻計(jì)數(shù)器下次滿度分頻計(jì)數(shù)器下次滿度翻轉(zhuǎn)(由全翻轉(zhuǎn)(由全1變?nèi)內(nèi)?)后的那個(gè)機(jī)器周期的開始。每位的發(fā)送過)后的那個(gè)機(jī)器周期的開始。每位的發(fā)送過程與程與16分頻計(jì)數(shù)器同步,而不是與分頻計(jì)數(shù)器同步,而不是與“寫寫SBUF”同步。同步。2022-7-547圖圖515 串行口方式串行口方式1發(fā)送工作原理圖發(fā)送工作原理圖2022-7-548開始發(fā)送后的一個(gè)位周期,發(fā)送信號有效,開始將起開始發(fā)送后的一個(gè)位周期,發(fā)送信號有效,開始將起始位送始位送TXD引腳。一位時(shí)間后,數(shù)據(jù)信號有效。發(fā)送移位寄引腳。一位時(shí)間后,數(shù)據(jù)信號有效。發(fā)送移位寄存器將數(shù)據(jù)由低位
39、到高位順序輸出至存器將數(shù)據(jù)由低位到高位順序輸出至TXD引腳。一位時(shí)間后,引腳。一位時(shí)間后,第一個(gè)移位脈沖出現(xiàn)將最低數(shù)據(jù)位從右邊移出,同時(shí)第一個(gè)移位脈沖出現(xiàn)將最低數(shù)據(jù)位從右邊移出,同時(shí)0從左邊從左邊擠入。當(dāng)最高數(shù)據(jù)位移至發(fā)送移位寄存器的出端時(shí),先前裝擠入。當(dāng)最高數(shù)據(jù)位移至發(fā)送移位寄存器的出端時(shí),先前裝入的第入的第9位的位的l,正好在最高數(shù)據(jù)位的左邊,而它的右邊全部,正好在最高數(shù)據(jù)位的左邊,而它的右邊全部為為0。這種狀態(tài)被零檢測器檢測到,在第。這種狀態(tài)被零檢測器檢測到,在第10個(gè)位周期(個(gè)位周期(16分頻分頻計(jì)數(shù)器回計(jì)數(shù)器回0時(shí)),發(fā)送控制器進(jìn)行最后一次移位,清除發(fā)送信時(shí)),發(fā)送控制器進(jìn)行最后一次
40、移位,清除發(fā)送信號,同時(shí)使號,同時(shí)使SCON寄存器中寄存器中TI置位,完成了一幀數(shù)據(jù)發(fā)送的置位,完成了一幀數(shù)據(jù)發(fā)送的全過程。若全過程。若CPU響應(yīng)中斷,則執(zhí)行從響應(yīng)中斷,則執(zhí)行從0023H開始的串行口發(fā)開始的串行口發(fā)送中斷服務(wù)程序。送中斷服務(wù)程序。2022-7-549接收接收當(dāng)當(dāng)REN1且清除且清除RI后,若在后,若在RXD引腳上檢測到一個(gè)引腳上檢測到一個(gè)1到到0的跳變,立即啟動(dòng)一次接收。同時(shí),復(fù)位的跳變,立即啟動(dòng)一次接收。同時(shí),復(fù)位16分頻計(jì)數(shù)器,使輸分頻計(jì)數(shù)器,使輸入位的邊沿與時(shí)鐘對齊,并將入位的邊沿與時(shí)鐘對齊,并將1FFH(即(即9個(gè)個(gè)l)寫入接收移位寄)寫入接收移位寄存器。接收控制器以
41、波特率的存器。接收控制器以波特率的16倍的速率繼續(xù)對倍的速率繼續(xù)對RXD(P30)引腳進(jìn)行檢測,引腳進(jìn)行檢測,計(jì)數(shù)器的計(jì)數(shù)器的16個(gè)狀態(tài)把每一位的時(shí)間分為個(gè)狀態(tài)把每一位的時(shí)間分為16份,對每一位份,對每一位時(shí)間的第時(shí)間的第7、8、9個(gè)計(jì)數(shù)狀態(tài),位檢測器對個(gè)計(jì)數(shù)狀態(tài),位檢測器對RXD端的值采樣,這端的值采樣,這三個(gè)狀態(tài)理論上對應(yīng)于每一位的中央值。若發(fā)送端與接收端的三個(gè)狀態(tài)理論上對應(yīng)于每一位的中央值。若發(fā)送端與接收端的波特率有差異,就會(huì)發(fā)生偏移,只要這種差異在允許范圍內(nèi),波特率有差異,就會(huì)發(fā)生偏移,只要這種差異在允許范圍內(nèi),就不至于發(fā)生錯(cuò)位或漏碼。在上述三個(gè)狀態(tài)下,取得三個(gè)采樣就不至于發(fā)生錯(cuò)位或漏
42、碼。在上述三個(gè)狀態(tài)下,取得三個(gè)采樣值,其中至少有兩個(gè)值是一致的,即采用值,其中至少有兩個(gè)值是一致的,即采用3取取2的多數(shù)表決法,的多數(shù)表決法,可抑制噪聲??梢种圃肼?。 2022-7-550圖圖516 串行口方式串行口方式1接收工作原理圖接收工作原理圖2022-7-551如果在第如果在第1個(gè)時(shí)鐘周期中接收到的不是個(gè)時(shí)鐘周期中接收到的不是0,說明它不是一幀,說明它不是一幀數(shù)據(jù)的起始位,則復(fù)位接收電路,繼續(xù)檢測數(shù)據(jù)的起始位,則復(fù)位接收電路,繼續(xù)檢測RXD引腳上引腳上l到到0的跳的跳變。如果接收到的是起始位,就將其移入接收移位寄存器,然后變。如果接收到的是起始位,就將其移入接收移位寄存器,然后接收該幀
43、的其它位。接收到的位從右邊移入,原來寫入的接收該幀的其它位。接收到的位從右邊移入,原來寫入的1,從,從左邊移出,當(dāng)起始位移到最左邊時(shí),接收控制器將控制進(jìn)行最后左邊移出,當(dāng)起始位移到最左邊時(shí),接收控制器將控制進(jìn)行最后一次移位,把接收到的一次移位,把接收到的9位數(shù)據(jù)送入接收數(shù)據(jù)緩沖器位數(shù)據(jù)送入接收數(shù)據(jù)緩沖器SBUF和和RB8,而且置位而且置位RI。在進(jìn)行最后一次移位時(shí),能將數(shù)據(jù)送入接收數(shù)據(jù)緩沖器在進(jìn)行最后一次移位時(shí),能將數(shù)據(jù)送入接收數(shù)據(jù)緩沖器SBUF和和RB8,而且置位,而且置位RI的條件是:的條件是:RI0 即上一幀數(shù)據(jù)接收完成時(shí)發(fā)出的中斷請求已被響應(yīng),即上一幀數(shù)據(jù)接收完成時(shí)發(fā)出的中斷請求已被響
44、應(yīng),SBUF中數(shù)據(jù)已被取走。中數(shù)據(jù)已被取走。SM20或接收到的停止位或接收到的停止位1。若以上兩個(gè)條件中有一個(gè)不滿足,將不可恢復(fù)地丟失接收若以上兩個(gè)條件中有一個(gè)不滿足,將不可恢復(fù)地丟失接收到的這一幀信息。到的這一幀信息。 2022-7-5523 串行口方式串行口方式2和和3 9位位UART 當(dāng)當(dāng)SM01、SM10時(shí),串行口選擇方式時(shí),串行口選擇方式2;當(dāng);當(dāng)SM11、SM01時(shí),串行口選擇方式時(shí),串行口選擇方式3。由由TXD(P3l)引腳發(fā)送數(shù)據(jù)。)引腳發(fā)送數(shù)據(jù)。由由RXD(P30)引腳接收數(shù)據(jù)。)引腳接收數(shù)據(jù)。發(fā)送或接收一幀信息為發(fā)送或接收一幀信息為11位:位:1位起始位(位起始位(0)、)
45、、8位數(shù)據(jù)位位數(shù)據(jù)位(低位在前低位在前) 、1位可編程位和位可編程位和1位停止位(位停止位(l)。)。發(fā)送時(shí)可編程位發(fā)送時(shí)可編程位TB8可設(shè)置為可設(shè)置為1或或0,接收時(shí)可編程位進(jìn)入,接收時(shí)可編程位進(jìn)入SCON寄存器的寄存器的RB8位。位。方式方式2的波特率是固定的,為振蕩器頻率的的波特率是固定的,為振蕩器頻率的1/32或或1/64。方式。方式3的波特率則由的波特率則由T1的溢出決定,可用程序設(shè)定。的溢出決定,可用程序設(shè)定。 2022-7-553幀格式如下:幀格式如下: 起起 始始D0D1D2D3D4D5D6D7D8 停停 止止發(fā)送發(fā)送當(dāng)執(zhí)行任何一條寫當(dāng)執(zhí)行任何一條寫SBUF的指令時(shí),就啟動(dòng)串行
46、數(shù)據(jù)的發(fā)的指令時(shí),就啟動(dòng)串行數(shù)據(jù)的發(fā)送。在執(zhí)行寫入送。在執(zhí)行寫入SBUF的指令時(shí),也將的指令時(shí),也將 1寫入發(fā)送移位寄存器的寫入發(fā)送移位寄存器的第第 9位,并通知發(fā)送控制器有發(fā)送請求。實(shí)際上發(fā)送過程開始于位,并通知發(fā)送控制器有發(fā)送請求。實(shí)際上發(fā)送過程開始于16分頻計(jì)數(shù)器下次滿度翻轉(zhuǎn)(由全分頻計(jì)數(shù)器下次滿度翻轉(zhuǎn)(由全1變?nèi)內(nèi)?)后的那個(gè)機(jī)器周期)后的那個(gè)機(jī)器周期的開始。所以每位的發(fā)送過程與的開始。所以每位的發(fā)送過程與16分頻計(jì)數(shù)器同步,而不是與分頻計(jì)數(shù)器同步,而不是與“寫寫SBUF”同步。同步。 2022-7-554圖圖517 串行口工作方式串行口工作方式2工作原理圖工作原理圖2022-7-5
47、55開始發(fā)送后的一個(gè)位周期,發(fā)送信號有效,開始將起始開始發(fā)送后的一個(gè)位周期,發(fā)送信號有效,開始將起始位送位送TXD引腳。一位時(shí)間后,數(shù)據(jù)信號有效。發(fā)送移位寄存器引腳。一位時(shí)間后,數(shù)據(jù)信號有效。發(fā)送移位寄存器將數(shù)據(jù)由低位到高位順序輸出至將數(shù)據(jù)由低位到高位順序輸出至 TXD引腳。一位時(shí)間后,第一引腳。一位時(shí)間后,第一個(gè)移位脈沖出現(xiàn)將最低數(shù)據(jù)位從右邊移出,同時(shí)個(gè)移位脈沖出現(xiàn)將最低數(shù)據(jù)位從右邊移出,同時(shí)0從左邊擠入。從左邊擠入。當(dāng)最高數(shù)據(jù)位移至發(fā)送移位寄存器的輸出端時(shí),先前裝入的第當(dāng)最高數(shù)據(jù)位移至發(fā)送移位寄存器的輸出端時(shí),先前裝入的第 9位的位的 1,正好在最高數(shù)據(jù)位的左邊,而它的右邊全部為,正好在最
48、高數(shù)據(jù)位的左邊,而它的右邊全部為0。在。在第第10個(gè)位周期間個(gè)位周期間 (16分頻計(jì)數(shù)器回分頻計(jì)數(shù)器回0時(shí)),發(fā)送控制器進(jìn)行最后時(shí)),發(fā)送控制器進(jìn)行最后一次移位,清除發(fā)送信號,同時(shí)使一次移位,清除發(fā)送信號,同時(shí)使TI置位。置位。 2022-7-556接收接收當(dāng)當(dāng)RENl且清除且清除RI后,若在后,若在RXD引腳上檢測到一個(gè)引腳上檢測到一個(gè)l到到0的跳變,立即啟動(dòng)一次接收。同時(shí),復(fù)位的跳變,立即啟動(dòng)一次接收。同時(shí),復(fù)位16分頻計(jì)數(shù)器,使輸分頻計(jì)數(shù)器,使輸入位的邊沿與時(shí)鐘對齊,并將入位的邊沿與時(shí)鐘對齊,并將1FFH(即(即9個(gè)個(gè)1)寫入接收移位寄)寫入接收移位寄存器。接收控制器以波特率的存器。接收
49、控制器以波特率的16倍的速率繼續(xù)對倍的速率繼續(xù)對 RXD引腳進(jìn)行引腳進(jìn)行檢測,對每一位時(shí)間的第檢測,對每一位時(shí)間的第7、8、9個(gè)計(jì)數(shù)狀態(tài)的采樣值用多數(shù)表個(gè)計(jì)數(shù)狀態(tài)的采樣值用多數(shù)表決法,當(dāng)兩次或兩次以上的采樣值相同時(shí),采樣值予以接受。決法,當(dāng)兩次或兩次以上的采樣值相同時(shí),采樣值予以接受。如果在第如果在第1個(gè)時(shí)鐘周期中接收到的不是個(gè)時(shí)鐘周期中接收到的不是0,就復(fù)位接收電,就復(fù)位接收電路,繼續(xù)檢測路,繼續(xù)檢測RXD引腳上引腳上 1到到 0的跳變。如果接收到的是起始位,的跳變。如果接收到的是起始位,就將其移入接收移位寄存器,然后接該幀的其它位。接收到的就將其移入接收移位寄存器,然后接該幀的其它位。接收
50、到的位從右邊移入,原來寫入的位從右邊移入,原來寫入的1,從左邊移出,當(dāng)起始位移到最左,從左邊移出,當(dāng)起始位移到最左邊時(shí),接收控制器將控制進(jìn)行最后一次移位,把接收到的邊時(shí),接收控制器將控制進(jìn)行最后一次移位,把接收到的9位數(shù)位數(shù)據(jù)送入接收數(shù)據(jù)緩沖器據(jù)送入接收數(shù)據(jù)緩沖器SBUF和和RB8,而且置位,而且置位RI。 2022-7-557在進(jìn)行最后一次移位時(shí),能將數(shù)據(jù)送入接收數(shù)據(jù)緩沖器在進(jìn)行最后一次移位時(shí),能將數(shù)據(jù)送入接收數(shù)據(jù)緩沖器SBUF和和RB8,而且置位,而且置位RI的條件是:的條件是: RI0; SM20或接收到的停止位或接收到的停止位1。 若以上兩個(gè)條件中有一個(gè)不滿足,將不可恢復(fù)地丟失接若以上
51、兩個(gè)條件中有一個(gè)不滿足,將不可恢復(fù)地丟失接收到的這一幀信息。收到的這一幀信息。 2022-7-558多處理機(jī)通信方式多處理機(jī)通信方式 某些應(yīng)用系統(tǒng)中,往往需要對多個(gè)對象進(jìn)行控制,采用某些應(yīng)用系統(tǒng)中,往往需要對多個(gè)對象進(jìn)行控制,采用一個(gè)單片機(jī)來控制系統(tǒng)中一個(gè)對象,然后采用多處理機(jī)通信方一個(gè)單片機(jī)來控制系統(tǒng)中一個(gè)對象,然后采用多處理機(jī)通信方式實(shí)現(xiàn)應(yīng)用系統(tǒng)的整個(gè)功能。式實(shí)現(xiàn)應(yīng)用系統(tǒng)的整個(gè)功能。在串行口控制寄存器在串行口控制寄存器SCON中,設(shè)有多處理機(jī)通信位中,設(shè)有多處理機(jī)通信位SM2(SCON5)。)。當(dāng)串行口以方式當(dāng)串行口以方式2或方式或方式3接收時(shí),若接收時(shí),若SM21,只有當(dāng)接,只有當(dāng)接收到
52、的第收到的第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為)為1時(shí),才將數(shù)據(jù)送入接收緩沖器時(shí),才將數(shù)據(jù)送入接收緩沖器SBUF,并使,并使RI置置1,申請中斷,否則數(shù)據(jù)將丟失;若,申請中斷,否則數(shù)據(jù)將丟失;若SM20,則無論第則無論第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)是)是1還是還是0,都能將數(shù)據(jù)裝入,都能將數(shù)據(jù)裝入SBUF,并且發(fā)中斷。利用這一特性,便可實(shí)現(xiàn)主機(jī)與多個(gè)從機(jī)之間的并且發(fā)中斷。利用這一特性,便可實(shí)現(xiàn)主機(jī)與多個(gè)從機(jī)之間的串行通信。串行通信。2022-7-559圖圖518 80C51多機(jī)分布式系統(tǒng)示意圖多機(jī)分布式系統(tǒng)示意圖2022-7-560 系統(tǒng)初始化時(shí),將所有從機(jī)中的系統(tǒng)初始化時(shí),將所有從機(jī)中的SM2位均設(shè)
53、置為位均設(shè)置為1,并處于,并處于允許串行口中斷接收狀態(tài)。允許串行口中斷接收狀態(tài)。 主機(jī)欲與某從機(jī)通信,先向所有從機(jī)發(fā)出所選從機(jī)的地址,主機(jī)欲與某從機(jī)通信,先向所有從機(jī)發(fā)出所選從機(jī)的地址,從機(jī)地址符合后,接著才發(fā)送命令或數(shù)據(jù)。從機(jī)地址符合后,接著才發(fā)送命令或數(shù)據(jù)。 在主機(jī)發(fā)地址時(shí),置第在主機(jī)發(fā)地址時(shí),置第9位數(shù)據(jù)(位數(shù)據(jù)(TB8)為)為1,表示主機(jī)發(fā)送,表示主機(jī)發(fā)送的是地址幀;的是地址幀; 當(dāng)主機(jī)呼叫某從機(jī)聯(lián)絡(luò)正確后,主機(jī)發(fā)送命令或數(shù)據(jù)幀時(shí),當(dāng)主機(jī)呼叫某從機(jī)聯(lián)絡(luò)正確后,主機(jī)發(fā)送命令或數(shù)據(jù)幀時(shí),將第將第9位數(shù)據(jù)(位數(shù)據(jù)(TB8)清)清0。 2022-7-561 各從機(jī)由于各從機(jī)由于SM2置置1,將
54、響應(yīng)主機(jī)發(fā)來的第,將響應(yīng)主機(jī)發(fā)來的第9位數(shù)據(jù)(位數(shù)據(jù)(RB8)為為1的地址信息。從機(jī)響應(yīng)中斷后,有兩種不同的操作:的地址信息。從機(jī)響應(yīng)中斷后,有兩種不同的操作: 若從若從機(jī)的地址與主機(jī)點(diǎn)名的地址不相同,則該從機(jī)將繼續(xù)機(jī)的地址與主機(jī)點(diǎn)名的地址不相同,則該從機(jī)將繼續(xù)維持維持SM2為為l,從而拒絕接收主機(jī)后面發(fā)來的命令或數(shù)據(jù)信息,從而拒絕接收主機(jī)后面發(fā)來的命令或數(shù)據(jù)信息,等待主機(jī)的下一次點(diǎn)名。等待主機(jī)的下一次點(diǎn)名。 若從機(jī)的地址與主機(jī)點(diǎn)名的地址相同,該從機(jī)將本機(jī)的若從機(jī)的地址與主機(jī)點(diǎn)名的地址相同,該從機(jī)將本機(jī)的SM2清清0,繼續(xù)接收主機(jī)發(fā)來的命令或數(shù)據(jù),響應(yīng)中斷。,繼續(xù)接收主機(jī)發(fā)來的命令或數(shù)據(jù),響應(yīng)
55、中斷。2022-7-5621、串行口的波特率發(fā)生器及波特率計(jì)算串行口的波特率發(fā)生器及波特率計(jì)算 方式方式0時(shí)的波特率由振蕩器的頻率(時(shí)的波特率由振蕩器的頻率(fosc)所確定:波特率為)所確定:波特率為fosc/12。 方式方式2時(shí)的波特率由振蕩器的頻率(時(shí)的波特率由振蕩器的頻率(fosc)和)和SMOD位位(PCON7)所確定:)所確定: 當(dāng)當(dāng)SMOD位位1時(shí),波特率時(shí),波特率fosc/32;當(dāng);當(dāng)SMOD0時(shí),時(shí),波特率波特率fosc/64。 方式方式1和和3時(shí)的波特率由定時(shí)器時(shí)的波特率由定時(shí)器T1的溢出率和的溢出率和SMOD(PCON7)所確定。)所確定。 串行口的應(yīng)用串行口的應(yīng)用202
56、2-7-563(1)用定時(shí)器)用定時(shí)器T1產(chǎn)生波特率產(chǎn)生波特率 定時(shí)器定時(shí)器T1的溢出率與它的工作方式有關(guān):的溢出率與它的工作方式有關(guān):定時(shí)器定時(shí)器T1工作于方式工作于方式0:此時(shí)定時(shí)器:此時(shí)定時(shí)器T1相當(dāng)于一個(gè)相當(dāng)于一個(gè)13位位的計(jì)數(shù)器。的計(jì)數(shù)器。 式中:式中:TC13位計(jì)數(shù)器初值;位計(jì)數(shù)器初值; X中斷服務(wù)程序的機(jī)器周期數(shù),在中斷服務(wù)程序中中斷服務(wù)程序的機(jī)器周期數(shù),在中斷服務(wù)程序中重新對定時(shí)器置數(shù)。重新對定時(shí)器置數(shù)。2022-7-564式中:式中:TC16位計(jì)數(shù)器初值;位計(jì)數(shù)器初值; X中斷服務(wù)程序的機(jī)器周期數(shù),在中斷服務(wù)程序中中斷服務(wù)程序的機(jī)器周期數(shù),在中斷服務(wù)程序中重新對定時(shí)器置數(shù)。重
57、新對定時(shí)器置數(shù)。定時(shí)器定時(shí)器Tl工作于方式工作于方式2:此時(shí)定時(shí)器:此時(shí)定時(shí)器T1工作于一個(gè)工作于一個(gè)8位可位可重裝的方式,用重裝的方式,用TL1計(jì)數(shù),用計(jì)數(shù),用TH1裝初值。裝初值。 定時(shí)器定時(shí)器T1工作于方式工作于方式1:此時(shí)定時(shí)器:此時(shí)定時(shí)器T1相當(dāng)于一個(gè)相當(dāng)于一個(gè)16位位的計(jì)數(shù)器。的計(jì)數(shù)器。定時(shí)器定時(shí)器T1的溢出率的溢出率=fosc/(12(2nTC) )2022-7-565常用波特率常用波特率fosc(MHz)SMODTH1初值初值1920011.059210FDH960011.059200FDH480011.059200FAH240011.059200F4H120011.05920
58、0E8H表表52 串行口常用波特率及初值串行口常用波特率及初值2022-7-566串行通信應(yīng)用串行通信應(yīng)用 方式方式0 【應(yīng)用一】流水燈【應(yīng)用一】流水燈 采用采用80C51的串行口外接的串行口外接CD4094擴(kuò)展擴(kuò)展8位并行口,如圖所示,位并行口,如圖所示,CD4094的各個(gè)輸出端均接一發(fā)光的各個(gè)輸出端均接一發(fā)光二極管,要求發(fā)光二極管從左到右流水顯示。二極管,要求發(fā)光二極管從左到右流水顯示。 2022-7-567 ORG 0000H LJMP MAIN ORG 2000HMAIN:MOV SCON,#00H ;置串行口工作方式;置串行口工作方式0 MOV A,#01H :最高位燈先亮:最高位燈
59、先亮 CLR P1.1 ;關(guān)閉并行輸出(避象傳輸過程中,;關(guān)閉并行輸出(避象傳輸過程中, ;各;各LED的的“暗紅暗紅”現(xiàn)象)現(xiàn)象)OUT0:MOV SBUF,A ;開始串行輸出;開始串行輸出OUT1:JNB TI,OUT1 ;輸出完否?;輸出完否? CLR TI ;完了,清完了,清TI標(biāo)志,以備下次發(fā)送標(biāo)志,以備下次發(fā)送 SETB P1.1 ;打開并行口輸出;打開并行口輸出 ACALL DELAY ;延時(shí)一段時(shí)間;延時(shí)一段時(shí)間 RL A ;循環(huán)右移;循環(huán)右移 CLR P1.1 ;關(guān)閉并行輸出;關(guān)閉并行輸出 SJMP OUT0 ;循環(huán);循環(huán)DELAY: ;延時(shí)子程序,不再重復(fù);延時(shí)子程序,不再
60、重復(fù) END2022-7-568【應(yīng)用二】點(diǎn)對點(diǎn)通信【應(yīng)用二】點(diǎn)對點(diǎn)通信 單片機(jī)單片機(jī)1中有中有5個(gè)存放在個(gè)存放在30H34H單元中數(shù)據(jù)發(fā)送給單片單元中數(shù)據(jù)發(fā)送給單片機(jī)機(jī)2,單片機(jī),單片機(jī)2收到該收到該5個(gè)數(shù)據(jù)要存放在個(gè)數(shù)據(jù)要存放在50H54H單元中,單元中,要求采用要求采用4.8k波特率進(jìn)行傳送,兩臺(tái)單片機(jī)振蕩頻率均為波特率進(jìn)行傳送,兩臺(tái)單片機(jī)振蕩頻率均為6MHz。 兩臺(tái)單片機(jī)發(fā)送和接收數(shù)據(jù)之前需要一兩臺(tái)單片機(jī)發(fā)送和接收數(shù)據(jù)之前需要一“握手握手”信號信號“55H”,互相詢問對方是否準(zhǔn)備好。任一單片機(jī)接收到,互相詢問對方是否準(zhǔn)備好。任一單片機(jī)接收到對方的對方的“握手握手”信號信號“55H”,均
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南昌市租賃住房合同樣本
- 青島企業(yè)員工勞動(dòng)合同范本
- 企業(yè)退休返聘合同范本
- 租賃運(yùn)輸工具合同標(biāo)準(zhǔn)
- 版離婚合同模板:專業(yè)律師為您量身定制
- 酒店員工勞動(dòng)合同標(biāo)準(zhǔn)合同
- 高校畢業(yè)就業(yè)合同簽訂須知
- 影視作品授權(quán)合同(臺(tái)港澳地區(qū))
- 光纖通信安全與防護(hù)考核試卷
- 木片在農(nóng)業(yè)土壤改良的研究進(jìn)展考核試卷
- 慢性乙型肝炎防治指南(2022年版)解讀
- 搟筋課件教學(xué)課件
- 醫(yī)院工程改造工程施工組織設(shè)計(jì)方案
- 英語人稱代詞和物主代詞練習(xí)題(附答案)
- 《Windows server操作系統(tǒng)》Windows Server 2019全套教學(xué)課件
- 2024年12月大學(xué)英語四級CET-4真題試卷
- 煤礦應(yīng)急叫應(yīng)、回應(yīng)、響應(yīng)機(jī)制
- 護(hù)理人力資源配置原則及調(diào)配方案
- 2023級武漢大學(xué)臨床醫(yī)學(xué)畢業(yè)考試試卷
- 人教版數(shù)學(xué)二年級下冊全冊核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)
- 2024年蘇州市職業(yè)大學(xué)單招職業(yè)適應(yīng)性測試題庫完整版
評論
0/150
提交評論