版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
北京交通大學(xué)1第6章
串行通信接口本章主要內(nèi)容串行數(shù)據(jù)通信基本原理MCS-51單片機串行口串行口應(yīng)用舉例北京交通大學(xué)1第6章串行通信接口本章主要內(nèi)容北京交通大學(xué)2
計算機的兩種方式數(shù)據(jù)傳送:并行和串行
并行傳送的特點:各數(shù)據(jù)位同時傳送,傳送速度快、效率高。但需要的數(shù)據(jù)線多,因此傳送成本高。并行數(shù)據(jù)傳送的距離通常小于30米。
串行傳送的特點是:數(shù)據(jù)傳送按位順序進(jìn)行,最少只需一根傳輸線即可完成,成本低,但速度慢。串行數(shù)據(jù)傳送的距離可以從幾米到幾千公里。一、串行數(shù)據(jù)通信基本原理北京交通大學(xué)2一、串行數(shù)據(jù)通信基本原理北京交通大學(xué)3數(shù)據(jù)通信基本原理串行數(shù)據(jù)傳送又分為異步傳送和同步傳送兩種方式。在單片機中,主要使用異步傳送方式。北京交通大學(xué)3數(shù)據(jù)通信基本原理串行數(shù)據(jù)傳送又分為異步傳送和同北京交通大學(xué)4
1.異步串行通信的字符格式異步串行數(shù)據(jù)通信以字符為單位,即一次傳送一個字符。異步通信的數(shù)據(jù)格式為:一位起始位一位奇偶校驗位1、1.5、2位停止位
一幀信息5~8位數(shù)據(jù)位...北京交通大學(xué)41.異步串行通信的字符格式一位起始位北京交通大學(xué)5
1位起始位(為低電平);
5-8位數(shù)據(jù)位(緊跟著起始位),表示要傳送的有效數(shù)據(jù)(低位在前);
1位奇偶校驗位(可有可無);
1、1.5或2位停止位(為高電平)。從起始位開始到停止位結(jié)束的時間間隔稱為一幀。就是一個字符的完整通信格式。因此也把串行通信的字符格式稱為幀格式北京交通大學(xué)51位起始位(為低電平);北京交通大學(xué)6例如,采用串行異步通信方式傳送ASCII碼字符‘5’,規(guī)定為7位數(shù)據(jù)位,1位偶校驗位,1位停止位,無空閑位。
由于‘5’的ASCII碼為35H,其對應(yīng)7位數(shù)據(jù)位為0110101,如按低位在前、高位在后順序排列應(yīng)為1010110。前面加1位起始位,后面配上偶校驗位1位0,最后面加1位停止位1,因此傳送的字符格式為0101011001,其對應(yīng)的波形如圖所示。低位在前高位在后起始停止偶校驗北京交通大學(xué)6例如,采用串行異步通信方式傳送ASCII碼字符北京交通大學(xué)72.串行通信的數(shù)據(jù)通路形式串行數(shù)據(jù)通信有以下幾種數(shù)據(jù)通路形式:單工形式:A發(fā),B接。半雙工形式:
A發(fā)或接,
B接或發(fā)。全雙工形式:A發(fā)、接,B接、發(fā)。ABABAB北京交通大學(xué)72.串行通信的數(shù)據(jù)通路形式ABABAB北京交通大學(xué)83.串行通信的傳送速率
傳送速率:用于說明數(shù)據(jù)傳送的快慢。波特率(Baud):每秒傳送二進(jìn)制代碼位數(shù)即每秒傳送一個數(shù)據(jù)位就是一波特:常用的波特率有:75,110,300,600,1200,2400,4800,9600,19200。1波特=1bps(位/秒)北京交通大學(xué)83.串行通信的傳送速率1波特=1bps(北京交通大學(xué)9設(shè)數(shù)據(jù)傳送的速率每秒為120個字符,每個字符包含10個代碼位(1個起始位,1個停止位,8個數(shù)據(jù)位)波特率=10x120b/s=1200bps每一位代碼的傳送時間=1/1200=0.833ms北京交通大學(xué)9設(shè)數(shù)據(jù)傳送的速率每秒為120個字符,每個字符包北京交通大學(xué)10
4.串行通信接口電路
串行數(shù)據(jù)通信中主要有兩個技術(shù)問題數(shù)據(jù)傳送:數(shù)據(jù)傳送主要解決傳送中的標(biāo)準(zhǔn)、格式及工作方式等問題數(shù)據(jù)轉(zhuǎn)換:數(shù)據(jù)轉(zhuǎn)換是指數(shù)據(jù)的串并轉(zhuǎn)換北京交通大學(xué)104.串行通信接口電路北京交通大學(xué)11串行接口電路基本組成邏輯框圖如下:串行輸入時鐘復(fù)位并行輸出并行輸入時鐘串行輸出控制信號狀態(tài)、控制信息接收器發(fā)送器控制部件北京交通大學(xué)11串行接口電路基本組成邏輯框圖如下:串行輸入并北京交通大學(xué)12通用異步接收發(fā)送器(UART)
北京交通大學(xué)12通用異步接收發(fā)送器(UART)北京交通大學(xué)13異步串行通信常用接口
TTL電平直接連接RS-232C:
傳輸速度為20kbit/s,傳輸距離15英尺RS-422、RS-485:傳輸速度為10Mbit/s,傳輸距離300m—1200m并能抑制共模信號干擾20mA電流環(huán):
能降低對噪聲敏感程度光纖:光纖介質(zhì)可減少噪聲干擾,光電隔離提高安全性北京交通大學(xué)13異步串行通信常用接口TTL電平直接連接RS北京交通大學(xué)14二、MCS-51單片機串行口
MCS-51單片機片內(nèi)有一個全雙工串行口(P3.0接收、P3.1發(fā)送)功能:異步串行通信其中:發(fā)送和接收的速率與移位時鐘同步,
移位脈沖的速率為波特率。說明:定時器T1作為串行通信波特率發(fā)生器。北京交通大學(xué)14二、MCS-51單片機串行口MCS-5北京交通大學(xué)15TI發(fā)送中斷標(biāo)志RI接收中斷,允許接收REN串行口中斷1.串行口寄存器結(jié)構(gòu)發(fā)送寄存器(只能寫)接收寄存器(只能讀)(P3.1)(P3.0)SBUF全雙工方式進(jìn)行通信,這兩個寄存器共用一個地址(99H)。北京交通大學(xué)15TI發(fā)送中斷標(biāo)志RI接收中斷,允許接收REN北京交通大學(xué)16雙緩沖結(jié)構(gòu),防止產(chǎn)生重疊錯誤MOVSBUF,AMOVA,SBUF北京交通大學(xué)16雙緩沖結(jié)構(gòu),防止產(chǎn)生重疊錯誤MOVSBUF北京交通大學(xué)17例如:說明:串行接收采用雙緩沖結(jié)構(gòu),以避免在數(shù)據(jù)接收過程中出現(xiàn)幀重疊錯誤,但發(fā)送數(shù)據(jù)時,由于CPU是主動的,不會發(fā)生幀重疊錯誤,因此發(fā)送電路就不需要雙緩沖結(jié)構(gòu)。
2.串行通信控制有關(guān)的寄存器
SCON:串行控制,用來設(shè)定串行口的工作方式
PCON:電源控制,可控制波特率。
IE:設(shè)置串行中斷允許。啟動發(fā)送:MOVSBUF,A;SBUF(A)啟動接收:MOVA,SBUF
;A(SBUF)北京交通大學(xué)17例如:啟動發(fā)送:MOVSBUF,A;S北京交通大學(xué)18
(1)串行控制寄存器SCON
SCON格式如下:SM0SM1SM2RENTB8RB8
TI
RI
(98H)9F9E9D9C9B9A9998工作方式選擇位多機通信控制位允許接收控制位發(fā)送數(shù)據(jù)第九位接收數(shù)據(jù)第九位發(fā)送中斷標(biāo)志接收中斷標(biāo)志北京交通大學(xué)18(1)串行控制寄存器SCONSM0北京交通大學(xué)19各位功能說明如下:SM0SM1:串口工作方式選擇位
00方式0:同步移位寄存器波特率=主振頻率/1201方式1:8位異步,波特率可變10方式2:9位異步波特率=主振頻率/32或主振頻率/6411方式3:9位異步,波特率可變北京交通大學(xué)19各位功能說明如下:00方式0:同步移位北京交通大學(xué)20
REN=1:允許串行接收,用軟件置位或清除。
TB8:發(fā)送數(shù)據(jù)位8即:
D0…D7D8
TB8/RB8D8=0:表示數(shù)據(jù)幀;D8=1:表示地址幀⑴在工作方式2、3中,TB8是發(fā)送的第9位數(shù)據(jù),由軟件置位(SETBTB8)或復(fù)位(CLRTB8)⑵在雙機通信中,該位作為奇偶校驗位;⑶在多機通信中用來表示D7-D0是地址幀或數(shù)據(jù)幀北京交通大學(xué)20REN=1:允許串行接收,用軟件置位或清北京交通大學(xué)21
RB8:接收數(shù)據(jù)位8TI:發(fā)送中斷標(biāo)志。
⑴在工作方式2和3中,該位是接收到的第9位數(shù)據(jù)。方式1,SM2=0,停止位。方式0,不用。⑵在多機通信中是地址幀(RB8=1)和數(shù)據(jù)幀(RB8=0)的標(biāo)識位。⑴在方式0中,發(fā)送完第8位數(shù)據(jù)后,該位由硬件置位;⑵在其它方式中,在發(fā)送停止位之前,該位由硬件置位,申請中斷,CPU響應(yīng)中斷后,可以發(fā)送下一幀數(shù)據(jù)。該位必須由軟件清零。北京交通大學(xué)21RB8:接收數(shù)據(jù)位8⑴在工作方式2和3北京交通大學(xué)22
RI:接收中斷標(biāo)志。⑴在方式0中,接收完第8位數(shù)據(jù)后,該位由硬件置位⑵在其它方式中,在接收到停止位的一半時,該位由硬件置位(還需考慮SM2的設(shè)定),申請中斷,CPU響應(yīng)中斷后,可以接收下一幀數(shù)據(jù)。該位也必須由軟件清零。北京交通大學(xué)22RI:接收中斷標(biāo)志。⑴在方式0中,接收北京交通大學(xué)23
SM2:多機通信控制位,主要用于方式2、3中。⑴在方式0中,SM2設(shè)置為0,不用TB8和RB8
⑵在方式1中:當(dāng)SM2=0,則RB8是接收到的停止位;當(dāng)SM2=1,則只有接收到有效的停止位時,RI才被激活。⑶在方式2、3中,TB8和RB8為發(fā)送和接收的第九位數(shù)據(jù),當(dāng)SM2=0時,則不論RB8為0還是1,都將前8位數(shù)據(jù)裝入SBUF中,表示接收到命令或數(shù)據(jù),并產(chǎn)生中斷請求。當(dāng)SM2=1時,只有當(dāng)接收到的第九位數(shù)據(jù)
RB8=1時,才將接收到的前8位數(shù)據(jù)送入SBUF,表示接收到地址幀;
當(dāng)RB8=0時,將接收到的前8位數(shù)據(jù)丟棄。北京交通大學(xué)23SM2:多機通信控制位,主要用于方式2北京交通大學(xué)24說明:1.用軟件可以改變設(shè)置SCON內(nèi)容,并在下一條指令的第一個周期的S1P1期間才鎖存到SCON中。2.一幀發(fā)送完,發(fā)送中斷標(biāo)志置位(TI),向CPU請求中斷。一幀接收完,接收中斷標(biāo)志置位(RI),向CPU請求中斷。北京交通大學(xué)24說明:北京交通大學(xué)25
它主要是為CHMOS型單片機的電源控制而設(shè)置的。對HMOS型單片機,除了最高位(SMOD)之外,其它位都是虛設(shè)的,SMOD是串行口波特率的倍增位。
當(dāng):SMOD=1時,串行口波特率加倍系統(tǒng)復(fù)位時,SMOD=0??捎上铝兄噶钤O(shè)置:
MOVPCON,#80H;SMOD
1MOVPCON,#00H;SMOD
0(2)電源控制寄存器PCON格式:SMOD(87H)北京交通大學(xué)25它主要是為CHMOS型單片機的電源控北京交通大學(xué)26
(1)方式0:同步移位寄存器方式
RXD端作為數(shù)據(jù)移位的入口或出口
TXD端提供移位時鐘脈沖,移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,低位在前高位在后,波特率是固定的即一個機器周期移位一次。2.串行口的工作方式RXDTXDDATACLKRXDTXDDATACLK并行輸出并行輸入8051CD40968051CD4014下圖串并,并串轉(zhuǎn)換方法電路P1.0STBP1.0STBfOSC/12北京交通大學(xué)26(1)方式0:同步移位寄存器方式2.串北京交通大學(xué)27說明:
1.REN=1,允許接收。RXD數(shù)據(jù)輸入,TXD移位脈(fosc/12)。接收(發(fā)送)完8位數(shù)據(jù)時硬件將RI(TI)置位,CPU響應(yīng)中斷,
2.TI,RI必須由用戶程序清零。
3.方式0時:SM2=0,TB8、RB8不用4.擴展I/O
串行輸入,串行輸出,并串、串并轉(zhuǎn)換北京交通大學(xué)27說明:北京交通大學(xué)28數(shù)據(jù)輸出MOVSBUF,Afosc=1/12發(fā)送完8位數(shù)據(jù)北京交通大學(xué)28數(shù)據(jù)輸出MOVSBUF,Afosc=1/1北京交通大學(xué)29REN=“1”,方式0,RI=“0”RXD數(shù)據(jù)輸入端接收到8位數(shù)據(jù)北京交通大學(xué)29REN=“1”,方式0,RI=“0”接收到8北京交通大學(xué)30
數(shù)據(jù)發(fā)送
1.數(shù)據(jù)發(fā)送是由一條寫發(fā)送寄存器(MOVSBUF,A)指令開始的。
2.此后在串行口由硬件自動加入起始位和停止位,構(gòu)成一個完整的幀格式。
3.然后在移位脈沖的作用下,由TXD端串行輸出。
4.一個字符幀發(fā)送完后,使TXD端輸出線維持高電平,并將TI置位,通知CPU可以發(fā)送下一個字符。起始D0D1D2D3D4D5D6D7停止
(2)方式1
方式1的幀格式為:北京交通大學(xué)30數(shù)據(jù)發(fā)送起始D0D1D2D3D北京交通大學(xué)31
數(shù)據(jù)接收
1.接收數(shù)據(jù)時,應(yīng)使REN=1。在此前提下,串行口采樣RXD端,當(dāng)采樣到從1到0的跳變時,就認(rèn)定是接收到了起始位。
2.隨后在移位脈沖的控制下,把接收到的數(shù)據(jù)位移入接收寄存器中。
3.直到停止位到來之后把它送入到RB8中,并置位RI,通知CPU從SBUF取走接收到的一個字符。北京交通大學(xué)31數(shù)據(jù)接收北京交通大學(xué)32發(fā)送十位信息啟動發(fā)送完置1REN=“1”,SM0=0,SM1=1,RI=07,8,9共3次采樣數(shù)據(jù)采樣到1變0,啟動接收波特率16倍速率條件:1.RI=02.停止位=1,或SM2=0、停止位進(jìn)入RB8,并RI=1北京交通大學(xué)32發(fā)送十位信息啟動發(fā)送完置1REN=“1”,S北京交通大學(xué)33
波特率的設(shè)定
方式1的波特率可變,由下式?jīng)Q定:實際使用時,總是先確定波特率,再計算T1的計數(shù)初值。即:smod為PCON寄存器最高位的值,fOSC為晶振頻率,X為當(dāng)T1工作于方式2(8位自動加載)時的計數(shù)初值。其中:北京交通大學(xué)33波特率的設(shè)定其中:北京交通大學(xué)34
(3)方式2和方式3
串行口工作在方式2、3時,為9位異步通信口,發(fā)送和接收1幀信息由11位組成,即:D0D2...D7
D8
一幀1位起始位(0)、8位數(shù)據(jù)位(D0-D7)、1位可編程位(D8)和1位停止位(1)。D8位既可作為奇偶校驗位,也可作為控制位使用,功能由用戶確定發(fā)送時,可編程位D8(TB8)可設(shè)置為0(CLRTB8)或1(SETBTB8)接收時,TB8送入SCON寄存器中RB8位。北京交通大學(xué)34(3)方式2和方式3D0D2北京交通大學(xué)35方式2、3的區(qū)別是:波特率設(shè)置不同方式2的波特率是固定的。即:波特率=fosc/32或fosc/64方式3的波特率是可變的。即:北京交通大學(xué)35方式2、3的區(qū)別是:波特率設(shè)置不同北京交通大學(xué)36波特率foscsmod120011.059202E8H240011.059202F4H480011.059202FAH960011.059202FDH1920011.059212FDH
定時器1
方式時間常數(shù)表1波特率與時間常數(shù)北京交通大學(xué)36波特率foscsmod120北京交通大學(xué)37MCS-51串行通信波特率:方式0波特率=fOSC/12,fOSC為主機頻率方式2SMOD=1,波特率=fOSC/32;SMOD=0,波特率=fOSC/64;方式1,3T1溢出率=北京交通大學(xué)37MCS-51串行通信波特率:方式0T1溢出率北京交通大學(xué)38方式2發(fā)送程序:
以TB8為偶校驗位,處理方法是數(shù)據(jù)寫入SBUF之前,先將P寫入TB8CLRTI;發(fā)送中斷標(biāo)志TI清零
MOVA,R0;取數(shù)據(jù)
MOVC,P;奇偶校驗位送TB8MOVTB8,CMOVSBUF,A;數(shù)據(jù)寫入,啟動發(fā)送北京交通大學(xué)38方式2發(fā)送程序:北京交通大學(xué)39
接收程序若附加第九位數(shù)據(jù)為偶校驗位,接收程序中應(yīng)作校驗處理
CLRRI;收到一幀數(shù)據(jù)后清RIMOVA,SBUF;前八位數(shù)據(jù)送AMOVC,P;正確P=0,RB=0。P=1,RB=1
JNCPD0;P=0,判RB8=0否
JNBRB8,ERROR;P=1,RB8=0出錯
AJMPPOKPD0:JBRB8,ERRO;P=0,RB8=1出錯POK:MOV@RO,AERROR:…北京交通大學(xué)39接收程北京交通大學(xué)40利用串行口工作方式0擴展I/O口
MOVR1,#60HSETBP1.0CLRP1.0;下降沿并入
SETBP1.0;移位
MOVSCON,#10H;方式0,啟動接收
MOVR0,#02H;每組字節(jié)數(shù)2WAIT:JNBRI,WAITCLRRIMOVA,SBUFMOV@R1,AINCR1DJNZR0,WAIT北京交通大學(xué)40利用串行口工作方式0擴展I/O口北京交通大學(xué)41利用串行口工作方式0擴展I/O口
MOVR6,#02HMOVR0,#30HMOVSCON,#00H;方式0SEND:MOVA,@R0MOVSBUF,A;啟動發(fā)送
WAIT:JNBTI,WAITCLRTI;清發(fā)送中斷標(biāo)志
INCR0DJNZR6,WAIT北京交通大學(xué)41利用串行口工作方式0擴展I/O口北京交通大學(xué)42
三、串行口應(yīng)用舉例例6-1雙機通信設(shè):甲機發(fā)送乙機接收,串行口工作在方式1,波特率為1200fosc=11.0592MHz
硬件連接如圖
計算時間常數(shù)TXDRXD
GNDRXDTXDGND
T1作為波特率發(fā)生器,工作于方式2。由表1查得時間常數(shù)為E8H。
圖雙機通信乙甲北京交通大學(xué)42三、串行口應(yīng)用舉例例6-1雙北京交通大學(xué)43
甲機發(fā)送程序甲機將內(nèi)部RAM單元20H-3FH的32個字節(jié)的ASCII碼數(shù)據(jù),在最高位上加奇校驗位后,由串行口TXD發(fā)送給乙機。即可采用8位異步通信。START:MOVTMOD,#20H;T1為方式2
MOVTL1,#0E8H;時間常數(shù)低8位
MOVTH1,#0E8H;SETBTR1;啟動T1工作
MOVSCON,#01000000B;串行口方式1
MOVR0,#20H;數(shù)據(jù)首地址
MOVR7,#32;32字節(jié)數(shù)據(jù)北京交通大學(xué)43甲機發(fā)送程序北京交通大學(xué)44LOOP:MOVA,@R0;取數(shù)據(jù),影響P標(biāo)志位
MOVC,P;置奇校驗位
CPLCMOVACC.7,CMOVSBUF,A;啟動發(fā)送DONE:JNBTI,DONE;等待發(fā)完一幀
CLRTI;清TI,允許再發(fā)送
INCR0;指向下一數(shù)據(jù)
DJNZR7,LOOP;未送完,送下一個數(shù)
AJMPLOOP;循環(huán)發(fā)送北京交通大學(xué)44LOOP:MOVA,@R0北京交通大學(xué)45
乙機接收程序
與甲機發(fā)送相呼應(yīng),接收器把接收到的32個字節(jié)數(shù)據(jù)存放在內(nèi)部RAM的20H-3FH中,波特率與晶振頻率同上。若奇校驗出錯,則置進(jìn)位為1。程序如下:START:MOVTMOD,#20H;T1方式2
MOVTL,#OE8HMOVTH,#OE8HSETBTR1MOVR0,#20HMOVR7,#32LOOP:MOVSCON,#01010000B;串行口方式1,能接收北京交通大學(xué)45乙機接收程序START:MOV北京交通大學(xué)46DONE:JNBRI,DONE;等待接收一幀
CLRRI;清RI,再接收
MOVA,SBUF;取數(shù)據(jù)
JNBP,ERROR;校驗錯,轉(zhuǎn)出錯處理
ANLA,#7FH;去掉奇校驗位
MOV@R0,A;奇校驗,存數(shù)據(jù)
INCR0;指向下一數(shù)據(jù)
DJNZR7,LOOP;數(shù)據(jù)塊,未接收完,循環(huán)
AJMPLOOP;循環(huán)接收ERROR:…;出錯處理北京交通大學(xué)46DONE:JNBRI,DONE;等北京交通大學(xué)47作業(yè)P144:2,3,7北京交通大學(xué)47作業(yè)北京交通大學(xué)48第6章
串行通信接口本章主要內(nèi)容串行數(shù)據(jù)通信基本原理MCS-51單片機串行口串行口應(yīng)用舉例北京交通大學(xué)1第6章串行通信接口本章主要內(nèi)容北京交通大學(xué)49
計算機的兩種方式數(shù)據(jù)傳送:并行和串行
并行傳送的特點:各數(shù)據(jù)位同時傳送,傳送速度快、效率高。但需要的數(shù)據(jù)線多,因此傳送成本高。并行數(shù)據(jù)傳送的距離通常小于30米。
串行傳送的特點是:數(shù)據(jù)傳送按位順序進(jìn)行,最少只需一根傳輸線即可完成,成本低,但速度慢。串行數(shù)據(jù)傳送的距離可以從幾米到幾千公里。一、串行數(shù)據(jù)通信基本原理北京交通大學(xué)2一、串行數(shù)據(jù)通信基本原理北京交通大學(xué)50數(shù)據(jù)通信基本原理串行數(shù)據(jù)傳送又分為異步傳送和同步傳送兩種方式。在單片機中,主要使用異步傳送方式。北京交通大學(xué)3數(shù)據(jù)通信基本原理串行數(shù)據(jù)傳送又分為異步傳送和同北京交通大學(xué)51
1.異步串行通信的字符格式異步串行數(shù)據(jù)通信以字符為單位,即一次傳送一個字符。異步通信的數(shù)據(jù)格式為:一位起始位一位奇偶校驗位1、1.5、2位停止位
一幀信息5~8位數(shù)據(jù)位...北京交通大學(xué)41.異步串行通信的字符格式一位起始位北京交通大學(xué)52
1位起始位(為低電平);
5-8位數(shù)據(jù)位(緊跟著起始位),表示要傳送的有效數(shù)據(jù)(低位在前);
1位奇偶校驗位(可有可無);
1、1.5或2位停止位(為高電平)。從起始位開始到停止位結(jié)束的時間間隔稱為一幀。就是一個字符的完整通信格式。因此也把串行通信的字符格式稱為幀格式北京交通大學(xué)51位起始位(為低電平);北京交通大學(xué)53例如,采用串行異步通信方式傳送ASCII碼字符‘5’,規(guī)定為7位數(shù)據(jù)位,1位偶校驗位,1位停止位,無空閑位。
由于‘5’的ASCII碼為35H,其對應(yīng)7位數(shù)據(jù)位為0110101,如按低位在前、高位在后順序排列應(yīng)為1010110。前面加1位起始位,后面配上偶校驗位1位0,最后面加1位停止位1,因此傳送的字符格式為0101011001,其對應(yīng)的波形如圖所示。低位在前高位在后起始停止偶校驗北京交通大學(xué)6例如,采用串行異步通信方式傳送ASCII碼字符北京交通大學(xué)542.串行通信的數(shù)據(jù)通路形式串行數(shù)據(jù)通信有以下幾種數(shù)據(jù)通路形式:單工形式:A發(fā),B接。半雙工形式:
A發(fā)或接,
B接或發(fā)。全雙工形式:A發(fā)、接,B接、發(fā)。ABABAB北京交通大學(xué)72.串行通信的數(shù)據(jù)通路形式ABABAB北京交通大學(xué)553.串行通信的傳送速率
傳送速率:用于說明數(shù)據(jù)傳送的快慢。波特率(Baud):每秒傳送二進(jìn)制代碼位數(shù)即每秒傳送一個數(shù)據(jù)位就是一波特:常用的波特率有:75,110,300,600,1200,2400,4800,9600,19200。1波特=1bps(位/秒)北京交通大學(xué)83.串行通信的傳送速率1波特=1bps(北京交通大學(xué)56設(shè)數(shù)據(jù)傳送的速率每秒為120個字符,每個字符包含10個代碼位(1個起始位,1個停止位,8個數(shù)據(jù)位)波特率=10x120b/s=1200bps每一位代碼的傳送時間=1/1200=0.833ms北京交通大學(xué)9設(shè)數(shù)據(jù)傳送的速率每秒為120個字符,每個字符包北京交通大學(xué)57
4.串行通信接口電路
串行數(shù)據(jù)通信中主要有兩個技術(shù)問題數(shù)據(jù)傳送:數(shù)據(jù)傳送主要解決傳送中的標(biāo)準(zhǔn)、格式及工作方式等問題數(shù)據(jù)轉(zhuǎn)換:數(shù)據(jù)轉(zhuǎn)換是指數(shù)據(jù)的串并轉(zhuǎn)換北京交通大學(xué)104.串行通信接口電路北京交通大學(xué)58串行接口電路基本組成邏輯框圖如下:串行輸入時鐘復(fù)位并行輸出并行輸入時鐘串行輸出控制信號狀態(tài)、控制信息接收器發(fā)送器控制部件北京交通大學(xué)11串行接口電路基本組成邏輯框圖如下:串行輸入并北京交通大學(xué)59通用異步接收發(fā)送器(UART)
北京交通大學(xué)12通用異步接收發(fā)送器(UART)北京交通大學(xué)60異步串行通信常用接口
TTL電平直接連接RS-232C:
傳輸速度為20kbit/s,傳輸距離15英尺RS-422、RS-485:傳輸速度為10Mbit/s,傳輸距離300m—1200m并能抑制共模信號干擾20mA電流環(huán):
能降低對噪聲敏感程度光纖:光纖介質(zhì)可減少噪聲干擾,光電隔離提高安全性北京交通大學(xué)13異步串行通信常用接口TTL電平直接連接RS北京交通大學(xué)61二、MCS-51單片機串行口
MCS-51單片機片內(nèi)有一個全雙工串行口(P3.0接收、P3.1發(fā)送)功能:異步串行通信其中:發(fā)送和接收的速率與移位時鐘同步,
移位脈沖的速率為波特率。說明:定時器T1作為串行通信波特率發(fā)生器。北京交通大學(xué)14二、MCS-51單片機串行口MCS-5北京交通大學(xué)62TI發(fā)送中斷標(biāo)志RI接收中斷,允許接收REN串行口中斷1.串行口寄存器結(jié)構(gòu)發(fā)送寄存器(只能寫)接收寄存器(只能讀)(P3.1)(P3.0)SBUF全雙工方式進(jìn)行通信,這兩個寄存器共用一個地址(99H)。北京交通大學(xué)15TI發(fā)送中斷標(biāo)志RI接收中斷,允許接收REN北京交通大學(xué)63雙緩沖結(jié)構(gòu),防止產(chǎn)生重疊錯誤MOVSBUF,AMOVA,SBUF北京交通大學(xué)16雙緩沖結(jié)構(gòu),防止產(chǎn)生重疊錯誤MOVSBUF北京交通大學(xué)64例如:說明:串行接收采用雙緩沖結(jié)構(gòu),以避免在數(shù)據(jù)接收過程中出現(xiàn)幀重疊錯誤,但發(fā)送數(shù)據(jù)時,由于CPU是主動的,不會發(fā)生幀重疊錯誤,因此發(fā)送電路就不需要雙緩沖結(jié)構(gòu)。
2.串行通信控制有關(guān)的寄存器
SCON:串行控制,用來設(shè)定串行口的工作方式
PCON:電源控制,可控制波特率。
IE:設(shè)置串行中斷允許。啟動發(fā)送:MOVSBUF,A;SBUF(A)啟動接收:MOVA,SBUF
;A(SBUF)北京交通大學(xué)17例如:啟動發(fā)送:MOVSBUF,A;S北京交通大學(xué)65
(1)串行控制寄存器SCON
SCON格式如下:SM0SM1SM2RENTB8RB8
TI
RI
(98H)9F9E9D9C9B9A9998工作方式選擇位多機通信控制位允許接收控制位發(fā)送數(shù)據(jù)第九位接收數(shù)據(jù)第九位發(fā)送中斷標(biāo)志接收中斷標(biāo)志北京交通大學(xué)18(1)串行控制寄存器SCONSM0北京交通大學(xué)66各位功能說明如下:SM0SM1:串口工作方式選擇位
00方式0:同步移位寄存器波特率=主振頻率/1201方式1:8位異步,波特率可變10方式2:9位異步波特率=主振頻率/32或主振頻率/6411方式3:9位異步,波特率可變北京交通大學(xué)19各位功能說明如下:00方式0:同步移位北京交通大學(xué)67
REN=1:允許串行接收,用軟件置位或清除。
TB8:發(fā)送數(shù)據(jù)位8即:
D0…D7D8
TB8/RB8D8=0:表示數(shù)據(jù)幀;D8=1:表示地址幀⑴在工作方式2、3中,TB8是發(fā)送的第9位數(shù)據(jù),由軟件置位(SETBTB8)或復(fù)位(CLRTB8)⑵在雙機通信中,該位作為奇偶校驗位;⑶在多機通信中用來表示D7-D0是地址幀或數(shù)據(jù)幀北京交通大學(xué)20REN=1:允許串行接收,用軟件置位或清北京交通大學(xué)68
RB8:接收數(shù)據(jù)位8TI:發(fā)送中斷標(biāo)志。
⑴在工作方式2和3中,該位是接收到的第9位數(shù)據(jù)。方式1,SM2=0,停止位。方式0,不用。⑵在多機通信中是地址幀(RB8=1)和數(shù)據(jù)幀(RB8=0)的標(biāo)識位。⑴在方式0中,發(fā)送完第8位數(shù)據(jù)后,該位由硬件置位;⑵在其它方式中,在發(fā)送停止位之前,該位由硬件置位,申請中斷,CPU響應(yīng)中斷后,可以發(fā)送下一幀數(shù)據(jù)。該位必須由軟件清零。北京交通大學(xué)21RB8:接收數(shù)據(jù)位8⑴在工作方式2和3北京交通大學(xué)69
RI:接收中斷標(biāo)志。⑴在方式0中,接收完第8位數(shù)據(jù)后,該位由硬件置位⑵在其它方式中,在接收到停止位的一半時,該位由硬件置位(還需考慮SM2的設(shè)定),申請中斷,CPU響應(yīng)中斷后,可以接收下一幀數(shù)據(jù)。該位也必須由軟件清零。北京交通大學(xué)22RI:接收中斷標(biāo)志。⑴在方式0中,接收北京交通大學(xué)70
SM2:多機通信控制位,主要用于方式2、3中。⑴在方式0中,SM2設(shè)置為0,不用TB8和RB8
⑵在方式1中:當(dāng)SM2=0,則RB8是接收到的停止位;當(dāng)SM2=1,則只有接收到有效的停止位時,RI才被激活。⑶在方式2、3中,TB8和RB8為發(fā)送和接收的第九位數(shù)據(jù),當(dāng)SM2=0時,則不論RB8為0還是1,都將前8位數(shù)據(jù)裝入SBUF中,表示接收到命令或數(shù)據(jù),并產(chǎn)生中斷請求。當(dāng)SM2=1時,只有當(dāng)接收到的第九位數(shù)據(jù)
RB8=1時,才將接收到的前8位數(shù)據(jù)送入SBUF,表示接收到地址幀;
當(dāng)RB8=0時,將接收到的前8位數(shù)據(jù)丟棄。北京交通大學(xué)23SM2:多機通信控制位,主要用于方式2北京交通大學(xué)71說明:1.用軟件可以改變設(shè)置SCON內(nèi)容,并在下一條指令的第一個周期的S1P1期間才鎖存到SCON中。2.一幀發(fā)送完,發(fā)送中斷標(biāo)志置位(TI),向CPU請求中斷。一幀接收完,接收中斷標(biāo)志置位(RI),向CPU請求中斷。北京交通大學(xué)24說明:北京交通大學(xué)72
它主要是為CHMOS型單片機的電源控制而設(shè)置的。對HMOS型單片機,除了最高位(SMOD)之外,其它位都是虛設(shè)的,SMOD是串行口波特率的倍增位。
當(dāng):SMOD=1時,串行口波特率加倍系統(tǒng)復(fù)位時,SMOD=0。可由下列指令設(shè)置:
MOVPCON,#80H;SMOD
1MOVPCON,#00H;SMOD
0(2)電源控制寄存器PCON格式:SMOD(87H)北京交通大學(xué)25它主要是為CHMOS型單片機的電源控北京交通大學(xué)73
(1)方式0:同步移位寄存器方式
RXD端作為數(shù)據(jù)移位的入口或出口
TXD端提供移位時鐘脈沖,移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,低位在前高位在后,波特率是固定的即一個機器周期移位一次。2.串行口的工作方式RXDTXDDATACLKRXDTXDDATACLK并行輸出并行輸入8051CD40968051CD4014下圖串并,并串轉(zhuǎn)換方法電路P1.0STBP1.0STBfOSC/12北京交通大學(xué)26(1)方式0:同步移位寄存器方式2.串北京交通大學(xué)74說明:
1.REN=1,允許接收。RXD數(shù)據(jù)輸入,TXD移位脈(fosc/12)。接收(發(fā)送)完8位數(shù)據(jù)時硬件將RI(TI)置位,CPU響應(yīng)中斷,
2.TI,RI必須由用戶程序清零。
3.方式0時:SM2=0,TB8、RB8不用4.擴展I/O
串行輸入,串行輸出,并串、串并轉(zhuǎn)換北京交通大學(xué)27說明:北京交通大學(xué)75數(shù)據(jù)輸出MOVSBUF,Afosc=1/12發(fā)送完8位數(shù)據(jù)北京交通大學(xué)28數(shù)據(jù)輸出MOVSBUF,Afosc=1/1北京交通大學(xué)76REN=“1”,方式0,RI=“0”RXD數(shù)據(jù)輸入端接收到8位數(shù)據(jù)北京交通大學(xué)29REN=“1”,方式0,RI=“0”接收到8北京交通大學(xué)77
數(shù)據(jù)發(fā)送
1.數(shù)據(jù)發(fā)送是由一條寫發(fā)送寄存器(MOVSBUF,A)指令開始的。
2.此后在串行口由硬件自動加入起始位和停止位,構(gòu)成一個完整的幀格式。
3.然后在移位脈沖的作用下,由TXD端串行輸出。
4.一個字符幀發(fā)送完后,使TXD端輸出線維持高電平,并將TI置位,通知CPU可以發(fā)送下一個字符。起始D0D1D2D3D4D5D6D7停止
(2)方式1
方式1的幀格式為:北京交通大學(xué)30數(shù)據(jù)發(fā)送起始D0D1D2D3D北京交通大學(xué)78
數(shù)據(jù)接收
1.接收數(shù)據(jù)時,應(yīng)使REN=1。在此前提下,串行口采樣RXD端,當(dāng)采樣到從1到0的跳變時,就認(rèn)定是接收到了起始位。
2.隨后在移位脈沖的控制下,把接收到的數(shù)據(jù)位移入接收寄存器中。
3.直到停止位到來之后把它送入到RB8中,并置位RI,通知CPU從SBUF取走接收到的一個字符。北京交通大學(xué)31數(shù)據(jù)接收北京交通大學(xué)79發(fā)送十位信息啟動發(fā)送完置1REN=“1”,SM0=0,SM1=1,RI=07,8,9共3次采樣數(shù)據(jù)采樣到1變0,啟動接收波特率16倍速率條件:1.RI=02.停止位=1,或SM2=0、停止位進(jìn)入RB8,并RI=1北京交通大學(xué)32發(fā)送十位信息啟動發(fā)送完置1REN=“1”,S北京交通大學(xué)80
波特率的設(shè)定
方式1的波特率可變,由下式?jīng)Q定:實際使用時,總是先確定波特率,再計算T1的計數(shù)初值。即:smod為PCON寄存器最高位的值,fOSC為晶振頻率,X為當(dāng)T1工作于方式2(8位自動加載)時的計數(shù)初值。其中:北京交通大學(xué)33波特率的設(shè)定其中:北京交通大學(xué)81
(3)方式2和方式3
串行口工作在方式2、3時,為9位異步通信口,發(fā)送和接收1幀信息由11位組成,即:D0D2...D7
D8
一幀1位起始位(0)、8位數(shù)據(jù)位(D0-D7)、1位可編程位(D8)和1位停止位(1)。D8位既可作為奇偶校驗位,也可作為控制位使用,功能由用戶確定發(fā)送時,可編程位D8(TB8)可設(shè)置為0(CLRTB8)或1(SETBTB8)接收時,TB8送入SCON寄存器中RB8位。北京交通大學(xué)34(3)方式2和方式3D0D2北京交通大學(xué)82方式2、3的區(qū)別是:波特率設(shè)置不同方式2的波特率是固定的。即:波特率=fosc/32或fosc/64方式3的波特率是可變的。即:北京交通大學(xué)35方式2、3的區(qū)別是:波特率設(shè)置不同北京交通大學(xué)83波特率foscsmod120011.059202E8H240011.059202F4H480011.059202FAH960011.059202FDH1920011.059212FDH
定時器1
方式時間常數(shù)表1波特率與時間常數(shù)北京交通大學(xué)36波特率foscsmod120北京交通大學(xué)84MCS-51串行通信波特率:方式0波特率=fOSC/12,fOSC為主機頻率方式2SMOD=1,波特率=fOSC/32;SMOD=0,波特率=fOSC/64;方式1,3T1溢出率=北京交通大學(xué)37MCS-51串行通信波特率:方式0T1溢出率北京交通大學(xué)85方式2發(fā)送程序:
以TB8為偶校驗位,處理方法是數(shù)據(jù)寫入SBUF之前,先將P寫入TB8CLRTI;發(fā)送中斷標(biāo)志TI清零
MOVA,R0;取數(shù)據(jù)
MOVC,P;奇偶校驗位送TB8MOVTB8,CMOVSBUF,A;數(shù)據(jù)寫入,啟動發(fā)送北京交通大學(xué)38方式2發(fā)送程序:北京交通大學(xué)86
接收程序若附加第九位數(shù)據(jù)為偶校驗位,接收程序中應(yīng)作校驗處理
CLRRI;收到一幀數(shù)據(jù)后清RIMOVA,SBUF;前八位數(shù)據(jù)送AMOVC,P;正確P=0,RB=0。P=1,RB=1
JNCPD0;P=0,判RB8=0否
JNBRB8,ERROR;P=1,RB8=0出錯
AJMPPOKPD0:JBRB8,ERRO;P=0,RB8=1出錯POK:MOV@RO,AERROR:…北京交通大學(xué)39接收程北京交通大學(xué)87利用串行口工作方式0擴展I/O口
MOVR1,#60HSETBP1.0CLRP1.0;下降沿并入
SETBP1.0;移位
MOVSCON,#10H;方式0,啟動接收
MOVR0,#02H;每組字節(jié)數(shù)2WAIT:JNBRI,WAITCLRRIMOVA,SBUFMOV@R1,A
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人教育產(chǎn)品居間合同范本正規(guī)范4篇
- 二零二五年度車輛抵押貸款監(jiān)管協(xié)議3篇
- 二零二五版幼兒園幼兒體育活動組織與指導(dǎo)合同4篇
- 建筑裝飾設(shè)計合同(2篇)
- 工廠勞務(wù)合同范本(2篇)
- 全新業(yè)務(wù)2025年度融資租賃合同3篇
- 2025年度建筑工地挖掘機駕駛員勞動合同范本2篇
- 蘑菇水塔施工方案
- AI醫(yī)療應(yīng)用研究模板
- 二零二五年度綠色環(huán)保抹灰材料供應(yīng)承包合同4篇
- 《天潤乳業(yè)營運能力及風(fēng)險管理問題及完善對策(7900字論文)》
- 醫(yī)院醫(yī)學(xué)倫理委員會章程
- xx單位政務(wù)云商用密碼應(yīng)用方案V2.0
- 農(nóng)民專業(yè)合作社財務(wù)報表(三張報表)
- 動土作業(yè)專項安全培訓(xùn)考試試題(帶答案)
- 大學(xué)生就業(yè)指導(dǎo)(高職就業(yè)指導(dǎo)課程 )全套教學(xué)課件
- 死亡病例討論總結(jié)分析
- 第二章 會展的產(chǎn)生與發(fā)展
- 空域規(guī)劃與管理V2.0
- JGT266-2011 泡沫混凝土標(biāo)準(zhǔn)規(guī)范
- 商戶用電申請表
評論
0/150
提交評論