




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章單片機(jī)的串行通信通信方式7.1串行通信的概念
7.1.1異步通信與同步通信
并行通信方式—空間上區(qū)分各位數(shù)據(jù)
及聯(lián)絡(luò)控制信號(hào)。占
用傳輸線多,速度快。串行通信方式—時(shí)間上區(qū)分各位數(shù)據(jù)
及聯(lián)絡(luò)控制信號(hào)。占
用傳輸線少,速度慢。一、串行通信方式
----信息傳輸在一個(gè)方向上只占用一跟通信線,它既作為數(shù)據(jù)線,又作為聯(lián)絡(luò)線。信息格式上分異步通信方式—按字符傳輸同步通信方式—按數(shù)據(jù)塊傳輸1.異步通信方式01停止位起始位低位高位7或8位數(shù)據(jù)位奇偶校驗(yàn)停止位第N個(gè)字符第N-1個(gè)字符2.同步通信SYNC(SynchronousDataCommunication)
在同步通信中,數(shù)據(jù)或字符開(kāi)始處是用一同步字符來(lái)指示(一般約定為1~2個(gè)字符),以實(shí)現(xiàn)發(fā)送端和接收端同步,一旦檢測(cè)到約定同步字符,下面就連續(xù)按順序接收數(shù)據(jù)。7.1.2串行通信的波特率波特率(bandrate)是異步通信中數(shù)據(jù)傳送速率的單位,其意義是每秒傳送多少位二進(jìn)制數(shù)。例如:數(shù)據(jù)傳送的速率為120個(gè)字符每秒,每個(gè)字符由1個(gè)起始位、8個(gè)數(shù)據(jù)位和1個(gè)停止位組成,則其傳送波特率為:10b×120/s=1200b/s=1200波特7.1.3串行通信的方式按照數(shù)據(jù)傳送方向,串行通信可分為半雙工(halfduplex)制式和全雙工(fullduplex)制式。1.半雙工制式在半雙工制式下,甲機(jī)和乙機(jī)之間只有一個(gè)通信回路,接收和發(fā)送不能同時(shí)進(jìn)行,只能分時(shí)發(fā)送和接收。2.全雙工制式在全雙工制式下,甲、乙兩機(jī)之間數(shù)據(jù)的發(fā)送和接收可以同時(shí)進(jìn)行,稱(chēng)為全雙工傳送。不管哪種形式的串行通信,在兩機(jī)之間均應(yīng)有共地線。
7.2單片機(jī)串行的通信原理及工作方式7.2.1單片機(jī)串行口的結(jié)構(gòu)主要由兩個(gè)數(shù)據(jù)緩沖寄存器SBUF和一個(gè)輸入移位寄存器,以及一個(gè)串行控制寄存器SCON等組成。
7.2.2單片機(jī)串行口的控制
1.串行口控制寄存器SCON(1)SM0、SM1:串行口工作方式選擇位。(2)SM2:在方式2和方式3中主要用于多機(jī)通信控制。(3)REN:串行接收允許位。由軟件置位或清除。軟件置1時(shí),串行口允許接收,清零后禁止接收。(4)TB8:發(fā)送數(shù)據(jù)的第9位。雙機(jī)通信時(shí)它可作奇偶校驗(yàn)位;在多機(jī)通信中可作為區(qū)別地址幀或數(shù)據(jù)幀的標(biāo)識(shí)位。(5)RB8:在方式2和方式3中是接收的第9位數(shù)據(jù)。(6)TI:發(fā)送中斷標(biāo)志位。。(7)RI:接收中斷標(biāo)志位。2.專(zhuān)用寄存器PCONPCON的各位的定義和功能如下:當(dāng)SMOD=l時(shí),方式1、2、3的波特率加倍,否則不加倍。
7.2.3單片機(jī)串行口的工作方式1.方式0串行接口工作方式0為同步移位寄存器方式,多用于I/O口的擴(kuò)展,其波特率是固定的,為fosc/12。TXD引腳輸出同步移位脈沖,RXD引腳串行輸入/輸出。2.方式1在方式l時(shí),串行口被設(shè)置為波特率可變的8位異步通信接口。發(fā)送/接收1幀數(shù)據(jù)為10位,其中1位起始位、8位數(shù)據(jù)位(先低位后高位)和1位停止位。
3.方式2串行口工作為方式2時(shí),被定義為9位異步通信接口。發(fā)送/接收1幀數(shù)據(jù)為11位,其中1位起始位、8位數(shù)據(jù)位、1位控制/校驗(yàn)位和1位停止位??刂?校驗(yàn)位為第9位數(shù)據(jù)。4.方式3方式3為波特率可變的11位異步通信方式,除了波特率有所區(qū)別之外,其余同方式2。5.串行通信的波特率(1)方式0的波特率在方式0下,串行口通信的波特率是固定的,其值為fosc/12(fosc為主機(jī)頻率)。(2)方式2的波特率在方式2下,通信波特率為fosc/32或fosc/64,根據(jù)特殊功能寄存器PCON中SMOD位的狀態(tài)來(lái)決定串行口在那個(gè)波特率下工作。選擇公式為:(3)方式1或方式3的波特率在這兩種方式下,串行口波特率是由定時(shí)器的溢出率決定的,因而波特率是可變的。波特率的公式為:式中:K為定時(shí)器T1的位數(shù)。7.3單片機(jī)串行口的應(yīng)用7.3.1串行口擴(kuò)展顯示器例:用8位串入并出移位寄存器74HC164擴(kuò)展顯示器。功能:把數(shù)據(jù)從顯示緩沖區(qū)送到數(shù)碼管。入口:將要顯示的數(shù)放在以DIS0為首的8個(gè)單元中。
出口:把預(yù)置的數(shù)輸出以更新原有的顯示。
MOV R2,#08H ;顯示8個(gè)數(shù)碼管
MOV R0,#DIS7 ;顯示緩沖區(qū)未地址送入R0DL0:MOV A,@R0 ;取要顯示數(shù)作查表偏移量
MOV DPTR,#TAB ;指向字形表首
MOVC A,@A+DPTR;查表得字形碼
MOV SBUF,A ;發(fā)送顯示DL1:JNB TI,DL1 ;等待發(fā)送完一幀CLR TI ;清中斷標(biāo)志,準(zhǔn)備繼續(xù)發(fā)送
DEC R0 ;更新顯示單元
DJNZ R2,DL0 ;重復(fù)顯示所有數(shù)碼管TAB:DB0C0H,0F9H,0A4H,0B0H,99H;0,1,2,3,4,
DB92H,82H,0F8H,80H,90H;5,6,7,8,9,
DB88H,83H,0C6H,0A1H,86H;A,B,C,D,E,
DB8EH,0BFH,8CH,0FFH;F,-,P,暗7.3.2串行口擴(kuò)展的鍵盤(pán)在方式0下,串行口作同步移位寄存器用,以8位數(shù)據(jù)為一幀,先發(fā)送或接收最低位,每個(gè)機(jī)器周期發(fā)送或接收一位,故其波特率是固定的,為fosc/12。串行數(shù)據(jù)由RXD(P3.0)端輸入或輸出。
ORG 0050HMAIN MOV SCON,#10H;設(shè)置串行口為方式0SETB P1.1 ;啟動(dòng)74LS165的并行輸入開(kāi)關(guān)量 CLR P1.1 ;啟動(dòng)74LS165的串行輸出LOOP:JNB RI,LOOP ;等待接收完嗎? CLR RI ;清除接收中斷標(biāo)志位 MOV A,SBUF ;讀入鍵盤(pán)號(hào) MOV R2,A JNB ACC.0,TZH1 ;判斷如果為1號(hào)鍵 JNB ACC.1,TZH2 ;判斷如果為2號(hào)鍵 JNB ACC.2,TZH3 ;判斷如果為3號(hào)鍵 JNB ACC.3,TZH4 ;判斷如果為4號(hào)鍵 JNB ACC.4,TZH5 ;判斷如果為5號(hào)鍵 JNB ACC.5,TZH6 ;判斷如果為6號(hào)鍵 JNB ACC.6,TZH7;判斷如果為7號(hào)鍵 JNB ACC.7,TZH8 ;判斷如果為8號(hào)鍵 AJMP MAIN ;沒(méi)鍵按下,轉(zhuǎn)起始…TZH1:LCALL CHX1 ;調(diào)子程序 AJMP MAIN…TZH8:LCALL CHX8 AJMP MAIN…CHX1:… ;1號(hào)子程序CHX2:… ;2號(hào)子程序 …CHX8:… ;8號(hào)子程序END7.3.3雙機(jī)通信
編程使乙機(jī)從甲機(jī)接收16個(gè)字節(jié)數(shù)據(jù)塊,并存入片外3000H~300FH單元。接收過(guò)程中要求判奇偶校驗(yàn)標(biāo)志RB8。若出錯(cuò)則置F0標(biāo)志為1,若正確則置F0標(biāo)志為0,然后返回。例:編程把甲機(jī)片內(nèi)RAM50H~5FH單元中的數(shù)據(jù)塊從串行口輸出。定義在方式3下發(fā)送,TB8作奇偶校驗(yàn)位。采用定時(shí)器1方式2作波特率發(fā)生器,波特率為1200波特,fosc=11.0592MHz,預(yù)置值TH1=0E8H。發(fā)送子程序如下:
MOV TMOD,#20H ;設(shè)置定時(shí)器1為方式2MOV TL1,#0E8H ;設(shè)預(yù)置值
MOV TH1,#0E8HMOV SCON,#0C0H ;設(shè)置串行口為方式3MOV PCON,#00H ;SMOD=0SETB TRI ;啟動(dòng)定時(shí)器1MOV R0,#50H ;設(shè)數(shù)據(jù)塊指針
MOV R7,#10H ;設(shè)數(shù)據(jù)長(zhǎng)度10HTRS:MOV A,@R0;取數(shù)據(jù)送至AMOV C,PMOV TB8,C ;奇偶位P送至TB8MOV SBUF,A ;啟動(dòng)發(fā)送WAIT:JNB TI,$ ;判1幀是否發(fā)送完
CLR TIINC R0 ;更新數(shù)據(jù)單元DJNZ R7,TRS ;循環(huán)發(fā)送至結(jié)束接收子程序編程如下:
MOV TMOD,#20H ;設(shè)置定時(shí)器1為方式2MOV TL1,#0E8H ;設(shè)預(yù)置值
MOV TH1,#0E8HMOV SCON,#0C0H ;設(shè)置串行口為方式3MOV PCON3,#00H ;SMOD=0SETB TR1 ;啟動(dòng)定時(shí)器1MOV DPTR,#3000H ;設(shè)置數(shù)據(jù)塊指針
MOV R7,#10H ;設(shè)數(shù)據(jù)塊長(zhǎng)度
SETB REN ;允許接收WAIT:JNB RI,$ ;判1幀是否接收完
CLR RI
MOV A,SBUF ;讀入1幀數(shù)據(jù)
JNB PSW.0,PZ ;奇偶位P為0則跳轉(zhuǎn)
JNB RB8,ERR ;P=l,RB8=0則出錯(cuò)
SJMP YES ;二者全為1則正確PZ:
JB RB8,ERR ;P=0,RB8=l則出錯(cuò)YES:
MOVX@DPTR,A ;正確,存放數(shù)據(jù)
INC DPTR ;修改地址指針
DJNZR7,WAIT ;判斷數(shù)據(jù)塊接收完否
CLR PSW.5 ;接收正確且接收完清F0標(biāo)志
RET ;返回ERR:SETB PSW.5 ;出錯(cuò)則置F0標(biāo)志為“l(fā)”RET ;返回
7.3.4多機(jī)通信多機(jī)通信的實(shí)現(xiàn),主要靠主、從機(jī)之間正確地設(shè)置與判斷多機(jī)通信控制位SM2和發(fā)送或接收的第9數(shù)據(jù)位(D8)。以下簡(jiǎn)述如何實(shí)現(xiàn)多機(jī)通信。
多機(jī)之間的通信過(guò)程可歸納如下:(1)主、從機(jī)均初始化為方式2或方式3,置SM2=1,允許中斷。(2)主機(jī)置TB8=1,發(fā)送要尋址的從機(jī)地址。(3)所有從機(jī)均接收主機(jī)發(fā)送的地址,并進(jìn)行地址比較。(4)被尋址的從機(jī)確認(rèn)地址后,置本機(jī)SM2=0,向主機(jī)返回地址,供主機(jī)核對(duì)。(5)核對(duì)無(wú)誤后,主機(jī)向被尋址的從機(jī)發(fā)送命令,通知從機(jī)接收或發(fā)送數(shù)據(jù)。(TB8=0)(6)通信只能在主、從機(jī)之間進(jìn)行,兩個(gè)從機(jī)之間的通信需通過(guò)主機(jī)作中介。(7)本次通信結(jié)束后,主、從機(jī)重置SM2=1,主機(jī)可再對(duì)其他從機(jī)尋址。例:主機(jī)向02號(hào)從機(jī)發(fā)送50H~5FH中的數(shù)據(jù);02號(hào)從機(jī)將接收到的數(shù)據(jù)放到內(nèi)RAM30H~
3FH單元中。主機(jī)程序:ORG0030HMAIN:MOV SCON,#98HM1:MOV SBUF,#02HL1:JNBTI,$CLR TIJNBRI,$MOVA,SUBFXRLA,#02HJZRHTAJMPM1RHT:CLRTB8MOVR0,#50HM1:MOV R7,#10HL3:MOVA,@R0MOVSBUF,AJNBTI,$CLR TIINCR0DJNZR7,L3AJMPMAINEND從機(jī)程序:ORG0030HMAIN:MOVR0,#30HMOVR6,#10HSI:MOVSCON,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T2DM患者身體測(cè)量指標(biāo)及代謝指標(biāo)與NAFLD發(fā)生相關(guān)性研究
- GNPs-Mg-8Al-1Sm復(fù)合材料的制備及其電輔助鍛造成形研究
- 共益?zhèn)鶆?wù)融資合同范本
- 2025至2030年中國(guó)文丘里角型調(diào)節(jié)閥數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)手搖交流發(fā)電機(jī)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 基于哈佛分析框架下的企業(yè)并購(gòu)協(xié)同效應(yīng)研究
- 2025至2030年中國(guó)室內(nèi)用監(jiān)視防護(hù)罩?jǐn)?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)大理石火鍋?zhàn)罃?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)可視防盜器鋁蓋數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)原生花生油數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 電梯采購(gòu)合同范本
- 2025年山東泰山財(cái)產(chǎn)保險(xiǎn)股份有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年度珠寶店珠寶首飾設(shè)計(jì)研發(fā)合作協(xié)議
- 初中物理競(jìng)賽及自主招生講義:第7講 密度、壓強(qiáng)與浮力(共5節(jié))含解析
- 非遺數(shù)字化保護(hù)的可行性研究
- 農(nóng)村自建房施工合同范本(包工包料)
- 高中主題班會(huì) 梁文鋒和他的DeepSeek-由DeepSeek爆火開(kāi)啟高中第一課-高中主題班會(huì)課件
- 污水處理設(shè)施運(yùn)維服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 一年級(jí)下冊(cè)書(shū)法教案 (一)
- 2025年復(fù)工復(fù)產(chǎn)安全開(kāi)工第一課專(zhuān)題培訓(xùn)
- 【道法】做自信的人課件 2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論