版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、二、串口的多機(jī)通信一、 串行口的應(yīng)用舉例第七章 MCS-51的串行口1例7-1 方式2發(fā)送在雙機(jī)通訊中的應(yīng)用。下面的發(fā)送中斷服務(wù)程序,是在雙機(jī)通訊中,以TB8作為奇偶校驗位,處理方法為數(shù)據(jù)寫入SBUF之前,先將數(shù)據(jù)的奇偶校驗位寫入TB8,以保證采用偶校驗發(fā)送。 2、串行口方式2的應(yīng)用 9位共偶數(shù)個1,通過TB8補0或補1來實現(xiàn)什么是偶校驗?當(dāng)數(shù)據(jù)本身為偶數(shù)個1時(P=0)補0;當(dāng)數(shù)據(jù)本身為奇數(shù)個1時(P=1)補1;結(jié)論:令TB8=P一、 串行口的應(yīng)用舉例2PIPTI: PUSH PSW ;現(xiàn)場保護(hù) PUSH Acc SETB RS1 ;選擇第2組工作寄存器區(qū) CLR RS0 CLR TI ;發(fā)
2、送中斷標(biāo)志清“0” MOV A,R0;取數(shù)據(jù) MOV C,P ;校驗位送TB8,采用偶校驗 MOV TB8 ,C MOV SBUF ,A ;啟動發(fā)送 INC R0 ;數(shù)據(jù)指針加1 POP Acc ;恢復(fù)現(xiàn)場 POP PSW RETI ;中斷返回3例7-2 方式2接收在雙機(jī)通訊中的應(yīng)用本例與上例相對應(yīng)。若第9位數(shù)據(jù)為校驗位,在接收程序中作偶校驗處理,設(shè)1組寄存器區(qū)的R0為數(shù)據(jù)緩沖器指針。PIRI: PUSH PSWPUSH AccSETB RS0 ;選擇1組寄存器區(qū)CLR RS1CLR RI MOV A,SBUF ;收到數(shù)據(jù)送AMOV C,PJNC L1 ;C0。跳L1JNB RB8,ERP ;
3、ERP為出錯處理程序 AJMP L2 L1: JB RB8,ERP;RB81,跳ERP L2: MOV R0,A INC R0 POP Acc POP PSW ERP: ;出錯處理程序段 RETIRB8=0? P=0?YRB8=1?YNYYERPN4補充兩個數(shù)據(jù)塊的發(fā)送接收例題 補例7-3:編制一個發(fā)送程序,將片內(nèi)RAM中50H5FH的數(shù)據(jù)串行發(fā)送。串行口設(shè)定為工作方式2,TB8作奇偶校驗位。解:在數(shù)據(jù)寫入發(fā)送SBUF之前,先將數(shù)據(jù)的奇偶標(biāo)志P寫入TB8,此時,第9位數(shù)據(jù)便可作奇偶校驗用。分別采用查詢和中斷兩種方式發(fā)送。返回5ORG 0000H AJMP MAIN ;上電,轉(zhuǎn)向主程序 ORG
4、0100H ;主程序MAIN: MOV SCON ,#80H ;設(shè)工作方式2 MOV PCON ,#80H ;取波特率為fosc/32 MOV R0 ,#50H ;首址50H送R0 MOV R7 ,#10H ;數(shù)值長度送R7LOOP: MOV A ,R0 ;取數(shù)據(jù) MOV C ,PSW.0 ;PC MOV TB8 ,C ;奇偶標(biāo)志送TB8 MOV SBUF ,A ;發(fā)送數(shù)據(jù)WAIT: JBC TI ,CONT AJMP WAIT ;等待中斷標(biāo)志TI=1CONT: INC R0 DJNZ R7 ,LOOP ;數(shù)值尚未發(fā)送完, 繼續(xù)發(fā)送下一個數(shù)據(jù) SJMP $ END返回(1)采用查詢方式的程序段
5、6數(shù)據(jù)發(fā)送完?是初始化串口初始化數(shù)據(jù)區(qū)中斷初始化 發(fā)送第一個數(shù)據(jù)開 始 主程序等待中斷清中斷標(biāo)志發(fā)送下一個數(shù)據(jù) 關(guān)中斷中斷入口 中斷服務(wù)子程序返回; 發(fā)送一個數(shù)據(jù) MOV A ,R0 MOV C ,PSW.0 ;PC MOV TB8 ,C MOV SBUF ,A ;寫寫看!(2)采用中斷方式的流程圖7ORG 0000H AJMP MAIN ;上電,轉(zhuǎn)向主程序 ORG 0023H ;串行口的中斷入口地址 AJMP SERVE ;轉(zhuǎn)向中斷服務(wù)程序 ORG 0100H ;主程序MAIN: MOV SCON ,#80H MOV PCON ,#80H MOV R0 ,#50H MOV R7 ,#0FH;
6、 ?夠嗎 SETB ES ;允許串行口中斷 SETB EA ;CPU允許中斷 MOV A ,R0 MOV C ,PSW.0 ;PC MOV TB8 ,C MOV SBUF ,A ;發(fā)送第一個數(shù)據(jù) SJMP $SERVE: CLR TI ;清除發(fā)送中斷標(biāo)志 INC R0 ;修改數(shù)據(jù)地址 MOV A ,R0 MOV C ,PSW.0 ;PC MOV TB8 ,C MOV SBUF ,A ;發(fā)送數(shù)據(jù) DJNZ R7 ,ENDT ;判斷數(shù)據(jù)塊發(fā)送完否 ;若未發(fā) 送完, 則轉(zhuǎn)ENDT CLR ES ;若發(fā)送完,則禁止串行口中斷ENDT: RETI ;中斷返回 END返回(2)采用中斷方式的程序段8解:方
7、式3為11位異步通信方式,波特率取決于TI的溢出率。查 表72(P148)可知,當(dāng)晶振為11.059MHz,波特率為2400b/s時,可取SMOD=0,定時器選擇模式2: 初值為F4H返回補例7-4:編制一個接收程序,將接收的16B數(shù)據(jù)送入片內(nèi)RAM的5OH5FH單元中。設(shè)串行口工作于方式 3,波特率為2400b/s。9源程序如下:MAIN: MOV TMOD ,#20H ;設(shè)TI工作于模式2 MOV TH1 ,#0F4H ;賦循環(huán)計數(shù)初值 MOV TL1 ,#0F4H ;賦計數(shù)值 SETB TR1 ;啟動定時器TI MOV R0 ,#50H ;首地址送R0 MOV R7 ,#10H ;數(shù)據(jù)長
8、度送R7 MOV SCON ,#0D0H ;串行口工作與方式3,可接收 MOV PCON ,#00H ;設(shè)SMOD=0WAIT: JBC RI ,PR1 ;接收完一幀數(shù)據(jù),清RI,轉(zhuǎn)PR1 SJMP WAIT ;否則等待PR1: MOV A ,SBUF ;讀入數(shù)據(jù) JNB P ,PNP ;P=0,轉(zhuǎn)PNP JNB RB8 ,PER ;P=1,RB8=0,轉(zhuǎn)出錯處理 SJMP RIGHTPNP: JB RB8 ,PER ;P=0,RB8=1,轉(zhuǎn)出錯處理RIGHT: MOV R0 ,A ;數(shù)據(jù)送內(nèi)存 INC R0 ;修改地址指針 DJNZ R7 ,WAIT ;數(shù)據(jù)未接收完,繼續(xù)接收下一個數(shù)據(jù) CL
9、R PSW.5 ;置正確接收完畢標(biāo)志F0=0 RETPER: SETB PSW.5 RET返回RB8=0? P=0?YRB8=1?YNYYERPN10一個多機(jī)通信的例子二、串口的多機(jī)通信11主機(jī)與從機(jī),每個從機(jī)有一個唯一的地址碼。主機(jī)可與每個從機(jī)通信,從機(jī)之間不能通信。主機(jī)每一時段只能與一個從機(jī)通信。先叫地址,然后再通信。二、串口的多機(jī)通信主機(jī)的RXD與從機(jī)的TXD相連,主機(jī)TXD與從機(jī)的RXD端相連。從機(jī)地址分別為00H、01H、02H。12原理:在串行口以方式2(或方式3)接收時,SM2與RB8共同作用,影響著RI的置位。也就是說,接收到一個數(shù)據(jù)時,RI 置位與否還要看SM2和RB8的組合
10、。而RI不能有效置位,意味著并沒有收到這一個數(shù)據(jù)。 要保證主機(jī)與所選擇的從機(jī)實現(xiàn)可靠地通訊,必須保證串口具有識別功能。 SCON中的SM2位就是滿足這一條件而設(shè)置的多機(jī)通訊控制位。SM2=0、RB8=0 RB8=1RI可以置位SM2=1、RB8=1SM2=1、RB8=0RI可以置位RI不能置位讀P138RI可以置位才可以接收到數(shù)據(jù)13SM2=0、RB8=0 RB8=1RI可以置位SM2=1、RB8=1SM2=1、RB8=0RI可以置位RI不能置位應(yīng)用這些特性來安排多機(jī)通訊的工作過程:(1)主機(jī)先將從機(jī)地址(即準(zhǔn)備接收數(shù)據(jù)的從機(jī))發(fā)給各從機(jī),希望每個從機(jī)都能收到。主機(jī)發(fā)出的地址信息,以第9位為1為特征。(2)從機(jī)串行口編程為方式2或方式3接收,且置“1”SM2和REN位,使從機(jī)只處于多機(jī)通訊且接收地址幀的狀態(tài)。(3)各從機(jī)接收到地址后,判斷是否和本機(jī)地址相符合。相符則該從機(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度版權(quán)轉(zhuǎn)讓合同標(biāo)的作品權(quán)變更協(xié)議3篇
- 二零二五年度建筑消防工程消防水池建設(shè)與供水系統(tǒng)安裝合同范本3篇
- 二零二五年度園林綠化工程施工安全承包協(xié)議3篇
- 二零二五年度二手電動滑板車買賣與品牌授權(quán)合同
- 蛋糕刮刀課程設(shè)計
- 課程設(shè)計模板制作起泡
- 微課程設(shè)計大賽的通知
- 2025版酒吧餐飲衛(wèi)生許可證申請與維護(hù)合同3篇
- 二零二五年度養(yǎng)殖場農(nóng)業(yè)產(chǎn)業(yè)投資基金合作協(xié)議3篇
- 二零二五年度吊車安全責(zé)任及安全操作手冊編制合同2篇
- 陜西省幼兒教師通識性知識大賽考試題庫(含答案)
- 2024年北京控股集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 海域租賃協(xié)議
- 私立學(xué)校招生工作總結(jié)
- (完整word版)體檢報告單模版
- 銑刨機(jī)操作規(guī)程范文
- 鋼鐵行業(yè)用電分析
- 考研的重要性和必要性
- 財務(wù)對標(biāo)工作總結(jié)匯報
- 血透管的固定和護(hù)理
- 寒假彎道超車主題勵志班會課件
評論
0/150
提交評論