版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗9點對點串行通信一、實驗?zāi)康亩嶒炘O(shè)備與器材三、實驗電路四、實驗內(nèi)容、過程及要求
1一、實驗?zāi)康?1)
理解串行通信概念。(2)
掌握MCS-51串行通信口的初始化方法、步驟。(3)
掌握串行發(fā)送、接收程序的編寫方法。理解串行通信波特率誤差允許范圍。
2二、實驗設(shè)備與器材仿真器及其附件、圖1所示的實驗電路板各兩套,RS-232串行通信電纜一條,導(dǎo)線數(shù)條。
3三、實驗電路按實驗7的要求設(shè)置實驗板上跳線,將JP105、JP106的1-2引腳短路,用RS-232電纜或?qū)Ь€將第一塊實驗電路板的TXD(發(fā)送端)引腳與第二塊電路板的RXD(接收端)引腳連在一起,第一塊實驗電路板的RXD(接收端)引腳與第二塊電路板的TXD(發(fā)送端)引腳連在一起;再用導(dǎo)線將兩塊電路板地線連在一起(用RS-232通信電纜連接時,兩塊實驗電路板地線已通過DB9插座的第5引腳連在一起),這樣就形成了沒有聯(lián)絡(luò)信號的串行通信方式。
4四、實驗內(nèi)容、過程及要求1.串行通信格式的約定(1)波特率(CPS)為4800。假設(shè)晶振頻率為11.0592MHz,使用定時器T1溢出率作發(fā)送、接收波特率,則定時器T1重裝初值C=0FAH(不倍增)。(2)數(shù)據(jù)長度為9位,其中b7~b0為數(shù)據(jù)位,b8為奇偶校驗位。(3)采用偶校驗方式,即傳送的8位數(shù)據(jù)中含有奇數(shù)個“1”時,校驗位為1。
52.沒有協(xié)議的單字節(jié)收/發(fā)對于單字節(jié)串行收/發(fā)來說,無需約定通信協(xié)議,完成了串行口初始化后,即可通過寫串行輸出緩沖寄存器SBUF,啟動串行發(fā)送;當(dāng)接收有效標(biāo)志RI置1時,就表示已接收了一字節(jié)的數(shù)據(jù)信息。試在實驗7的基礎(chǔ)上,增加單字節(jié)串行通信功能,使程序具備在任一實驗板上按下某一按鍵時,兩塊板同時顯示被按下的鍵名。下面給出了與串行通信有關(guān)的程序段,完整程序由讀者編寫。
6;初始化定時器T1(將定時器T1的溢出信號作串行通信波特率發(fā)生器輸入信號)MOVTL1,#250 ;4800波特率對應(yīng)定時器初值MOVTH1,#250ANLTMOD,#0F0HORLTMOD,#00100000B;定時器T1工作在方式2(8位自動重裝初值)SETBTR1 ;啟動定時器T1CLRET1 ;禁止T1中斷;初始化串行口7MOVSCON,#11010000B;串行口工作在方式3,SM2=0,以便用TB8位 ;作奇偶校驗位
;SETBREN ;允許接收SETBES ;允許串行中斷SETBEA ;開中斷;單字節(jié)串行發(fā)送初始化MOVA,KEYNAME ;取按鍵值送AMOVC,P8MOVTB8,C ;奇偶標(biāo)志P送TB8,即b8位MOVSBUF,A ;寫串行發(fā)送緩沖器即可將一字節(jié)信息按設(shè)定的波特率發(fā)送到串行口上
PROCUART ;串行中斷服務(wù)程序UART: PUSHACC PUSHPSW JNBTI,NEXT1 ;串行發(fā)送結(jié)束引起中斷 CLRTI ;清除發(fā)送中斷標(biāo)志
9NEXT1: JNBRI,EXIT ;串行接收有效 CLRRI ;清除接收有效中斷 MOVA,SBUF ;讀串行接收緩沖器 ;奇偶校驗,即檢查P標(biāo)志與RB8位是否相同,否則奇偶校驗錯 MOVC,P ANLC,/RB8 ;計算P× MOVF0,C ;暫時保存在F0標(biāo)志中 MOVC,RB8 ANLC,/P ;計算RB8×
10ORLC,F(xiàn)0 ;完成了P與RB8的異或運算 JCEXIT ;校驗正確! MOVRXDBUF,A ;數(shù)據(jù)送串行接收緩沖區(qū) SETBRXDB ;串行接收有效標(biāo)志置1EXIT: POPPSW POPACC RETIEND113.按約定協(xié)議收/發(fā)的雙機串行通信將JP201、JP202跳線的1-2引腳短路,即串行數(shù)據(jù)從P1.2引腳輸出,串行移位脈沖從P3.4引腳輸出,并行輸出鎖存信號從P3.5輸出。在實驗6的基礎(chǔ)上,通過串行口將電子鐘時間送到另一實驗板顯示出來,通信協(xié)議如下:(1)數(shù)據(jù)幀格式為:0AAH(起始標(biāo)志)+4字節(jié)信息+1字節(jié)的和校驗信息。12(2)接收方正確接收后回送A5作應(yīng)答;如果錯誤,則回送A6,請求重發(fā)。(3)發(fā)送/接收緩沖區(qū)在30H~35H單元,其中35H單元存放和校驗信息(b7作接收緩沖數(shù)據(jù)有效標(biāo)志)。
(4)發(fā)送、接收均采用中斷方式。
13與串行發(fā)送有關(guān)的發(fā)送參考程序如下:TXDBDATA 30H ;發(fā)送緩沖區(qū)TXDCDATA35H ;發(fā)送/接收字節(jié)計數(shù)器TXDOKBIT07H;發(fā)送成功標(biāo)志(1表示成功;0表示失敗);初始化串行口MOVSCON,#11010000B;串行口工作在方式3,SM2=0,以便用TB8位 ;作奇偶校驗位;SETBREN ;允許接收PROCTIMETXB ;時間送發(fā)送緩沖區(qū)
14TIMETXB: MOVA,SECOND MOVB,#10 DIVAB ;轉(zhuǎn)換為BCD碼 ;十位在A中,個位在B中 MOVR0,#TXDB+2 MOV@R0,A INCR0 MOV@R0,B ;秒低位送發(fā)送緩沖區(qū)緩沖區(qū) ;分單元計數(shù)器筆段碼送顯示緩沖區(qū)15 MOVA,MINUTE MOVB,#10 DIVAB ;轉(zhuǎn)換為BCD碼 ;十位在A中,個位在B中 MOV@R0,A INCR0 MOV@R0,B ;分低位送發(fā)送緩沖區(qū)緩沖區(qū) ;計算校驗和 MOVR0,#TXDB MOVR7,#4 CLRA ;清累加器
16LOOP1: ADDA,@R0 ;累加求和 INCR0 DJNZR7,LOOP1 ANLA,#7FH ;保留和的低7位,避免與幀首標(biāo)志相同 MOV@R0,A ;校驗和存入發(fā)送緩沖區(qū) MOVA,#0AAH ;先發(fā)送幀首標(biāo)志 MOVC,P ;奇偶標(biāo)志P送C MOVTB8,C ;奇偶標(biāo)志P送TB8,即b8位 MOVSBUF,A;寫串行口緩沖寄存器,啟動發(fā)送 MOVTXDC,#0;初始化發(fā)送字節(jié)數(shù) RETEND17PROCUART ;串行中斷服務(wù)程序UART: PUSHACC PUSHPSW SETBRS0 ;切換工作寄存器區(qū) SETBRS1 JNBTI,NEXT2 ;串行發(fā)送結(jié)束中斷 CLRTI ;清除發(fā)送結(jié)束中斷 ;檢查發(fā)送字節(jié)計數(shù)器,確定是否已發(fā)送了所有數(shù)據(jù) MOVA,TXDC CJNEA,#5,NEXT118NEXT1: JNCNEXT2 ;小于5,說明尚未完成發(fā)送 ADDA,#TXDB;加上發(fā)送緩沖區(qū)首地址 MOVR0,A MOVA,@R0;取發(fā)送數(shù)據(jù) MOVC,P ;奇偶標(biāo)志P送C MOVTB8,C ;奇偶標(biāo)志P送TB8,即b8位 MOVSBUF,A ;寫串行口緩沖寄存器,啟動發(fā)送 INCTXDC ;發(fā)送字節(jié)計數(shù)器加119NEXT2: JNBRI,EXIT ;退出 CLRRI ;清除接收有效中斷 ;串行接收有效 MOVA,SBUF ;執(zhí)行奇偶校驗,P標(biāo)志與RB8位應(yīng)該相同,否則就錯 MOVC,P ANLC,/RB8 ;計算P× MOVF0,C ;暫時保在存F0標(biāo)志中 MOVC,RB8 ANLC,/P ;計算RB8× ORLC,F(xiàn)0 ;完成了P與RB8的異或運算
20 JCEXIT ;奇偶校驗錯 ;奇偶校驗正確 CJNEA,#0A5H,NEXT3 ;等于0A5H,說明接收方已準(zhǔn)確接收,成功標(biāo)志置1 SETBTXDOK SJMPEXITNEXT3: CJNEA,#0A6H,EXIT ;重新發(fā)送 CLRTXDOK ;清除發(fā)送成功標(biāo)志 MOVTXDC,#0 ;初始化發(fā)送字節(jié)計數(shù)器 MOVA,#0AAH ;發(fā)送幀首標(biāo)志
21 MOVC,P ;奇偶標(biāo)志P送C MOVTB8,C ;奇偶標(biāo)志P送TB8,即b8位 MOVSBUF,A ;寫串行口緩沖寄存器,啟動發(fā)送EXIT: POPPSW POPACC RETIEND22與串行接收有關(guān)的參考程序段如下:
;初始化串行口 MOVSCON,#11010000B ;串行口工作在方式3,SM2=0,以便用TB8位作奇偶校驗位 ;SETBREN ;允許接收 ORLPCON,#40H;將b6位置1,啟用幀錯誤偵測功能 ;初始化中斷控制器 SETBES ;允許串行口中斷 SETBEA ;開中斷 ;接收顯示處理
23WAIT: MOVR0,#RXDB+4 MOVA,@R0;讀接收緩沖區(qū)有效標(biāo)志 JNBACC.7,WAIT;接收緩沖區(qū)無效,等待 CLRACC.7 MOV@R0,A ;清除接收緩沖區(qū)有效標(biāo)志 ;把接收緩沖區(qū)信息送顯示緩沖區(qū)顯示 MOVDPTR,#LEDTAB ;0~F字模表首地址送DPTR MOVR0,#DISPBUF MOVR1,#RXDB MOVR7,#424LOOP1: MOVA,@R1 ;取顯示數(shù)碼 MOVCA,@A+DPTR ;取數(shù)碼對應(yīng)字模 MOV@R0,A ;字模送顯示緩沖區(qū) INCR0 INCR1 DJNZR7,LOOP1 ;顯示分與秒之間的小數(shù)點 MOVR0,#DISPBUF+1 MOVA,@R0 CLRACC.7 ;使b7,即DP位亮
25 MOV@R0,A ;回寫 SETBREN ;允許串行口接收新的數(shù)據(jù) LCALLS_DISP ;執(zhí)行串行輸出子程序,將筆段碼送LED SJMPWAIT ;等待ENDPROCUART ;串行中斷服務(wù)子程序UART: PUSHACC PUSHPSW SETBRS0 ;切換工作寄存器區(qū)
SETBRS126 JNBRI,NEXT1 CLRRI ;清除接收中斷 JBCSCON.7,RERROR ;幀錯誤 MOVA,SBUF ;執(zhí)行奇偶校驗,P標(biāo)志與RB8位應(yīng)該相同,否則偶校驗錯 MOVC,P ANLC,/RB8 ;計算P× MOVF0,C ;暫保存在F0標(biāo)志中 MOVC,RB8 ANLC,/P ;計算RB8× ORLC,F(xiàn)0 ;完成了P與RB8的異或運算 JCRERROR ;奇偶校驗錯
27 ;奇偶校驗正確!判別是否為幀首信息 CJNEA,#0AAH,NEXT11 ;等于0AAH,屬于一信息幀開始 MOVRXDC,#0 ;復(fù)位接收字節(jié)計數(shù)器 SETBFRAMES ;幀開始標(biāo)志有效 SJMPNEXT1NEXT11: ;非幀首信息 JNBFRAMES,RERROR ;在這之前尚未接收到幀開始標(biāo)志 ;當(dāng)前接收內(nèi)容為幀內(nèi)數(shù)據(jù)信息
MOVA,RXDC28 ADDA,#RXDB ;加接收緩沖區(qū)首地址 MOVR0,A MOV@R0,SBUF ;接收數(shù)據(jù)送接收緩沖區(qū) INCRXDC ;接收字節(jié)計數(shù)器加1 ;判別接收的字節(jié)數(shù) MOVA,RXDC CJNEA,#5,NEXT1 ;已經(jīng)接收了五字節(jié),做和校驗 MOVR0,#RXDB MOVR7,#4 ;對30H~33H單元求和,共四字節(jié) CLRA ;清除累加器
29LOOP1: ADDA,@R0 ;累加求和 INCR0 DJNZR7,LOOP1 XRLA,@R0 ;與接收到的和校驗字節(jié)異或 JNZRERROR ;正確 MOVA,@
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人承包環(huán)保綠化項目協(xié)議(2024年)
- 業(yè)主委托代理物業(yè)的委托協(xié)議2篇
- 二零二五版租賃車輛節(jié)能環(huán)保改造及補貼協(xié)議3篇
- 2024版施工現(xiàn)場保衛(wèi)消防安全協(xié)議書
- 二零二五年度第五講合同法解析:知識產(chǎn)權(quán)侵權(quán)糾紛解決協(xié)議3篇
- 2025年度茶葉產(chǎn)品國際認證與市場準(zhǔn)入合同4篇
- 2025年度工業(yè)廠房物業(yè)管理與智能化升級合同范本4篇
- 2025年度新能源汽車電池回收利用合作協(xié)議范本4篇
- 二零二五年度礦產(chǎn)資源勘探航拍合同范本3篇
- 2024版全新個人勞務(wù)分包協(xié)議書范本
- 軍隊文職崗位述職報告
- 小學(xué)數(shù)學(xué)六年級解方程練習(xí)300題及答案
- 電抗器噪聲控制與減振技術(shù)
- 中醫(yī)健康宣教手冊
- 2024年江蘇揚州市高郵市國有企業(yè)招聘筆試參考題庫附帶答案詳解
- 消費醫(yī)療行業(yè)報告
- 品學(xué)課堂新范式
- GB/T 1196-2023重熔用鋁錠
- 運輸行業(yè)員工崗前安全培訓(xùn)
- 公路工程安全風(fēng)險辨識與防控手冊
- 幼兒園教師培訓(xùn):計數(shù)(數(shù)數(shù))的核心經(jīng)驗
評論
0/150
提交評論