




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第6章,單片機(jī)原理與接口技術(shù),第6章 串行通信,本章要點(diǎn),異步通信和同步通信 串行通信波特率 串行通信的制式 串行通信的校驗(yàn) 串行口特殊功能寄存器 串行工作方式,串行通信優(yōu)點(diǎn):便于長(zhǎng)距離傳送 缺點(diǎn):傳送速度較慢,計(jì)算機(jī)與外界信息交換稱為通信。,通信的基本方式可分為并行通信和串行通信:,并行通信是數(shù)據(jù)的各位同時(shí)發(fā)送或同時(shí)接收;,串行通信是數(shù)據(jù)的各位依次逐位發(fā)送或接收。,并行通信優(yōu)點(diǎn):傳送速度快 缺點(diǎn):不便長(zhǎng)距離傳送,異步通信對(duì)硬件要求較低,實(shí)現(xiàn)起來比較簡(jiǎn)單、靈活,適用于數(shù)據(jù)的隨機(jī)發(fā)送/接收,但因每個(gè)字節(jié)都要建立一次同步,即每個(gè)字符都要額外附加兩位,所以工作速度較低,在單片機(jī)中主要采用異步通信方式
2、。,6-1 串行通信概述,一、異步通信和同步通信,串行通信按同步方式可分為異步通信和同步通信。,1、異步通信,異步通信依靠起始位、停止位保持通信同步。,異步通信數(shù)據(jù)傳送按幀傳輸,一幀數(shù)據(jù)包含起始位、數(shù)據(jù)位、校驗(yàn)位和停止位。,幀格式,一個(gè)字符由四部分組成:起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位。,停止位(1)停止位用來表征字符的結(jié)束。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已傳送完畢,同步通信傳輸速度較快,但要求有準(zhǔn)確的時(shí)鐘來實(shí)現(xiàn)收發(fā)雙方的嚴(yán)格同步,對(duì)硬件要求較高,適用于成批數(shù)據(jù)傳送。,2、 同步通信,同步通信依靠同步字符保持通信同步。,同步通信是由12個(gè)同步字符和多字節(jié)數(shù)
3、據(jù)位組成,同步字符作為起始位以觸發(fā)同步時(shí)鐘開始發(fā)送或接收數(shù)據(jù);多字節(jié)數(shù)據(jù)之間不允許有空隙,每位占用的時(shí)間相等;空閑位需發(fā)送同步字符。,波特率的倒數(shù)即為每位傳輸所需的時(shí)間。 相互通信的甲乙雙方必須具有相同的波特率,否則無法成功地完成串行數(shù)據(jù)通信。,二、串行通信波特率,波特率bps(bit per second)定義: 每秒傳輸數(shù)據(jù)的位數(shù),即:,1波特 = 1位/秒(1bps),三、串行通信的制式,串行通信按照數(shù)據(jù)傳送方向可分為三種制式:,單工制式是指甲乙雙方通信時(shí)只能單向傳送數(shù)據(jù),發(fā)送方和接收方固定。,1、單工制式(Simplex),半雙工制式是指通信雙方都具有發(fā)送器和接收器,既可發(fā)送也可接收,
4、但不能同時(shí)接收和發(fā)送,發(fā)送時(shí)不能接收,接收時(shí)不能發(fā)送。,2、半雙工制式(Half Duplex),全雙工制式是指通信雙方均設(shè)有發(fā)送器和接收器,并且信道劃分為發(fā)送信道和接收信道,因此全雙工制式可實(shí)現(xiàn)甲乙雙方同時(shí)發(fā)送和接收數(shù)據(jù),發(fā)送時(shí)能接收,接收時(shí)也能發(fā)送。,3、全雙工制式(Full Duplex),四、串行通信的校驗(yàn),3、循環(huán)冗余碼校驗(yàn) (Cyclic Redundancy Check,簡(jiǎn)稱CRC),1、奇偶校驗(yàn),2、累加和校驗(yàn),80C51系列單片機(jī)有一個(gè)全雙工的串行口,這個(gè)口既可以用于網(wǎng)絡(luò)通信,也可以實(shí)現(xiàn)串行異步通信,還可以作為同步移位寄存器使用。,6-2 80C51串行口,發(fā)送時(shí),只需將發(fā)送
5、數(shù)據(jù)輸入SBUF,CPU將自動(dòng)啟動(dòng)和完成串行數(shù)據(jù)的發(fā)送; 接收時(shí),CPU將自動(dòng)把接收到的數(shù)據(jù)存入SBUF,用戶只需從SBUF中讀出接收數(shù)據(jù)。,一、串行口特殊功能寄存器,1、串行數(shù)據(jù)緩沖器SBUF,在邏輯上只有一個(gè),既表示發(fā)送寄存器,又表示接收寄存器,具有同一個(gè)單元地址99H,用同一寄存器名SBUF。 在物理上有兩個(gè),一個(gè)是發(fā)送緩沖寄存器,只能寫;另一個(gè)是接收緩沖寄存器;只能讀。,2、串行控制寄存器SCON,3、電源控制寄存器PCON, SM0 SM1 串行口工作方式選擇位。 SM2 多機(jī)通信控制位。 REN 允許接收控制位。REN=1,允許接收。 TB8 方式2和方式3中要發(fā)送的第9位數(shù)據(jù)。
6、RB8 方式2和方式3中要接收的第9位數(shù)據(jù)。 TI 發(fā)送中斷標(biāo)志。 RI 接收中斷標(biāo)志。,SMOD=1,串行口波特率加倍。PCON寄存器不能進(jìn)行位尋址。,二、串行工作方式 80C51串行通信共有4種工作方式,由串行控制寄存器SCON中SM0 SM1決定。 1、串行工作方式0(同步移位寄存器工作方式) 以RXD(P3.0)端作為數(shù)據(jù)移位的輸入/輸出端, 以TXD(P3.1)端輸出移位脈沖。 移位數(shù)據(jù)的發(fā)送和接收以8位為一幀,不設(shè)起始位和停止位,無論輸入/輸出,均低位在前高位在后。 其幀格式為:,方式0可將串行輸入輸出數(shù)據(jù)轉(zhuǎn)換成并行輸入輸出數(shù)據(jù)。, 數(shù)據(jù)發(fā)送,在移位時(shí)鐘脈沖(TXD)的控制下,數(shù)據(jù)
7、從串行口RXD端逐位移入74HC164 SA、SB端。當(dāng)8位數(shù)據(jù)全部移出后,SCON寄存器的TI位被自動(dòng)置1。其后74HC164的內(nèi)容即可并行輸出。74HC164 CLR為清0端,輸出時(shí)CLR必須為1,否則74HC164 Q0Q7輸出為0。,串行口作為并行輸出口使用時(shí),要有“串入并出”的移位寄存器配合。如(CD4094或74LS164),(2) 數(shù)據(jù)接收,串行口作為并行輸入口使用時(shí),要有“并入串出”的移位寄存器配合。(如CD4014或74LS165),74HC165 S/L端為移位/置入端,當(dāng)S/L=0時(shí),從Q0Q7并行置入數(shù)據(jù),當(dāng)S/L=1時(shí),允許從QH端移出數(shù)據(jù)。在80C51串行控制寄存器
8、SCON中的REN=1時(shí),TXD端發(fā)出移位時(shí)鐘脈沖,從RXD端串行輸入8位數(shù)據(jù)。當(dāng)接收到第8位數(shù)據(jù)D7后,置位中斷標(biāo)志RI,表示一幀數(shù)據(jù)接收完成。, 波特率 方式0 波特率固定,為單片機(jī)晶振頻率的十二分之一。 應(yīng)用舉例 【例6-1】電路如圖所示,試編制程序按下列順序要求每隔0.5秒循環(huán)操作。, 從右向左依次點(diǎn)亮,每次亮一個(gè); 從左向右依次點(diǎn)亮,每次增加一個(gè),直至全部點(diǎn)亮; 返回從不斷循環(huán)。, 8個(gè)發(fā)光二極管全部點(diǎn)亮;, 從左向右依次暗滅,每次減少一個(gè),直至全滅;, 從左向右依次點(diǎn)亮, 每次亮一個(gè);,解:編程如下:,LIGHT:MOV SCON,#00H ;串行口方式0 CLR ES ;禁止串行
9、中斷 MOV DPTR,#TAB ;置發(fā)光二極管亮暗控制字表首址 LP1: MOV R7,#0 ;置順序編號(hào)0 LP2: MOV A,R7 ;讀順序編號(hào) MOVC A,A+DPTR ;讀控制字 CLR P1.0 ;關(guān)閉并行輸出 MOV SBUF,A ;啟動(dòng)串行發(fā)送 JNB TI,$ ;等待發(fā)送完畢 CLR TI ;清發(fā)送中斷標(biāo)志 SETB P1.0 ;開啟并行輸出 LCALL DLY500ms ;調(diào)用延時(shí)0.5秒子程序(參閱例4-13) INC R7 ;指向下一控制字 CJNE R7,#30,LP2 ;判循環(huán)操作完否?未完繼續(xù) SJMP LP1 ;順序編號(hào)029依次操作完畢,從0開始重新循環(huán),
10、TAB: DB 0FFH,7FH,3FH,1FH,0FH,07H,03H,01H,00H;從左向右依次暗滅, 每次減少一個(gè),直至全滅; DB 80H,40H,20H,10H,08H,04H,02H,01H;從左向右依次點(diǎn)亮,每次亮一個(gè) DB 02H,04H,08H,10H,20H,40H,80H;從右向左依次點(diǎn)亮,每次亮一個(gè) DB 0C0H,0E0H,0F0H,0F8H,0FCH,0FEH;從左向右依次點(diǎn)亮, 每次增加一個(gè),直至全部點(diǎn)亮;,【例6-2】電路如圖所示,試編制程序輸入K1K8狀態(tài)數(shù)據(jù),并存入內(nèi)RAM 40H。,解:編程如下: KIN: MOV SCON,#00H;串行口方式0 CL
11、R ES ;禁止串行中斷 CLR P1.0 ;鎖存并行輸入數(shù)據(jù) SETB P1.0 ;允許串行移位操作 SETB REN ;允許并啟動(dòng)接收(TXD發(fā)送移位脈沖) JNB RI,$ ;等待接收完畢 MOV 40H,SBUF ;存入K1K8狀態(tài)數(shù)據(jù) RET ;,2、串行工作方式1 方式1是一幀10位的異步串行通信方式,包括1個(gè)起始位,8個(gè)數(shù)據(jù)位和一個(gè)停止位。 其幀格式為:, 數(shù)據(jù)發(fā)送 發(fā)送時(shí)只要將數(shù)據(jù)寫入SBUF,在串行口由硬件自動(dòng)加入起始位和停止位,構(gòu)成一個(gè)完整的幀格式。然后在移位脈沖的作用下,由TXD端串行輸出。一幀數(shù)據(jù)發(fā)送完畢,將SCON中的TI置1。 數(shù)據(jù)接收 接收時(shí),在REN=1前提下,
12、當(dāng)采樣到RXD從1向0跳變狀態(tài)時(shí),就認(rèn)定為已接收到起始位。隨后在移位脈沖的控制下,將串行接收數(shù)據(jù)移入SBUF中。一幀數(shù)據(jù)接收完畢,將SCON中的RI置1,表示可以從SBUF取走接收到的一個(gè)字符。,2SMOD,32,fosc,12 波特率,在實(shí)際應(yīng)用時(shí),通常是先確定波特率,后根據(jù)波特率求T1定時(shí)初值,因此上式又可寫為:, 波特率,方式1波特率可變,由定時(shí)/計(jì)數(shù)器T1的計(jì)數(shù)溢出率來決定。,波特率 = 2SMOD(T1溢出率)/ 32,其中SMOD為PCON寄存器中最高位的值,SMOD=1表示波特率倍增。T1的溢出率為T1定時(shí)時(shí)間的倒數(shù)。,T1初值 = 256 , 應(yīng)用舉例,【例6-3】設(shè)甲乙機(jī)以串
13、行方式1進(jìn)行數(shù)據(jù)傳送,fosc=11.0592MHz,波特率為1200b/s。甲機(jī)發(fā)送的16個(gè)數(shù)據(jù)存在內(nèi)RAM 40H4FH單元中,乙機(jī)接收后存在內(nèi)RAM 50H為首地址的區(qū)域中。,T1初值 = 256 - = 232 = E8H,32,121200,解:串行方式1波特率取決于T1溢出率(設(shè)SMOD=0),計(jì)算T1定時(shí)初值:,11059200,20,甲機(jī)發(fā)送子程序:,MOV TMOD,#20H;置T1定時(shí)器工作方式2 MOV TL1,#0E8H;置T1計(jì)數(shù)初值 MOV TH1,#0E8H;置T1計(jì)數(shù)重裝值 CLR ET1;禁止T1中斷 SETB TR1;T1啟動(dòng) MOV SCON,#40H;置
14、串行方式1,禁止接收 MOV PCON,#00H;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中斷 MOV R0,#40H;置發(fā)送數(shù)據(jù)區(qū)首地址 MOV R2,#16;置發(fā)送數(shù)據(jù)長(zhǎng)度MOVA,R0;讀一個(gè)數(shù)據(jù) MOVSBUF,A;發(fā)送 JNBTI,$;等待一幀數(shù)據(jù)發(fā)送完畢 CLRTI;清發(fā)送中斷標(biāo)志 INCR0;指向下一字節(jié)單元 DJNZR2,TRSA;判16個(gè)數(shù)據(jù)發(fā)完否?未完繼續(xù) RET ;,TXDA:,TRSA:,MOV TMOD,#20H;置T1定時(shí)器工作方式2 MOV TL1,#0E8H;置T1計(jì)數(shù)初值 MOV TH1,#0E8H;置T1計(jì)數(shù)重裝值 CLR ET1;禁止T
15、1中斷 SETB TR1;T1啟動(dòng) MOV SCON,#40H;置串行方式1,禁止接收 MOV PCON,#00H;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中斷 MOV R0,#50H;置接收數(shù)據(jù)區(qū)首地址 MOV R2,#16;置接收數(shù)據(jù)長(zhǎng)度 SETB REN;啟動(dòng)接收 JNB RI,$;等待一幀數(shù)據(jù)接收完畢 CLR RI;清接收中斷標(biāo)志 MOV A,SBUF;讀接收數(shù)據(jù) MOV R0,A;存接收數(shù)據(jù) INC R0;指向下一數(shù)據(jù)存儲(chǔ)單元 DJNZ R2,RDSB;判16個(gè)數(shù)據(jù)接收完否?未完繼續(xù) RET ;,乙機(jī)接收子程序:,RXDB:,RDSB:,方式2是一幀11位的串行通
16、信方式,即1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)可編程位TB8/RB8和1個(gè)停止位, 其幀格式為:,3、 串行工作方式2,波特率=2SMOD fosc/64,可編程位TB8/RB8既可作奇偶校驗(yàn)位用,也可作控制位(多機(jī)通信)用,其功能由用戶確定。,數(shù)據(jù)發(fā)送和接收與方式1基本相同,區(qū)別在于方式2把發(fā)送/接收到的第9位內(nèi)容送入TB8/RB8。,波特率:方式2波特率固定,即fosc/32和fosc/64。 如用公式表示則為:,【例6-4】 設(shè)計(jì)一個(gè)串行方式2發(fā)送子程序(SMOD=1),將片內(nèi)RAM 50H5FH中的數(shù)據(jù)串行發(fā)送,第9數(shù)據(jù)位作為奇偶校驗(yàn)位。接到接收方核對(duì)正確的回復(fù)信號(hào)(用FFH表示)后,再發(fā)送下
17、一字節(jié)數(shù)據(jù),否則再重發(fā)一遍。,解:程序如下:,MOV A,R0 ;讀數(shù)據(jù) MOV C,PSW.0 ;奇偶標(biāo)志送TB8 MOV TB8,C ; MOV SBUF,A ;啟動(dòng)發(fā)送 JNB TI,$ ;等待一幀數(shù)據(jù)發(fā)送完畢 CLR TI ;清發(fā)送中斷標(biāo)志 SETB REN ;允許接收 CLR RI ;清接收中斷標(biāo)志 JNB RI,$ ;等待接收回復(fù)信號(hào) MOV A,SBUF ;讀回復(fù)信號(hào) CPL A ;回復(fù)信號(hào)取反 JNZ TRLP ;非全0(回復(fù)信號(hào)FFH,錯(cuò)誤),轉(zhuǎn)重發(fā) INC R0 ;全0(回復(fù)信號(hào)=FFH,正確), 指向下一數(shù)據(jù)存儲(chǔ)單元 CJNE R0,#60H,TRLP ;判16個(gè)數(shù)據(jù)發(fā)送
18、完否?未完繼續(xù) RET ;,TRLP:,MOV SCON,#80H ;置串行方式2,禁止接收 MOV PCON,#80H ;置SMOD=1 MOV R0,#50H;置發(fā)送數(shù)據(jù)區(qū)首址,TRS2:,【例6-5】 編制一個(gè)串行方式2接收子程序,接收上例發(fā)送的16個(gè)數(shù)據(jù),存首址為40H的內(nèi)RAM中,并核對(duì)奇偶校驗(yàn)位,接收核對(duì)正確,發(fā)出回復(fù)信號(hào)FFH;發(fā)現(xiàn)錯(cuò)誤,發(fā)出回復(fù)信號(hào)00H,并等待重新接收。,RXD2: MOV SCON,#80H ;置串行方式2,禁止接收 MOV PCON,#80H ;置SMOD=1 MOV R0,#40H ;置接收數(shù)據(jù)區(qū)首址 SETB REN ;啟動(dòng)接收 RWAP: JNB RI,$ ;等待一幀數(shù)據(jù)接收完畢 CLR RI ;清接收中斷標(biāo)志 MOV A,SBUF ;讀接收數(shù)據(jù),并在PSW中產(chǎn)生接收數(shù)據(jù)的奇偶值 JB PSW.0,ONE ;P=1,轉(zhuǎn)另判 JB RB8,ERR ;P=0,R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧環(huán)衛(wèi)信息管理平臺(tái)建設(shè)方案
- 基于云計(jì)算技術(shù)的智慧環(huán)衛(wèi)解決方案
- 展臺(tái)搭建合同范本
- 稅務(wù)系統(tǒng)納稅信用管理政策解讀
- 重型柴油車遠(yuǎn)程在線監(jiān)控系統(tǒng)項(xiàng)目 投標(biāo)方案(技術(shù)方案)
- 三農(nóng)村創(chuàng)業(yè)投資手冊(cè)
- 企業(yè)供應(yīng)鏈管理的數(shù)字化轉(zhuǎn)型及優(yōu)化策略研究
- 三農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)建設(shè)手冊(cè)
- 新零售技術(shù)應(yīng)用與發(fā)展趨勢(shì)分析報(bào)告
- 停車場(chǎng)車輛出入智能管理系統(tǒng)
- 預(yù)防校園欺凌主題班會(huì)課件(共36張課件)
- 公務(wù)員2014年國(guó)考《申論》真題卷及答案(副省級(jí))
- 裝飾裝修施工人員安全知識(shí)培訓(xùn)考試試卷及答案
- 伸縮臂式22m高空作業(yè)車安全操作規(guī)程
- 嬰幼兒發(fā)展引導(dǎo)員(育嬰員)職業(yè)技能競(jìng)賽理論考試題庫(kù)(含答案)
- 全國(guó)國(guó)家版圖知識(shí)競(jìng)賽題庫(kù)及答案(中小學(xué)組)
- 湖北省武漢市實(shí)驗(yàn)外國(guó)語學(xué)校小學(xué)部小學(xué)六年級(jí)小升初期末語文試題(含答案)
- 高職生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo) 課件全套 崔麗娜 第1-8章 揭開生涯規(guī)劃面紗 走進(jìn)生涯規(guī)劃- 助力職業(yè)發(fā)展 職場(chǎng)適應(yīng)
- 小學(xué)一年級(jí)數(shù)學(xué)下冊(cè)綜合知識(shí)訓(xùn)練100題含答案
- 2024營(yíng)運(yùn)純電動(dòng)汽車換電服務(wù)技術(shù)要求
- 三年級(jí)科學(xué)《月相的變化規(guī)律》說課課件
評(píng)論
0/150
提交評(píng)論