




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、0909第九章串行接口第九章串行接口 9.1 9.1 串行口與串行通信串行口與串行通信 9.2 MCS-519.2 MCS-51單片機的串行接口單片機的串行接口 9.3 519.3 51單片機串行口的工作方式單片機串行口的工作方式9.19.1串行口與串行通信串行口與串行通信串行通信的格式及約定(如:同步方式、通訊速率、串行通信的格式及約定(如:同步方式、通訊速率、數(shù)據(jù)塊格式、信號電平數(shù)據(jù)塊格式、信號電平等)不同,形成了多種等)不同,形成了多種串行通信的協(xié)議與接口標準。串行通信的協(xié)議與接口標準。常見的有:常見的有:通用異步收發(fā)器通用異步收發(fā)器(UART)(UART)本課程介紹的串口本課程介紹的串
2、口通用串行總線通用串行總線(USBUSB)I2CI2C總線總線CANCAN總線總線SPISPI總線總線RS-485RS-485,RS-232CRS-232C,RS422ARS422A標準標準等等等等一、串行通信的基本特征一、串行通信的基本特征串行通信的基本特征是數(shù)據(jù)逐位順序進行傳送串行通信的基本特征是數(shù)據(jù)逐位順序進行傳送二、串行通信的協(xié)議與接口標準二、串行通信的協(xié)議與接口標準三、全雙工串行接口三、全雙工串行接口(UART)(UART)數(shù)據(jù)通信的數(shù)據(jù)通信的幾個術(shù)語:幾個術(shù)語: 并行:數(shù)據(jù)各位同時進行傳送并行:數(shù)據(jù)各位同時進行傳送 串行:數(shù)據(jù)逐位順序進行傳送串行:數(shù)據(jù)逐位順序進行傳送全雙工全雙工:
3、(:(串行通信串行通信) )收收/ /發(fā)可同時進行發(fā)可同時進行 半雙工半雙工:(:(串行通信串行通信) )收收/ /發(fā)不可同時進行發(fā)不可同時進行異步串行通信異步串行通信: :以字符為單位進行傳送以字符為單位進行傳送 同步串行通信同步串行通信: :以數(shù)據(jù)塊以數(shù)據(jù)塊為單位進行傳送為單位進行傳送 波特率波特率(bps.):(bps.):單位時間傳送的位數(shù)單位時間傳送的位數(shù)9.2 MCS-519.2 MCS-51單片機的串行接口單片機的串行接口SBUF(發(fā))(發(fā))SBUF(收)(收)發(fā)送控制器發(fā)送控制器 TI接收控制器接收控制器 RI移位寄存器移位寄存器波波特特率率發(fā)發(fā)生生器器T1 1A累累加加器器(
4、門門)移位寄存器移位寄存器RxDTxD去申請中斷去申請中斷引腳引腳引腳引腳一、一、51單片機的串行接口結(jié)構(gòu)圖單片機的串行接口結(jié)構(gòu)圖二、串行口的結(jié)構(gòu)二、串行口的結(jié)構(gòu)兩個同名的兩個同名的接收接收/ /發(fā)送緩沖寄存器發(fā)送緩沖寄存器SBUFSBUF 指令指令 MOV SBUFMOV SBUF,A A 啟動一次數(shù)據(jù)發(fā)送啟動一次數(shù)據(jù)發(fā)送, ,可可向向SBUFSBUF再發(fā)送下一個數(shù)再發(fā)送下一個數(shù) 指令指令 MOV AMOV A,SBUF SBUF 完成一次數(shù)據(jù)接完成一次數(shù)據(jù)接收收,SBUF,SBUF可再接收下一個數(shù)可再接收下一個數(shù)接收接收/ /發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù), ,無論是否采用中斷方式無論是否采用中斷方式
5、工作工作, ,每接收每接收/ /發(fā)送一個數(shù)據(jù)都必須用指發(fā)送一個數(shù)據(jù)都必須用指 令對令對 RI/TI RI/TI 清清0 0,以備下一次收,以備下一次收/ /發(fā)。發(fā)。串行口相關(guān)的串行口相關(guān)的SFR(SCON,PCON)SFR(SCON,PCON) SM0 SM1 SM2 REN TB8 RB8 TI R1SCONSCON SM0SM0,SM1SM1:串行口:串行口4 4種工作方式的選擇位。種工作方式的選擇位。 0 0 0 0 方式方式0 0:8 8位移位寄存器位移位寄存器I/O,I/O,波特率固定為波特率固定為 f foscosc/12/12 0 1 0 1 方式方式1 1:8 8位位UARTU
6、ART(1+8+11+8+1位),波特率可變位),波特率可變, ,按按公式計算公式計算 1 0 1 0 方式方式2 2:9 9位位UARTUART(1+8+1+11+8+1+1位),波特率固定位),波特率固定=f=foscosc x1/32x1/32或或1/641/64 1 1 1 1 方式方式3 3:9 9位位UARTUART(1+8+1+11+8+1+1位),波特率可變,位),波特率可變,按公式計算按公式計算 SM2SM2:串行口多機通信控制位:串行口多機通信控制位 (作為方式(作為方式2 2、方式、方式3 3的附加控制位)的附加控制位)三、串行口控制寄存器三、串行口控制寄存器SCON(9
7、8H)SCON(98H) RI,TIRI,TI:串行口收:串行口收/ /發(fā)數(shù)據(jù)申請中斷標志位發(fā)數(shù)據(jù)申請中斷標志位 1 1 申請中斷;申請中斷; 0 0 不申請中斷不申請中斷 TB8TB8:方式:方式2 2、3 3中,是要發(fā)送的第中,是要發(fā)送的第9 9位數(shù)據(jù)。位數(shù)據(jù)。 多機通信中多機通信中,TB8=0 ,TB8=0 表示發(fā)送的是數(shù)據(jù);表示發(fā)送的是數(shù)據(jù); TB8=1 TB8=1 表示發(fā)送的是地址。(奇偶校驗)表示發(fā)送的是地址。(奇偶校驗) RB8RB8:在方式:在方式2 2、3 3中,是收到的第中,是收到的第9 9位數(shù)據(jù)。位數(shù)據(jù)。 在多機通信中在多機通信中, ,用作區(qū)別地址幀用作區(qū)別地址幀/ /數(shù)
8、據(jù)幀的數(shù)據(jù)幀的 標志。(奇偶校驗)標志。(奇偶校驗) SM0 SM1 SM2 REN TB8 RB8 TI R1 RENREN:串行口接收允許控制位:串行口接收允許控制位 = 1 = 1 表示允許接收;表示允許接收; = 0 = 0 禁止接收。禁止接收。SCONSCONSMOD GF1 GF0 PD 1DL四、電源控制寄存器四、電源控制寄存器 PCONPCON(97H97H)特殊功能寄存器特殊功能寄存器PCONPCON不能按位尋址不能按位尋址 SMODSMOD:在串行口工作方式:在串行口工作方式 1 1、2 2、3 3 中,中, 是是波特率加倍位波特率加倍位 =1 =1 時,波特率加倍時,波特
9、率加倍 =0 =0 時,波特率不加倍。時,波特率不加倍。 ( (在在PCONPCON中只有這一個位與串口有關(guān)中只有這一個位與串口有關(guān)) ) GF1,GF0GF1,GF0:用戶可自行定義使用的通用標志位:用戶可自行定義使用的通用標志位PCONPCON PDPD:掉電方式控制位:掉電方式控制位 =0=0:常規(guī)工作方式。:常規(guī)工作方式。 =1=1:進入掉電方式:進入掉電方式: : 振蕩器停振振蕩器停振 片內(nèi)片內(nèi)RAMRAM和和SRFSRF的值保持不變的值保持不變 P0P0P3P3口維持原狀??诰S持原狀。 程序程序停止停止 只有復位能使之退出掉電方式。只有復位能使之退出掉電方式。 SMOD GF1 G
10、F0 PD IDLPCONPCON IDLIDL:待機方式:待機方式( (空閑方式空閑方式) )控制位控制位 =0=0:常規(guī)工作方式。:常規(guī)工作方式。 =1=1:進入待機方式:進入待機方式: 振蕩器繼續(xù)振蕩振蕩器繼續(xù)振蕩 中斷、定時器、串口功能繼續(xù)有效中斷、定時器、串口功能繼續(xù)有效 片內(nèi)片內(nèi)RAMRAM和和SRFSRF保持不變保持不變 CPUCPU狀態(tài)保持、狀態(tài)保持、P0P0P3P3口維持原狀口維持原狀 程序程序停頓停頓。 中斷和復位能退出待機中斷和復位能退出待機, ,繼續(xù)后面的程序。繼續(xù)后面的程序。SMOD GF1 GF0 PD 1DLPCONPCON PDPD:掉電控制位:掉電控制位 =0
11、=0:常規(guī)方式。:常規(guī)方式。 =1=1:掉電方式:掉電方式: :振蕩器停振振蕩器停振片內(nèi)片內(nèi)RAMRAM和和SRFSRF不變不變P0P0P3P3口維持原狀口維持原狀程序程序停止停止只有復位能退出掉電只有復位能退出掉電 IDLIDL:待機控制位:待機控制位 =0=0:常規(guī)方式。:常規(guī)方式。 =1=1:待機方式:待機方式:振蕩器繼續(xù)振蕩振蕩器繼續(xù)振蕩中斷中斷, ,定時器定時器, ,串口有效串口有效片內(nèi)片內(nèi)RAMRAM和和SRFSRF不變不變CPUCPU狀態(tài)狀態(tài),P0,P0P3P3維持原狀維持原狀程序程序停頓停頓。中斷和復位能退出待機中斷和復位能退出待機, ,繼續(xù)繼續(xù)后面的程序。后面的程序。SMOD
12、 GF1 GF0 PD 1DLPCONPCON一、工作方式一、工作方式0 0:8 8位移位寄存器位移位寄存器I/OI/O方式方式發(fā)送:發(fā)送:SBUFSBUF中的串行數(shù)據(jù)由中的串行數(shù)據(jù)由RxDRxD逐位移出;逐位移出; TxDTxD輸出移位時鐘,頻率輸出移位時鐘,頻率=fosc1/12=fosc1/12; 每送出每送出8 8位數(shù)據(jù)位數(shù)據(jù) TITI就自動置就自動置1 1; 需要用軟件清零需要用軟件清零 TITI。 接收:串行數(shù)據(jù)由接收:串行數(shù)據(jù)由RxDRxD逐位移入逐位移入SBUFSBUF中;中; TxDTxD輸出移位時鐘,頻率輸出移位時鐘,頻率=fosc1/12=fosc1/12; 每接收每接收
13、 8 8位數(shù)據(jù)位數(shù)據(jù)RIRI就自動置就自動置1 1; 需要用軟件清零需要用軟件清零 RIRI。9.3 519.3 51單片機串行口的工作方式單片機串行口的工作方式經(jīng)常配合經(jīng)常配合“串入并出串入并出”“”“并入串出并入串出”移位移位 寄存器一起使用擴展接口(第六章)。寄存器一起使用擴展接口(第六章)。 方式方式0 0工作時,多用查詢方式編程:工作時,多用查詢方式編程: 發(fā)送:發(fā)送:MOV SBUFMOV SBUF,A A 接收:接收:JNB RIJNB RI,$ $ JNB TI JNB TI,$ CLR RI $ CLR RI CLR TI MOV A, SBUF CLR TI MOV A,
14、SBUF工作方式工作方式0 0:8 8位移位寄存器位移位寄存器I/OI/O方式方式( (續(xù)續(xù)) )復位時復位時,SCON ,SCON 已經(jīng)被清零已經(jīng)被清零, ,缺省值缺省值: : 方式方式0 0。接收前接收前, ,務必先置位務必先置位 REN=1 REN=1 允許接收數(shù)據(jù)。允許接收數(shù)據(jù)。串行口方式串行口方式0 0的擴展應用的擴展應用經(jīng)常用到經(jīng)常用到串行口常用工作方式串行口常用工作方式0 0擴展出并行擴展出并行I/OI/O口,口,工作方式工作方式1 1、2 2、3 3則常用于串行通信則常用于串行通信A AB BCLKCLKh g f e d c b ah g f e d c b aCLRCLRA
15、 AB BCLKCLKCLRCLRA AB BCLKCLKCLRCLR+5V+5V74LS16474LS16474LS16474LS16474LS164是是串入并出串入并出芯片;芯片;74LS16574LS165是是并入串出并入串出芯片芯片h g f e d c b ah g f e d c b ah g f e d c b ah g f e d c b a+5V+5V共陽共陽LED LED 數(shù)碼管數(shù)碼管VCCVCCTxDTxDRxDRxD51單片機單片機共陽極共陽極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h共陽共陽LEDLED
16、數(shù)碼管數(shù)碼管公共端公共端( (字位字位) ) 接高電平,接高電平,筆劃筆劃( (字段字段) ) 置為低電平置為低電平就被點亮了就被點亮了h g f e d c b ah g f e d c b a累加器累加器 A0C0H = “0”0C0H = “0”比如要顯示比如要顯示“0”0” 須令須令a b c d e f a b c d e f 為為“0”0” 電平,電平,g hg h為為“1”1”電平。電平。再再比如要顯示比如要顯示“3”3” 須令須令a b c d g a b c d g 為為“0”0” 電平,電平,e f he f h為為“1”1”電平。電平。0B0H = “3”0B0H = “
17、3”例:利用串行口例:利用串行口工作方式工作方式0 0擴展出擴展出8 8位并行位并行I/OI/O口,驅(qū)動共陽口,驅(qū)動共陽LEDLED數(shù)碼管顯示數(shù)碼管顯示0 09 9。A AB BCLKCLKh g f e d c b ah g f e d c b aCLRCLR+5V+5VVCCVCCTxDTxDRxDRxD51單片機單片機74LS164共陽共陽LEDLED數(shù)碼管數(shù)碼管根據(jù)上圖編寫的通過串行口和74LS164 驅(qū)動共陽LED數(shù)碼管(查表)顯示0-9數(shù)字的子程序:DSPLY:MOV DPTR, #TABLE MOVC A, A+DPTR MOV SBUF, A JNB TI, $ CLR TI
18、RETTABLE:DB 0C0H,0F9H,0A4H DB 0B0H,99H,92H DB 82H,0F8H,80H,90Hh g f e d c b ah g f e d c b a累加器累加器 A1 1 0 0 0 0 0 01 1 0 0 0 0 0 00C0H = “0”0C0H = “0”1 0 1 1 0 0 0 01 0 1 1 0 0 0 00B0H = “3”0B0H = “3”共陽極共陽極h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h常用于串行通訊。除發(fā)常用于串行通訊。除發(fā)/ /收收8 8位數(shù)據(jù)外,還位數(shù)據(jù)外,還
19、 在在D0D0位前有一個起始位位前有一個起始位“0”0”; 在在D7D7位后有一個停止位位后有一個停止位“1”1”。方式方式1 1工作時:工作時: 發(fā)送端自動添加一個起始位和一個停止位;發(fā)送端自動添加一個起始位和一個停止位; 接收端自動去掉一個起始位和一個停止位。接收端自動去掉一個起始位和一個停止位。二、工作方式二、工作方式1 1:8:8位位UART(1+8+1UART(1+8+1位位) )波特率可變波特率可變 波特率可變波特率可變 用定時器用定時器T1T1作波特率發(fā)生器:作波特率發(fā)生器: 公式:波特率公式:波特率 = =(2 2SMODSMOD/32/32) T1T1的溢出率的溢出率波特率波
20、特率=(2=(2SMODSMOD/32)/32) T1T1的溢出率的溢出率 溢出率:溢出率:T1T1溢出的頻繁程度溢出的頻繁程度 即:即:T1T1溢出一次所需時間的倒數(shù)。溢出一次所需時間的倒數(shù)。 初值初值 X = 2 2n n - - 2 2SMOD SMOD fosc fosc32 32 波特率波特率 1212 波特率波特率 = =2 2SMOD SMOD fosc fosc32 32 12(2 12(2n n - X)- X)其中:其中:X X 是定時器初值是定時器初值 表格有多種表格有多種, , 晶振也不止一種晶振也不止一種串口波特率串口波特率 (方式方式1,3)foscSMOD位位(P
21、CON中中)定時器定時器T1C/T方式方式初值初值192006MHz1020FEH96006MHz1020FDH48006MHz0020FDH24006MHz0020FAH12006MHz0020F4H6006MHz0020E8H1106MHz00272H常用波特率和常用波特率和T1T1初值查表初值查表RxDRxD引腳為接收端,引腳為接收端,TxDTxD引腳為發(fā)送端引腳為發(fā)送端, ,由波特率由波特率 發(fā)生器發(fā)生器T1T1控制發(fā)送速度控制發(fā)送速度, ,不同于方式不同于方式0 0:收:收/ /發(fā)都發(fā)都 需要由需要由TxDTxD送出移位時鐘送出移位時鐘。 T1T1作波特率發(fā)生器時作波特率發(fā)生器時初始
22、化包括初始化包括: : 選選定時器工作方式定時器工作方式2 2(TMOD(TMOD選選8 8位自動重裝位自動重裝);); 將計算將計算( (或查表或查表) )出的初值出的初值X X賦給賦給TH1,TL1;TH1,TL1; 啟動啟動T1 (SETB TR1);T1 (SETB TR1); 對對T1T1不要開中斷不要開中斷 !工作方式工作方式1 1的接收的接收/ /發(fā)送發(fā)送串行口的初始化包括串行口的初始化包括: : 對對SCONSCON選工作方式選工作方式 對對PCONPCON設波特率加倍位設波特率加倍位“SMOD”(SMOD”(缺省值缺省值=0)=0) 如果是接收數(shù)據(jù)如果是接收數(shù)據(jù), ,仍要先置
23、仍要先置“1”REN1”REN位位 SM0 SM1 SM2 REN TB8 RB8 TI R1SCONSCON SM0SM0,SM1SM1:串行口工作方式選擇位。:串行口工作方式選擇位。 0 1 0 1 :方式:方式1 1,8 8位位UARTUART(1+8+11+8+1位)位) RENREN:串行口接收允許位。:串行口接收允許位。 REN=1 REN=1 允許接收允許接收串行口控制寄存器串行口控制寄存器SCONSCON 0 1 0 1 0 0 0 0 TB8TB8,RB8RB8,TITI,RIRI等位由運行中間的情況等位由運行中間的情況 決定,可先寫成決定,可先寫成 “ “0”0” SM2S
24、M2:串行口多機通信控制位:串行口多機通信控制位, ,作為方式作為方式2 2、3 3 的附加控制位,此處不用,可寫成的附加控制位,此處不用,可寫成“0”0”由于波特率固定由于波特率固定, ,常用于單片機間通訊。常用于單片機間通訊。 數(shù)據(jù)由數(shù)據(jù)由8+18+1位組成,通常附加的一位位組成,通常附加的一位 (TB8/RB8)(TB8/RB8)用于用于“奇偶校驗奇偶校驗”。 三、工作方式三、工作方式2 2: : 9 9位位UART(1+8+1+1UART(1+8+1+1位位) )兩種波特率兩種波特率 方式方式2 2的波特率的波特率 = fosc= fosc 2 2SMODSMOD/64 /64 即即:
25、 f: foscosc 1/32 1/32 或或 f foscosc 1/64 1/64 兩種兩種奇偶校驗是檢驗串行通信雙方傳輸?shù)臄?shù)據(jù)正確與奇偶校驗是檢驗串行通信雙方傳輸?shù)臄?shù)據(jù)正確與否的一個措施,并不能保證通信數(shù)據(jù)的傳輸一定正否的一個措施,并不能保證通信數(shù)據(jù)的傳輸一定正確。確。 換言之:如果換言之:如果奇偶校驗發(fā)生錯誤,表明數(shù)據(jù)傳輸奇偶校驗發(fā)生錯誤,表明數(shù)據(jù)傳輸一定出錯了;如果奇偶校驗沒有出錯,絕不等于數(shù)一定出錯了;如果奇偶校驗沒有出錯,絕不等于數(shù)據(jù)傳輸完全正確。據(jù)傳輸完全正確。奇校驗:奇校驗:8 8位有效數(shù)據(jù)連同位有效數(shù)據(jù)連同1 1位附加位中,位附加位中, 二進制二進制“1”1”的個數(shù)為奇數(shù)的個數(shù)為奇數(shù) 偶校驗:偶校驗:8 8位有效數(shù)據(jù)連同位有效數(shù)據(jù)連同1 1位附加位中,位附加位中, 二進制二進制“1”1”的個數(shù)為偶數(shù)的個數(shù)為偶數(shù)約定接收采用約定接收采用奇校驗奇校驗 若接收到的若接收到的9 9位數(shù)據(jù)中位數(shù)據(jù)中“1”1”的個數(shù)為奇數(shù),的個數(shù)為奇數(shù), 則表明接收正確,取出則表明接收正確,取出8 8位有效數(shù)據(jù)即可;位有效數(shù)據(jù)即可; 若接收到的若接收到的9 9位數(shù)據(jù)中位數(shù)據(jù)中“1”1”的個數(shù)為偶數(shù),的個數(shù)為偶數(shù), 則表明接收出錯!應當進行出錯處理。則表明接收出錯!應當進行出錯處理。約定發(fā)送采用約定發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀屑病物理治療
- 防水灌漿培訓課件
- 花西子七夕活動方案策劃
- 智能電力:實現(xiàn)能源供應的可持續(xù)性
- 2025年《小小郵遞員》大班標準教案
- 初一工作總結(jié)計劃
- 金融投資平臺投資風險提示及免責聲明書
- 專業(yè)教育機構(gòu)遠程教學平臺合作
- 市場趨勢的深度分析與解讀
- 電氣化鐵路架空導線相關(guān)行業(yè)投資規(guī)劃報告
- 顧客滿意度調(diào)查分析報告表
- 《托育服務政策法規(guī)與職業(yè)倫理》全套教學課件
- 山東省專升本綜合一(機械設計制造及其自動化)模擬試卷1(共264題)
- 2024中華人民共和國農(nóng)村集體經(jīng)濟組織法詳細解讀課件
- (完整文本版)日文履歷書(文本テンプレート)
- T-CPQS C010-2024 鑒賞收藏用潮流玩偶及類似用途產(chǎn)品
- 常見巖性名稱及符號
- 多圖中華民族共同體概論課件第十一講 中華一家與中華民族格局底定(清前中期)根據(jù)高等教育出版社教材制作
- 2024民主評議個人工作總結(jié)(5篇)
- 泵房穩(wěn)定計算
- 項目維修維保方案
評論
0/150
提交評論