版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)應(yīng)用技術(shù)(匯編語言)(第二版)全國高級(jí)技工學(xué)校電氣自動(dòng)化設(shè)備安裝與維修專業(yè)教材243243項(xiàng)目七串口通信應(yīng)用244244串口通信應(yīng)用串口是一種應(yīng)用十分廣泛的通信接口,串口成本低、容易使用、通信線路簡單,可實(shí)現(xiàn)兩個(gè)設(shè)備的互相通信。單片機(jī)的串口可以使單片機(jī)與單片機(jī)、單片機(jī)與計(jì)算機(jī)、單片機(jī)與各式各樣的模塊互相通信,互傳數(shù)據(jù)信息。比如單片機(jī)和計(jì)算機(jī)的串口通信,單片機(jī)可以采集一些模擬量(如溫度,濕度,氣體濃度等),將這些模擬量轉(zhuǎn)換成數(shù)字量后通過串口通信接口傳輸給單片機(jī)或計(jì)算機(jī),單片機(jī)或計(jì)算機(jī)再處理所采集模擬量,本項(xiàng)目以雙機(jī)通信為例介紹單片機(jī)串口通信應(yīng)用。圖7-0-1串口連接線a)串口接口b)串口線245245任務(wù)雙機(jī)通信設(shè)計(jì)246246學(xué)習(xí)目標(biāo)1.能對(duì)串口線進(jìn)行正確連接。2.能編寫串口初始化程序。3.能用中斷或查詢方式接收或發(fā)送數(shù)據(jù)。4.能編寫串口接收和發(fā)送數(shù)據(jù)程序。5.會(huì)設(shè)計(jì)簡單的串口通信電路。6.會(huì)編寫簡單的串口通信應(yīng)用程序。247247任務(wù)引入在工業(yè)自動(dòng)化中實(shí)時(shí)控制和數(shù)據(jù)處理得到廣泛應(yīng)用,本任務(wù)是采用兩片單片機(jī)進(jìn)行雙機(jī)通信,一片單片機(jī)作為主機(jī),模擬發(fā)送按鍵控制數(shù)據(jù),另一片單片機(jī)作為從機(jī),接收主機(jī)發(fā)送的控制數(shù)據(jù),并根據(jù)接收到的數(shù)據(jù)去控制LED燈閃爍和熄滅。分析任務(wù)要求可知,該任務(wù)要實(shí)現(xiàn)兩塊單片機(jī)之間互相通信,可利用單片機(jī)串口通信方式,單片機(jī)1的P3.0/RXD引腳連接單片機(jī)2的P3.1/TXD引腳,單片機(jī)1的P3.1/TXD引腳接單片機(jī)2的P3.0/RXD引腳,如圖7-1-1所示。圖7-1-1MCS-51系列單片機(jī)雙機(jī)通信示意圖248248相關(guān)知識(shí)一、串行通信方式計(jì)算機(jī)通信是指計(jì)算機(jī)與外部設(shè)備或計(jì)算機(jī)與計(jì)算機(jī)之間的信息交換,主要有并行通信和串行通信兩種方式。并行通信是將數(shù)據(jù)同時(shí)通過并行線進(jìn)行傳送,串行通信是將數(shù)據(jù)在一條傳輸線上逐個(gè)傳送。并行通信傳輸速率較快,但通信距離較短。串行通信傳輸速率較慢,但通信距離遠(yuǎn),抗干擾能力較強(qiáng)。本項(xiàng)目主要介紹串行通信。按數(shù)據(jù)傳送的方式,串行通信方式分為異步通信和同步通信兩種基本形式。1.異步通信異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致,異步通信示意圖如圖7-1-2所示。圖7-1-2異步通信示意圖249249相關(guān)知識(shí)250250一、串行通信方式2.同步通信同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。圖
7-
1
-3
兩種同步方法a)外同步
b)自同步此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步關(guān)系。發(fā)送方對(duì)接收方的同步可以通過兩種方法實(shí)現(xiàn),如圖7-1-3所示。相關(guān)知識(shí)二、串行通信的數(shù)據(jù)傳輸方式串行通信的數(shù)據(jù)傳輸方式有單工、半雙工和全雙工三種,如圖7一1一4所示。圖
7
-
1
-
4
串行通行三種數(shù)據(jù)傳輸方式a)單工
b)半雙工
c)全雙工單工一是指數(shù)據(jù)只能單向傳輸。半雙工一是指數(shù)據(jù)能雙向傳輸,但不能同時(shí)雙向傳輸。全雙工一是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。251251相關(guān)知識(shí)三、字符幀和波特率在串行通信中,字符幀格式和波特率是兩個(gè)重要的指標(biāo),由用戶根據(jù)實(shí)際情況選定。1.字符幀在串行異步通信中,數(shù)據(jù)通常以字符(或字節(jié))為單位組成字符幀傳送。字符幀也稱數(shù)據(jù)幀,由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位4部分組成,其中起始位、數(shù)據(jù)位和停止位是必需的,而奇偶校驗(yàn)位可以根據(jù)實(shí)際要求決定是否采用。串行異步通信的字符幀格式如圖7-1-5所示。各部分的功能和結(jié)構(gòu)如下:(1)起始位。位于字符幀開頭,占1位,始終為邏輯0,用于向接收端表示發(fā)送端開始發(fā)送一幀信息。(2)數(shù)據(jù)位。緊跟起始位之后,一般為8位,低位(LSB)在前。(3)奇偶校驗(yàn)位。位于數(shù)據(jù)位后,占1位,用于表示串行通信中采用奇偶校驗(yàn),根據(jù)實(shí)際需要設(shè)定。252252相關(guān)知識(shí)三、字符幀和波特率1.字符幀圖7-1-5串行異步通信的字符幀格式(4)停止位。位于字符幀末尾,始終為邏輯1,可?。蔽?、1.5位或2位,用于向接收端表示一幀字符信息已發(fā)送完畢,也可為發(fā)送下一幀字符做準(zhǔn)備。(5)空閑位。兩個(gè)相鄰字符幀之間可以無空閑位,也可以有若干空閑位,根據(jù)實(shí)際需要設(shè)定。253253相關(guān)知識(shí)三、字符幀和波特率2.波特率波特率是指每秒鐘傳送信號(hào)的數(shù)量,單位為Baud。波特率是串行通信非常重要的指標(biāo),用于表征數(shù)據(jù)傳輸?shù)乃俣取2ㄌ芈试礁撸瑪?shù)據(jù)傳送速度越快。四、MCS-51系列單片機(jī)串行接口結(jié)構(gòu)MCS-51系列單片機(jī)串行接口結(jié)構(gòu)如圖7-1-6所示,內(nèi)部是一個(gè)全雙工的串行通信接口,它具有通用異步接收器/發(fā)送器的全部功能,能同時(shí)進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為同步移位寄存器使用。254254相關(guān)知識(shí)四、MCS-51系列單片機(jī)串行接口結(jié)構(gòu)圖7-1-6MCS-51系列單片機(jī)串行接口結(jié)構(gòu)SBUF是串口緩沖寄存器,發(fā)送數(shù)據(jù)的SBUF,稱為串口發(fā)送緩沖寄存器。接收數(shù)據(jù)的SBUF,稱為串口接收緩沖寄存器。波特率由T1溢出率決定。255255相關(guān)知識(shí)五、MCS-51系列單片機(jī)串行口有關(guān)的特殊功能寄存器1.串行口控制寄存器SCON與串行口緊密相關(guān)的一個(gè)特殊功能寄存器是串行口控制寄存器SCON,它用來設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志等。串行口控制寄存器SCON位符號(hào)見表7-1-1。其中,SM0、SM1是工作方式選擇位,串行口有4種工作方式,它們由SM0,SM1設(shè)定,見表7-1-2。256256相關(guān)知識(shí)五、MCS-51系列單片機(jī)串行口有關(guān)的特殊功能寄存器1.串行口控制寄存器SCONSM2是多機(jī)通信控制位,主要用于方式2和方式3。當(dāng)串行口工作于方式2或3,以及SM2=1時(shí),只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時(shí),才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請(qǐng),否則會(huì)將接收到的數(shù)據(jù)放棄。當(dāng)SM2=0時(shí),就不管第9位數(shù)據(jù)是0還是1,都會(huì)將數(shù)據(jù)送入SBUF,并發(fā)出中斷申請(qǐng)。REN是允許串行接收位。當(dāng)REN=1時(shí),允許串行口接收數(shù)據(jù);當(dāng)REN=0時(shí),禁止串行口接收數(shù)據(jù)。該位可以由軟件來設(shè)定。TB8是方式2,3中發(fā)送數(shù)據(jù)的第9位,可作為奇偶校驗(yàn)位。RB8是方式2,3中接收數(shù)據(jù)的第9位。257257相關(guān)知識(shí)五、MCS-51系列單片機(jī)串行口有關(guān)的特殊功能寄存器1.串行口控制寄存器SCONTI是發(fā)送中斷標(biāo)志位。在方式0中,發(fā)送完第8位數(shù)據(jù)時(shí),由硬件自動(dòng)置位。其他方式中,在發(fā)送停止位之初,由硬件自動(dòng)置位。TI=1時(shí),申請(qǐng)中斷,CPU響應(yīng)中斷后,發(fā)送下一幀數(shù)據(jù)。在任何方式中,TI都必須由軟件先清零。RI是接收中斷標(biāo)志位。在方式0中,接收到第8位結(jié)束時(shí)置1。其他方式中,接收到停止位時(shí)置1,要求CPU取走數(shù)據(jù)。在任何方式中,都必須由軟件清0。在系統(tǒng)復(fù)位時(shí),SCON中的所有位都被清0。258258相關(guān)知識(shí)五、MCS-51系列單片機(jī)串行口有關(guān)的特殊功能寄存器1.串行口控制寄存器SCON【例】設(shè)置串口工作在方式1。SCON只需要將SM0和SM1設(shè)置為0和1即可,其他位可以全部置0,見表7-1-3。SCON設(shè)置語句如下:或者也可以用位設(shè)置語句:259259相關(guān)知識(shí)五、MCS-51系列單片機(jī)串行口有關(guān)的特殊功能寄存器2.電源管理寄存器PCONPCON用來管理單片機(jī)的電源部分,包括上電復(fù)位檢測(cè)、掉電模式、空閑模式等,PCON中只有一位SMOD與串行口工作有關(guān)。單片機(jī)復(fù)位時(shí),PCON全部被清0。電源管理寄存器PCON位符號(hào)見表7-1-4。SMOD與串行口通信波特率有關(guān)。當(dāng)SMOD=0時(shí),串口方式為1、2、3時(shí),波特率正常。當(dāng)SMOD=1時(shí),串口方式為1、2、3時(shí),波特率加倍。260260相關(guān)知識(shí)六、波特率與定時(shí)器初值在串行通信中,收、發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有約定。通過偏程可對(duì)單片機(jī)串行口設(shè)定4種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率來決定。由于移入的移位時(shí)鐘的來源不同,所以每種方式的波特率計(jì)算公式也不相同,以下是4種工作方式波特率的計(jì)算公式。方式0的波特率=fosc/12方式1的波特率=(2SMOD/32)×(T1溢出率)方式2波特率=(2SMOD/64)×fosc方式3的波特率=(2SMOD/32)×(T1溢出率)式中,fosc為系統(tǒng)晶振頻率,通常為12MHz或11.0592MHz;SMOD是PCON寄存器的最高位;T1溢出率即定時(shí)器T1溢出的頻率。261261相關(guān)知識(shí)六、波特率與定時(shí)器初值表7-1-5列出了串口方式1,定時(shí)器T1方式2產(chǎn)生常用波特率時(shí),TL1和TH1中所裝入的初值。262262相關(guān)知識(shí)六、波特率與定時(shí)器初值實(shí)際使用中,一般用51波特率計(jì)算器自動(dòng)計(jì)算,如圖7-1-7所示波特率計(jì)算器,在晶振參數(shù)設(shè)定為11.0592MHz后,選擇波特率,如9600Baud,點(diǎn)擊計(jì)算自動(dòng)列出標(biāo)準(zhǔn)波特率對(duì)應(yīng)的定時(shí)器T1初始值為FD。圖7-1-7波特率計(jì)算器263263相關(guān)知識(shí)七、UART使用步驟1.設(shè)置串口工作模式S
C
O
N
的
S
M
0=
0,S
M
1
=
1
使其工作于模式1,當(dāng)
R
E
N
=
1
時(shí)能接收。2.根據(jù)波特率計(jì)算公式設(shè)置波特率(方式0除外)注意,需要使定時(shí)器T1工作于自動(dòng)重裝模式。使用定時(shí)器T
2
(
M
C
S
-
5
2系列單片機(jī))可以達(dá)到較高的波特率。3.被特率是否需要倍速(方式0除外)如果使用定時(shí)器TI做波特率發(fā)生器且倍速后方能滿足波特率要求,則需要MOVPCON,#80H。PCON不影響定時(shí)器T2產(chǎn)生的波特率。264264相關(guān)知識(shí)七、UART使用步驟4.串口中斷串口發(fā)送一般會(huì)采用查詢方式,串口接收一般采用中斷模式。ES=1時(shí)可以打開串口中斷,隨后當(dāng)EA=1時(shí)打開全局中斷。注意,要寫好中斷服務(wù)函數(shù),而且51單片機(jī)的串口收發(fā)中斷共用,因此中斷服務(wù)函數(shù)中需要判斷I與的值。中斷向量標(biāo)號(hào)是4.5.寫入/讀取數(shù)據(jù)向
S
B
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年模具行業(yè)產(chǎn)學(xué)研合作項(xiàng)目合同4篇
- 通風(fēng)和防排煙課程設(shè)計(jì)
- 觀察日記課程設(shè)計(jì)
- 二零二五年度面料印刷與包裝服務(wù)合同4篇
- 2025年度魚塘承包與漁業(yè)產(chǎn)業(yè)發(fā)展規(guī)劃合作協(xié)議4篇
- 二零二五版公司在職分紅與員工職業(yè)規(guī)劃協(xié)議3篇
- 二零二五年度高端酒店管理咨詢合同4篇
- 自動(dòng)化儀表課課程設(shè)計(jì)
- 二零二五版建筑廢棄物資源化利用建設(shè)工程擔(dān)保服務(wù)合同3篇
- 2024版輕鋼房屋建造協(xié)議模板協(xié)議版B版
- 簡易自動(dòng)化培訓(xùn)
- 2024生態(tài)環(huán)境相關(guān)法律法規(guī)考試試題
- 有砟軌道施工工藝課件
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學(xué)習(xí)課件
- 40篇短文搞定高中英語3500單詞
- 人教版高中數(shù)學(xué)必修二《第九章 統(tǒng)計(jì)》同步練習(xí)及答案解析
- 兒科護(hù)理安全警示教育課件
- 三年級(jí)下冊(cè)口算天天100題
- 國家中英文名稱及代碼縮寫(三位)
- 人員密集場(chǎng)所消防安全培訓(xùn)
- 液晶高壓芯片去保護(hù)方法
評(píng)論
0/150
提交評(píng)論