CH7單片機(jī)的串行通信技術(shù)[詳細(xì)]_第1頁(yè)
CH7單片機(jī)的串行通信技術(shù)[詳細(xì)]_第2頁(yè)
CH7單片機(jī)的串行通信技術(shù)[詳細(xì)]_第3頁(yè)
CH7單片機(jī)的串行通信技術(shù)[詳細(xì)]_第4頁(yè)
CH7單片機(jī)的串行通信技術(shù)[詳細(xì)]_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.3 串行通信工作方式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,7.1 串行通信概述 7.1.1 數(shù)據(jù)通信 7.1.2 異步通信和同步通信 7.1.3 波特率的概念和串行通信的傳輸方向 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.3 串行通信工作方式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),常用的數(shù)據(jù)通信包括兩種形式:并行通信和串行通信。,并行通信,(1)并行方式數(shù)據(jù)的各位同時(shí)發(fā)送或同時(shí)接收。 傳送速度快,但因需要多根傳輸線,故一般只在近距離通 信中使用。,第7章 單片機(jī)的串

2、行通信技術(shù),串行通信,(2)串行方式數(shù)據(jù)的各位依次逐位發(fā)送或接收。 傳輸速度慢,但因只需較少傳輸線,故適合于遠(yuǎn)距離通信。,第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.1.1 數(shù)據(jù)通信 7.1.2 異步通信和同步通信 7.1.3 波特率的概念和串行通信的傳輸方向 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.3 串行通信工作方式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),1.異步通信以字符為單位組成字符幀進(jìn)行的數(shù)據(jù)傳送,在串行數(shù)據(jù)通信中,有同步通信和異步通信兩種方式。,一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、可編程位和停止位構(gòu)成 特點(diǎn)收發(fā)雙方不同步時(shí),能夠依靠在每幀開(kāi)始時(shí)的

3、不斷對(duì)齊,自行糾正偏差,故對(duì)收發(fā)雙方的時(shí)鐘精度要求較低,但因每個(gè)字節(jié)都要建立一次同步,所以工作速度較低、效率低。,第7章 單片機(jī)的串行通信技術(shù),2.同步通訊 數(shù)據(jù)格式數(shù)據(jù)以塊為單位連續(xù)傳送。,在發(fā)一組數(shù)據(jù)時(shí),只在開(kāi)始用若干個(gè)同步字符作為雙方的號(hào)令,然后連續(xù)發(fā)送整組數(shù)據(jù)。,特點(diǎn)數(shù)據(jù)是以數(shù)據(jù)塊為單位連續(xù)傳送的,結(jié)構(gòu)緊湊,傳輸效率高,但要求雙方有準(zhǔn)確的時(shí)鐘,對(duì)硬件要求高。,第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.1.1 數(shù)據(jù)通信 7.1.2 異步通信和同步通信 7.1.3 波特率的概念和串行通信的傳輸方向 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.3 串行通信工作方式及應(yīng)用舉例 7.

4、4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),波特率為每秒鐘發(fā)送二進(jìn)制數(shù)碼的位數(shù),即b/S (位/秒)。,在串行通信中,數(shù)據(jù)傳輸速率的快慢,通過(guò)波特率來(lái)衡量。,例如: 在異步通信中傳輸速度為360字符/秒,每個(gè)字符又包含10位,則波特率為: 360字符/秒 * 10位/字符 3600 bps (波特),標(biāo)準(zhǔn)波特率: 110、300、600、1200、2400、4800、9600、19200、38400 bps 等。,第7章 單片機(jī)的串行通信技術(shù),在串行通信中,按照傳輸數(shù)據(jù)的流向,可分成三種傳輸形式:,單工通信 半雙工通信 全雙工通信 Simplex Half Duplex Full

5、Duplex,80C51 內(nèi)部設(shè)有一個(gè)全雙工串行接口,收發(fā)雙方角色固定不能互換,收發(fā)雙方角色可換但需切換,收發(fā)雙方互不影響雙向通信,RXDReceive Data接收數(shù)據(jù) TXDTransmit Data發(fā)送數(shù)據(jù),第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.2.1串行口的結(jié)構(gòu)組成 7.2.2串行口控制寄存器 7.3 串行通信工作方式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),若干寄存器: 兩個(gè)數(shù)據(jù)緩沖器SBUF(99H)+串行控制寄存器SCON(98H) +移位寄存器+. 。,兩個(gè)引腳:數(shù)據(jù)接收RXD(P3.0) 和

6、數(shù)據(jù)發(fā)送TXD(P3.1)。,第7章 單片機(jī)的串行通信技術(shù),(1)發(fā)送數(shù)據(jù)過(guò)程(中斷法) 內(nèi)部數(shù)據(jù)并行寫入SBUF發(fā)數(shù)據(jù)串行送出中斷標(biāo)志位TI硬件置1CPU響應(yīng)中斷軟件清零TI,寫入下一數(shù)據(jù),CPU,第7章 單片機(jī)的串行通信技術(shù),(2)接收數(shù)據(jù)的過(guò)程(中斷法) 外界數(shù)據(jù)串行送入移位寄存器數(shù)據(jù)并行送入SBUF收標(biāo)志位RI硬件置1CPU響應(yīng)中斷RI軟件清零,讀走數(shù)據(jù),CPU,第7章 單片機(jī)的串行通信技術(shù),數(shù)據(jù)傳送將串行數(shù)據(jù)按一定節(jié)拍(同步時(shí)鐘脈沖)輸出到傳輸線上,或從傳輸線上讀入。,同步時(shí)鐘信號(hào)可由系統(tǒng)時(shí)鐘或定時(shí)器產(chǎn)生,第7章 單片機(jī)的串行通信技術(shù),同步時(shí)鐘和傳送數(shù)據(jù)的關(guān)系: 發(fā)送數(shù)據(jù)時(shí),發(fā)送時(shí)鐘

7、的下降沿將數(shù)據(jù)串行移位輸出;,接收數(shù)據(jù)時(shí),接收時(shí)鐘的上升沿開(kāi)始對(duì)數(shù)據(jù)位采樣。,第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.2.1串行口的結(jié)構(gòu)組成 7.2.2串行口控制寄存器 7.3 串行通信工作方式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),(1) 串行數(shù)據(jù)緩沖器,SBUF,在物理上有兩個(gè)SBUF:一個(gè)用于發(fā)送,另一個(gè)用于接收。在邏輯上只有一個(gè)SBUF(99H)。 可根據(jù)用法區(qū)分功能:,uchar counter; 待發(fā)送存放變量 SBUF = counter; 完成一次數(shù)據(jù)發(fā)送 counter = SBUF; 完成

8、一次數(shù)據(jù)接收,CPU,第7章 單片機(jī)的串行通信技術(shù),(2) 串口控制寄存器,SCON(98H),SM2主要用于多機(jī)通訊:SM2=1 允許; 0禁止。 TB8(RB8)-發(fā)送(接收)數(shù)據(jù)的第9位,第7章 單片機(jī)的串行通信技術(shù),通過(guò)SM0和SM1不同的取值,可選擇串行通信中的四種工作方式。,第7章 單片機(jī)的串行通信技術(shù),(3) 電源控制寄存器,PCON(87H),由定時(shí)器T1產(chǎn)生的同步時(shí)鐘,第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.3 串行通信工作方式 7.3.1 方式0(八位同步移位寄存器方式) 7.3.2 方式1(十位異步收發(fā)通信模式) 7.

9、3.3 方式2、方式3數(shù)據(jù)幀格式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),八位同步移位寄存器方式用于擴(kuò)展并行I/O接口,數(shù)據(jù)傳輸波特率固定為fosc/12 由RXD引腳輸入或輸出數(shù)據(jù)(低位在前,高位在后) 由TXD引腳輸出同步時(shí)鐘信號(hào),擴(kuò)展輸出口,擴(kuò)展輸入口,第7章 單片機(jī)的串行通信技術(shù),7.3.1 方式0(八位同步移位寄存器方式),74LS164為8位串并轉(zhuǎn)換移位寄存器 DIP14 能將 串行輸入數(shù)據(jù) 轉(zhuǎn)為 并行輸出,工作原理: 1)若CLEAR端為低電平:輸出端QAQG都為0; 2)若CLEAR端為高電平,且CLOCK端出現(xiàn)上升沿脈沖: 則 輸出端 鎖存 輸入

10、端的電平 Q0=(A void delay() unsigned int i; /延時(shí) for (i=0; i20000; i+) void main() unsigned char index, LED; /定義LED指針和顯示字模 SCON = 0; /設(shè)置串行模塊工作在方式0 MR = 1; / CLEAR端1,允許輸入數(shù)據(jù) while (1) LED=0 xFE; for (index=0; index 8; index+) SBUF = LED; /控制L0燈點(diǎn)亮 do while(!TI); /通過(guò)TI查詢判別數(shù)據(jù)是否輸出結(jié)束 LED = (LED1) |1); /左移1位,末位置

11、1 if (LED= 0 xff) LED = 0 xfe; /若已循環(huán)一遍,準(zhǔn)備重新開(kāi)始 delay(); ,實(shí)例1參考程序,第7章 單片機(jī)的串行通信技術(shù),實(shí)例1運(yùn)行效果,第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.3 串行通信工作方式 7.3.1 方式0(八位同步移位寄存器方式) 7.3.2 方式1(十位異步收發(fā)通信模式) 7.3.3 方式2、方式3數(shù)據(jù)幀格式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),10位數(shù)據(jù)異步通訊方式用于雙機(jī)通信,一幀信息:1個(gè)起始位(0)+8位數(shù)據(jù)位+1個(gè)停止位(1) ,其中起始位和停止

12、位是自動(dòng)插入的。,第7章 單片機(jī)的串行通信技術(shù),發(fā)送條件:由SBUF = counter即可啟動(dòng)發(fā)送過(guò)程 發(fā)送完成:硬件TI置1,接收條件:在允許接收位REN=1時(shí)即可啟動(dòng)接收過(guò)程 接收完成:硬件RI置1,數(shù)據(jù)SBUF,第7章 單片機(jī)的串行通信技術(shù),通常,指定T1為波特率時(shí)鐘發(fā)生器(波特率時(shí)鐘可變),通常選擇T1定時(shí)器方式2(取fosc為11.0592MHz),第7章 單片機(jī)的串行通信技術(shù),一般初始化過(guò)程,例如: SCON=0 x50; /串口設(shè)為方式1,TI和RI清零,允許接收 PCON=0 x80; /波特率加倍(2) TMOD=0 x20; /T1設(shè)為定時(shí)方式2 TH1=0 xcc; /

13、定時(shí)器初值 TL1=0 xcc; /重置的定時(shí)初值 IE=10010000B;/中斷使能(開(kāi)中斷) TR1=1; /啟動(dòng)T1,第7章 單片機(jī)的串行通信技術(shù),實(shí)驗(yàn)程序: 編寫一段程序,利用單片機(jī)的串行口向PC機(jī)發(fā)送字符串。,8051 單片 機(jī),使用 串口方式1,#include #include sbit p=PSW0; char s =MSC-51 Serial Communication Bus! 我能行!; void main() char x,b=0; SCON=0 x40;/串口方式1 TMOD=0 x20; /設(shè)置T1及波特率9600 TH1=0 xFD; TL1=0 xFD; PC

14、ON=0 x00; TR1=1; x=strlen(s); for(;bx;b+) SBUF=sb; while(!TI) ; /此舉末位的”;”省略了會(huì)怎樣? 等效于while(TI=0) TI=0; while(1) /作用是? ,雙機(jī)通信協(xié)議 通行方式:例如異步串行通信 波特率: 例如2400b/s 發(fā)機(jī)要求發(fā)送的呼叫信號(hào):例如10H 收機(jī)同意接收的應(yīng)答信號(hào):例如20H 收機(jī)不同意接收的應(yīng)答信號(hào):例如30H 告知數(shù)據(jù)正確的應(yīng)答信號(hào):例如0FH 通信結(jié)束標(biāo)志信號(hào):例如0AH ,第7章 單片機(jī)的串行通信技術(shù),實(shí)例2: 要求設(shè)計(jì)一個(gè)雙機(jī)通信方案,甲機(jī)發(fā)送數(shù)據(jù),乙機(jī)接收數(shù)據(jù)。兩機(jī)的振蕩頻率為12

15、MHz,波特率設(shè)置為2.4k,工作在串口方式1。 甲機(jī)循環(huán)發(fā)送0-15的數(shù)字,乙機(jī)接收后返回接收值。若發(fā)送值與返回值相等,繼續(xù)發(fā)送下一數(shù)字,否則重復(fù)發(fā)送當(dāng)前數(shù)字。 發(fā)送值和接收值應(yīng)顯示在LED數(shù)碼管上; 采用查詢法檢查收發(fā)是否完成。,第7章 單片機(jī)的串行通信技術(shù),實(shí)例2電路原理圖,第7章 單片機(jī)的串行通信技術(shù),實(shí)例2程序流程圖,第7章 單片機(jī)的串行通信技術(shù),實(shí)例2參考程序,第7章 單片機(jī)的串行通信技術(shù),實(shí)例2參考程序,第7章 單片機(jī)的串行通信技術(shù),實(shí)例2運(yùn)行效果,第7章 單片機(jī)的串行通信技術(shù),7.1 串行通信概述 7.2 串行口的結(jié)構(gòu)組成及控制寄存器 7.3 串行通信工作方式 7.3.1 方式

16、0(八位同步移位寄存器方式) 7.3.2 方式1(十位異步收發(fā)通信模式) 7.3.3 方式2、方式3數(shù)據(jù)幀格式及應(yīng)用舉例 7.4 串行通信設(shè)計(jì)應(yīng)用舉例,第7章 單片機(jī)的串行通信技術(shù),方式2和方式3的數(shù)據(jù)幀都是11位用于多機(jī)通信 格式為: 一個(gè)起始位,8個(gè)數(shù)據(jù)位,一個(gè)可編程位和一個(gè)停止位,可編程位在SCON的TB8和RB8位中,用于奇偶校驗(yàn)或多機(jī)通訊標(biāo)識(shí)。,第7章 單片機(jī)的串行通信技術(shù),可編程位可以由軟件置1或清0; 發(fā)送時(shí)第9位在TB8中,連同八位數(shù)據(jù)通過(guò)串口發(fā)出。 收到數(shù)據(jù)后,數(shù)據(jù)存入接收SBUF內(nèi),可編程位存入RB8中。,第7章 單片機(jī)的串行通信技術(shù),可編程位還可用作為對(duì)接收到的數(shù)據(jù)進(jìn)行校

17、驗(yàn)使用;常用校驗(yàn)方法: 在可編程位裝入發(fā)送數(shù)據(jù)的奇偶校驗(yàn)位。例如,欲發(fā)送數(shù)據(jù)45H(01000101B),發(fā)送數(shù)據(jù)包含二進(jìn)制數(shù)1的個(gè)數(shù)為奇數(shù),因此奇偶校驗(yàn)位P=1,在發(fā)送數(shù)據(jù)45H時(shí),將P=1賦值到可編程位TB8,連同數(shù)據(jù)共同發(fā)出。 對(duì)方接收后,只要將實(shí)際數(shù)據(jù)的奇偶關(guān)系與RB8進(jìn)行對(duì)比,即可知道收發(fā)過(guò)程是否有誤。,第7章 單片機(jī)的串行通信技術(shù),方式2的波特率為固定數(shù)值:,方式3的波特率和方式1相同,是可變的:,第7章 單片機(jī)的串行通信技術(shù),實(shí)驗(yàn)程序: 編寫一段程序,利用單片機(jī)的串行口向PC機(jī)發(fā)送字符串。 要求:使用串口方式2,TB8為發(fā)送數(shù)據(jù)的奇偶校驗(yàn)位。,8051 單片 機(jī),使用 串口方式2,#include #include sbit p=PSW0; char s =“MSC-51 Serial Communication Bus! 我很行!; void main() char x,b=0; SCON=0 x90;/串口方式2 PCON=0 x00; x=strlen(s); for(;bx;b+) ACC=sb; TB8=p; /奇偶校驗(yàn)位 送入 TB8 SBUF=sb; while(!TI) ; TI=0; while(1) ,本章小結(jié), 用于串行口通信控制的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論