版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第6章 單片機串行通信技術(shù)本章要點異步通信和同步通信串行通信波特率串行通信的制式串行通信的校驗串行口特殊功能寄存器串行工作方式 串行通信優(yōu)點:便于長距離傳送 缺點:傳送速度較慢并行通信優(yōu)點:傳送速度快 缺點:不便長距離傳送6.1.1 通信的基本概念在計算機系統(tǒng)中,CPU和外部通信有兩種通信方式:并行通信和串行通信。并行通信:即數(shù)據(jù)的各位同時傳送; 串行通信:即數(shù)據(jù)一位一位順序傳送。圖6.1 兩種通信方式的示意圖(a) 并行通信;(b) 串行通信 6.1.2 串行通信的分類 按照串行數(shù)據(jù)的時鐘控制方式,串行通信可分為同步通信和異步通信兩類。 1. 異步通信(Asynchronous Commun
2、ication) 在異步通信中,數(shù)據(jù)通常是以字符為單位組成字符幀傳送的。字符幀由發(fā)送端一幀一幀地發(fā)送,每一幀數(shù)據(jù)均是低位在前,高位在后,通過傳輸線被接收端一幀一幀地接收。發(fā)送端和接收端可以由各自獨立的時鐘來控制數(shù)據(jù)的發(fā)送和接收,這兩個時鐘彼此獨立,互不同步。 在異步通信中,接收端是依靠字符幀格式來判斷發(fā)送端是何時開始發(fā)送,何時結(jié)束發(fā)送的。字符幀格式是異步通信的一個重要指標。 1) 字符幀(Character Frame) 字符幀也叫數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗位和停止位等4部分組成,如圖.所示。圖6. 異步通信的字符幀格式(a) 無空閑位字符幀;(b) 有空閑位字符幀(1) 起始位:位于
3、字符幀開頭,只占一位,為邏輯0低電平,用于向接收設(shè)備表示發(fā)送端開始發(fā)送一幀信息。 (2) 數(shù)據(jù)位:緊跟起始位之后,用戶根據(jù)情況可取5位、6位、7位或8位,低位在前高位在后。(3) 奇偶校驗位:位于數(shù)據(jù)位之后,僅占一位,用來表征串行通信中采用奇校驗還是偶校驗,由用戶決定。(4) 停止位:位于字符幀最后,為邏輯1高電平。通??扇?位、1.5位或2位,用于向接收端表示一幀字符信息已經(jīng)發(fā)送完,也為發(fā)送下一幀作準備。 在串行通信中,兩相鄰字符幀之間可以沒有空閑位,也可以有若干空閑位,這由用戶來決定。圖6.3(b)表示有3個空閑位的字符幀格式。2) 波特率(baud rate)異步通信的另一個重要指標為波
4、特率。波特率為每秒鐘傳送二進制數(shù)碼的位數(shù),也叫比特數(shù),單位為b/s,即位/秒。波特率用于表征數(shù)據(jù)傳輸?shù)乃俣龋ㄌ芈试礁?,?shù)據(jù)傳輸速度越快。但波特率和字符的實際傳輸速率不同,字符的實際傳輸速率是每秒內(nèi)所傳字符幀的幀數(shù),和字符幀格式有關(guān)。通常,異步通信的波特率為509600 b/s。 異步通信的優(yōu)點是不需要傳送同步時鐘,字符幀長度不受限制,故設(shè)備簡單。缺點是字符幀中因包含起始位和停止位而降低了有效數(shù)據(jù)的傳輸速率。 2. 同步通信(Synchronous Communication) 同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳輸一幀信息。這里的信息幀和異步通信的字符幀不同,通常有若干個數(shù)
5、據(jù)字符,如圖6.所示。圖6.(a)為單同步字符幀結(jié)構(gòu),圖6.(b)為雙同步字符幀結(jié)構(gòu),但它們均由同步字符、數(shù)據(jù)字符和校驗字符CRC三部分組成。在同步通信中,同步字符可以采用統(tǒng)一的標準格式,也可以由用戶約定。 圖6. 同步通信的字符幀格式(a) 單同步字符幀格式;(b) 雙同步字符幀格式 6.1. 串行通信的制式 在串行通信中數(shù)據(jù)是在兩個站之間進行傳送的,按照數(shù)據(jù)傳送方向,串行通信可分為單工(simplex)、半雙工(half duplex)和全雙工(full duplex)三種制式。圖6.為三種制式的示意圖。 在單工制式下,通信線的一端接發(fā)送器,一端接接收器,數(shù)據(jù)只能按照一個固定的方向傳送,如
6、圖6.(a)所示。 在半雙工制式下,系統(tǒng)的每個通信設(shè)備都由一個發(fā)送器和一個接收器組成,如圖6.(b)所示。圖6. 單工、半雙工和全雙工三種制式示意圖 在這種制式下,數(shù)據(jù)能從A站傳送到B站,也可以從B站傳送到A站,但是不能同時在兩個方向上傳送,即只能一端發(fā)送,一端接收。其收/發(fā)開關(guān)一般是由軟件控制的電子開關(guān)。 全雙工通信系統(tǒng)的每端都有發(fā)送器和接收器,可以同時發(fā)送和接收,即數(shù)據(jù)可以在兩個方向上同時傳送,如圖6.(c)所示。 在實際應(yīng)用中,盡管多數(shù)串行通信接口電路具有全雙工功能,但一般情況下,只工作于半雙工制式下,這種用法簡單、實用。6.2 串行通信信號的傳輸6.2.1 RS-232C接口 RS-2
7、32C是使用最早、應(yīng)用最多的一種異步串行通信總線標準。它是美國電子工業(yè)協(xié)會(EIA)1962年公布,1969年最后修定而成的。其中,RS表示Recommended Standard,232是該標準的標識號,C表示最后一次修定。 RS-232C主要用來定義計算機系統(tǒng)的一些數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)電路終接設(shè)備(DCE)之間的電氣性能。例如CRT、打印機與CPU的通信大都采用RS-232C接口,MCS-51單片機與PC機的通信也是采用該種類型的接口。由于MCS-51系列單片機本身有一個全雙工的串行接口,因此該系列單片機用RS-232C串行接口總線非常方便。 RS-232C串行接口總線適用于:設(shè)備
8、之間的通信距離不大于15 m,傳輸速率最大為20 kb/s。6.2.2 RS-449、RS-422A、RS-423A標準接口 RS-232C雖然應(yīng)用廣泛,但因為推出較早,在現(xiàn)代通信系統(tǒng)中存在以下缺點:數(shù)據(jù)傳輸速率慢,傳輸距離短,未規(guī)定標準的連接器,接口處各信號間易產(chǎn)生串擾。鑒于此,EIA制定了新的標準RS-449,該標準除了與RS-232C兼容外,在提高傳輸速率,增加傳輸距離,改善電氣性能等方面有了很大改進。1. RS-449標準接口RS-449是1977年公布的標準接口,在很多方面可以代替RS-232C使用。 RS-449與RS-232C的主要差別在于信號在導線上的傳輸方法不同:RS-232
9、C是利用傳輸信號與公共地的電壓差,RS-449是利用信號導線之間的信號電壓差,在1219.2 m的24-AWG雙鉸線上進行數(shù)字通信。RS-449規(guī)定了兩種接口標準連接器,一種為37腳,一種為9腳。 RS-449可以不使用調(diào)制解調(diào)器,它比RS-232C傳輸速率高,通信距離長,且由于RS-449系統(tǒng)用平衡信號差傳輸高速信號,所以噪聲低,又可以多點或者使用公共線通信,故RS-449通信電纜可與多個設(shè)備并聯(lián)。 RS-449與RS-232C的主要差別在于信號在導線上的傳輸方法不同:RS-232C是利用傳輸信號與公共地的電壓差,RS-449是利用信號導線之間的信號電壓差,在1219.2 m的24-AWG雙
10、鉸線上進行數(shù)字通信。RS-449規(guī)定了兩種接口標準連接器,一種為37腳,一種為9腳。 RS-449可以不使用調(diào)制解調(diào)器,它比RS-232C傳輸速率高,通信距離長,且由于RS-449系統(tǒng)用平衡信號差傳輸高速信號,所以噪聲低,又可以多點或者使用公共線通信,故RS-449通信電纜可與多個設(shè)備并聯(lián)。 80C51系列單片機有一個全雙工的串行口,這個口既可以用于網(wǎng)絡(luò)通信,也可以實現(xiàn)串行異步通信,還可以作為同步移位寄存器使用。6. 80C51單片機串行口的工作方式發(fā)送時,只需將發(fā)送數(shù)據(jù)輸入SBUF,CPU將自動啟動和完成串行數(shù)據(jù)的發(fā)送; 接收時,CPU將自動把接收到的數(shù)據(jù)存入SBUF,用戶只需從SBUF中讀
11、出接收數(shù)據(jù)。一、串行口特殊功能寄存器1、串行數(shù)據(jù)緩沖器SBUF 在邏輯上只有一個,既表示發(fā)送寄存器,又表示接收寄存器,具有同一個單元地址99H,用同一寄存器名SBUF。 在物理上有兩個,一個是發(fā)送緩沖寄存器,另一個是接收緩沖寄存器。2、串行控制寄存器SCON3、電源控制寄存器PCONSCOND7D6D5D4D3D2D1D0位名稱SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功能工作方式選擇多機通信控制接收 允許發(fā)送 第9位接收 第9位發(fā)送 中斷接收 中斷 SM0 SM1 串行口工作方式選擇位。 SM2 多機通信控制位。 REN 允許接收控制位
12、。REN=1,允許接收。 TB8 方式2和方式3中要發(fā)送的第9位數(shù)據(jù)。 RB8 方式2和方式3中要接收的第9位數(shù)據(jù)。 TI 發(fā)送中斷標志。 RI 接收中斷標志。PCOND7D6D5D4D3D2D1D0位名稱SMODGF1GF0PDIDLSMOD=1,串行口波特率加倍。PCON寄存器不能進行位尋址。二、串行工作方式 80C51串行通信共有4種工作方式,由串行控制寄存器SCON中SM0 SM1決定。 1、串行工作方式0(同步移位寄存器工作方式) 以RXD(P3.0)端作為數(shù)據(jù)移位的輸入/輸出端, 以TXD(P3.1)端輸出移位脈沖。 移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,無論輸入/
13、輸出,均低位在前高位在后。 其幀格式為: D0D1D2D3D4D5D6D7 方式0可將串行輸入輸出數(shù)據(jù)轉(zhuǎn)換成并行輸入輸出數(shù)據(jù)。 數(shù)據(jù)發(fā)送 在移位時鐘脈沖(TXD)的控制下,數(shù)據(jù)從串行口RXD端逐位移入74HC164 SA、SB端。當8位數(shù)據(jù)全部移出后,SCON寄存器的TI位被自動置1。其后74HC164的內(nèi)容即可并行輸出。74HC164 CLR為清0端,輸出時CLR必須為1,否則74HC164 Q0Q7輸出為0。 串行口作為并行輸出口使用時,要有“串入并出”的移位寄存器配合。(2) 數(shù)據(jù)接收 串行口作為并行輸入口使用時,要有“并入串出”的移位寄存器配合。 74HC165 S/L端為移位/置入端
14、,當S/L=0時,從Q0Q7并行置入數(shù)據(jù),當S/L=1時,允許從QH端移出數(shù)據(jù)。在80C51串行控制寄存器SCON中的REN=1時,TXD端發(fā)出移位時鐘脈沖,從RXD端串行輸入8位數(shù)據(jù)。當接收到第8位數(shù)據(jù)D7后,置位中斷標志RI,表示一幀數(shù)據(jù)接收完成。 波特率方式0 波特率固定,為單片機晶振頻率的十二分之一。 應(yīng)用舉例【例6-1】電路如圖所示,試編制程序按下列順序要求每隔0.5秒循環(huán)操作。 從右向左依次點亮,每次亮一個; 從左向右依次點亮,每次增加一個,直至全部點亮; 返回從不斷循環(huán)。 8個發(fā)光二極管全部點亮; 從左向右依次暗滅,每次減少一個,直至全滅; 從左向右依次點亮, 每次亮一個;解:編
15、程如下:LIGHT:MOV SCON,#00H ;串行口方式0 CLR ES ;禁止串行中斷 MOV DPTR,#TAB ;置發(fā)光二極管亮暗控制字表首址LP1: MOV R7,#0 ;置順序編號0LP2: MOV A,R7 ;讀順序編號 MOVC A,A+DPTR ;讀控制字 CLR P1.0 ;關(guān)閉并行輸出 MOV SBUF,A ;啟動串行發(fā)送 JNB TI,$ ;等待發(fā)送完畢 CLR TI ;清發(fā)送中斷標志 SETB P1.0 ;開啟并行輸出 LCALL DLY500ms ;調(diào)用延時0.5秒子程序(參閱例4-13) INC R7 ;指向下一控制字 CJNE R7,#30,LP2 ;判循環(huán)操
16、作完否?未完繼續(xù) SJMP LP1 ;順序編號029依次操作完畢,從0開始重新循環(huán)TAB: DB 0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00H;從左向右依次暗滅, 每次減少一個,直至全滅; DB 80H,40H,20H,10H,08H,04H,02H,01H;從左向右依次點亮,每次亮一個 DB 02H,04H,08H,10H,20H,40H,80H;從右向左依次點亮,每次亮一個 DB 0C0H,0E0H,0F0H,0F8H,0FCH,0FEH;從左向右依次點亮, 每次增加一個,直至全部點亮;【例】電路如圖所示,試編制程序輸入K1K8狀態(tài)數(shù)據(jù),并存入內(nèi)RAM 40H。
17、 解:編程如下: KIN: MOV SCON,#00H;串行口方式0 CLR ES ;禁止串行中斷 CLR P1.0 ;鎖存并行輸入數(shù)據(jù) SETB P1.0 ;允許串行移位操作 SETB REN ;允許并啟動接收(TXD發(fā)送移位脈沖) JNB RI,$ ;等待接收完畢 MOV 40H,SBUF ;存入K1K8狀態(tài)數(shù)據(jù) RET ;2、串行工作方式1 方式1是一幀10位的異步串行通信方式,包括1個起始位,8個數(shù)據(jù)位和一個停止位。 其幀格式為:起始D0D1D2D3D4D5D6D7停止 數(shù)據(jù)發(fā)送 發(fā)送時只要將數(shù)據(jù)寫入SBUF,在串行口由硬件自動加入起始位和停止位,構(gòu)成一個完整的幀格式。然后在移位脈沖的
18、作用下,由TXD端串行輸出。一幀數(shù)據(jù)發(fā)送完畢,將SCON中的TI置1。 數(shù)據(jù)接收 接收時,在REN=1前提下,當采樣到RXD從1向0跳變狀態(tài)時,就認定為已接收到起始位。隨后在移位脈沖的控制下,將串行接收數(shù)據(jù)移入SBUF中。一幀數(shù)據(jù)接收完畢,將SCON中的RI置1,表示可以從SBUF取走接收到的一個字符。 2SMOD32fosc12 波特率 在實際應(yīng)用時,通常是先確定波特率,后根據(jù)波特率求T1定時初值,因此上式又可寫為: 波特率 方式1波特率可變,由定時/計數(shù)器T1的計數(shù)溢出率來決定。波特率 = 2SMOD(T1溢出率)/ 32 其中SMOD為PCON寄存器中最高位的值,SMOD=1表示波特率倍
19、增。T1初值 = 256 應(yīng)用舉例【例6-3】設(shè)甲乙機以串行方式1進行數(shù)據(jù)傳送,fosc=11.0592MHz,波特率為1200b/s。甲機發(fā)送的16個數(shù)據(jù)存在內(nèi)RAM 40H4FH單元中,乙機接收后存在內(nèi)RAM 50H為首地址的區(qū)域中。 T1初值 = 256 - = 232 = E8H32121200解:串行方式1波特率取決于T1溢出率(設(shè)SMOD=0),計算T1定時初值:1105920020甲機發(fā)送子程序: MOV TMOD,#20H;置T1定時器工作方式2MOV TL1,#0E8H;置T1計數(shù)初值MOV TH1,#0E8H;置T1計數(shù)重裝值CLR ET1;禁止T1中斷SETB TR1;T
20、1啟動MOV SCON,#40H;置串行方式1,禁止接收MOV PCON,#00H;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中斷MOV R0,#40H;置發(fā)送數(shù)據(jù)區(qū)首地址MOV R2,#16;置發(fā)送數(shù)據(jù)長度MOVA,R0;讀一個數(shù)據(jù)MOVSBUF,A;發(fā)送JNBTI,$;等待一幀數(shù)據(jù)發(fā)送完畢CLRTI;清發(fā)送中斷標志INCR0;指向下一字節(jié)單元DJNZR2,TRSA;判16個數(shù)據(jù)發(fā)完否?未完繼續(xù)RET ;TXDA:TRSA:MOV TMOD,#20H;置T1定時器工作方式2MOV TL1,#0E8H;置T1計數(shù)初值MOV TH1,#0E8H;置T1計數(shù)重裝值CLR ET1;
21、禁止T1中斷SETB TR1;T1啟動MOV SCON,#40H;置串行方式1,禁止接收MOV PCON,#00H;置SMOD=0(SMOD不能位操作)CLR ES;禁止串行中斷MOV R0,#50H;置接收數(shù)據(jù)區(qū)首地址MOV R2,#16;置接收數(shù)據(jù)長度SETB REN;啟動接收JNB RI,$;等待一幀數(shù)據(jù)接收完畢CLR RI;清接收中斷標志MOV A,SBUF;讀接收數(shù)據(jù)MOV R0,A;存接收數(shù)據(jù)INC R0;指向下一數(shù)據(jù)存儲單元DJNZ R2,RDSB;判16個數(shù)據(jù)接收完否?未完繼續(xù)RET ;乙機接收子程序:RXDB:RDSB: 方式2是一幀11位的串行通信方式,即1個起始位,8個數(shù)
22、據(jù)位,1個可編程位TB8/RB8和1個停止位, 其幀格式為:3、 串行工作方式2起始D0D1D2D3D4D5D6D7TB8/RB8停止波特率=2SMOD fosc/64 可編程位TB8/RB8既可作奇偶校驗位用,也可作控制位(多機通信)用,其功能由用戶確定。 數(shù)據(jù)發(fā)送和接收與方式1基本相同,區(qū)別在于方式2把發(fā)送/接收到的第9位內(nèi)容送入TB8/RB8。 波特率:方式2波特率固定,即fosc/32和fosc/64。 如用公式表示則為:【例6-4】 設(shè)計一個串行方式2發(fā)送子程序(SMOD=1),將片內(nèi)RAM 50H5FH中的數(shù)據(jù)串行發(fā)送,第9數(shù)據(jù)位作為奇偶校驗位。接到接收方核對正確的回復信號(用FF
23、H表示)后,再發(fā)送下一字節(jié)數(shù)據(jù),否則再重發(fā)一遍。解:程序如下:MOV A,R0 ;讀數(shù)據(jù)MOV C,PSW.0 ;奇偶標志送TB8MOV TB8,C ;MOV SBUF,A ;啟動發(fā)送JNB TI,$ ;等待一幀數(shù)據(jù)發(fā)送完畢CLR TI ;清發(fā)送中斷標志SETB REN ;允許接收CLR RI ;清接收中斷標志JNB RI,$ ;等待接收回復信號MOV A,SBUF ;讀回復信號CPL A ;回復信號取反JNZ TRLP ;非全0(回復信號FFH,錯誤),轉(zhuǎn)重發(fā)INC R0 ;全0(回復信號=FFH,正確), 指向下一數(shù)據(jù)存儲單元CJNE R0,#60H,TRLP ;判16個數(shù)據(jù)發(fā)送完否?未完
24、繼續(xù)RET ;TRLP:MOV SCON,#80H ;置串行方式2,禁止接收MOV PCON,#80H ;置SMOD=1MOV R0,#50H;置發(fā)送數(shù)據(jù)區(qū)首址TRS2:【例6-5】 編制一個串行方式2接收子程序,接收上例發(fā)送的16個數(shù)據(jù),存首址為40H的內(nèi)RAM中,并核對奇偶校驗位,接收核對正確,發(fā)出回復信號FFH;發(fā)現(xiàn)錯誤,發(fā)出回復信號00H,并等待重新接收。RXD2: MOV SCON,#80H ;置串行方式2,禁止接收 MOV PCON,#80H ;置SMOD=1 MOV R0,#40H ;置接收數(shù)據(jù)區(qū)首址 SETB REN ;啟動接收RWAP: JNB RI,$ ;等待一幀數(shù)據(jù)接收完畢 CLR RI ;清接收中斷標志 MOV A,SBUF ;讀接收數(shù)據(jù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 1 School life Reading B 說課稿 -2024-2025學年高一上學期英語上外版(2020)必修第一冊
- 2023六年級英語上冊 Review Module Unit 1說課稿 外研版(三起)
- 3 古詩詞三首《宿建德江》說課稿-2024-2025學年語文六年級上冊統(tǒng)編版
- 6《記錄我的一天》大單元整體設(shè)計(說課稿)-2024-2025學年一年級上冊數(shù)學北師大版
- 2024年春九年級語文下冊 第1課《國殤》說課稿4 長春版
- 2024秋五年級英語上冊 Unit 4 Jenny and Danny Come to China Lesson 21 What Year Is It說課稿 冀教版(三起)
- 2《找春天》說課稿-2023-2024學年二年級下冊語文統(tǒng)編版
- 2025【合同范本】抵押貸款合同范本
- 6《秋天的雨》說課稿-2024-2025學年統(tǒng)編版語文三年級上冊
- 2025學徒工勞動合同模板
- 探索者三維建筑結(jié)構(gòu)建模設(shè)計軟件說明書
- 實驗動物飼養(yǎng)人員崗位競聘演講范文匯報報告范文
- 商業(yè)地產(chǎn)市場競品樓盤市場調(diào)研表格
- 社會治安視頻監(jiān)控系統(tǒng)項目技術(shù)及設(shè)計方案
- GB/T 709-2019熱軋鋼板和鋼帶的尺寸、外形、重量及允許偏差
- FZ/T 54007-2019錦綸6彈力絲
- DB11-T 291-2022日光溫室建造規(guī)范
- 2021-2022學年山東省淄博市高二(下)期末英語試卷(附答案詳解)
- 北師大版高中數(shù)學選修4-6初等數(shù)論初步全套課件
- 外貿(mào)業(yè)務(wù)員面試試卷
- 紀檢知識答題測試題及答案
評論
0/150
提交評論