版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
多機(jī)通信舉例:
例8—4現(xiàn)有1臺主機(jī)與10臺從機(jī)進(jìn)行雙向通信。從機(jī)地址為:00H——09H。設(shè)主、從機(jī)以方式3進(jìn)行串行通信,波特率為1200,F(xiàn)晶振為6MHZ。下面以主機(jī)發(fā)送數(shù)據(jù),從機(jī)接收數(shù)據(jù)為例說明。
主機(jī)設(shè)定有關(guān)寄存器的內(nèi)容如下:
R1——存放主機(jī)發(fā)送的數(shù)據(jù)塊首地址R2——存放尋址的從機(jī)地址
R3——存放主機(jī)發(fā)送數(shù)據(jù)塊的長度
通信命令約定:“01H”:表示主機(jī)發(fā)送數(shù)據(jù),從機(jī)接收數(shù)據(jù);
“02H”:表示主機(jī)接收數(shù)據(jù),從機(jī)發(fā)送數(shù)據(jù)。主機(jī)通信程序流程圖如圖8—8所示:
開始
定時器T1初始化
串行口初始化
向從機(jī)發(fā)送地址
發(fā)送無效地址FFH
接收從機(jī)返回的地址
▲
N
從機(jī)地址相符?
Y
向從機(jī)發(fā)送命令
延時
發(fā)送數(shù)據(jù)塊
結(jié)束
圖8—8主機(jī)通信程序流程圖
由圖8—8流程圖可得主機(jī)通信程序清單如下:
MAIN:MOVTMOD,#20H;定時器T1設(shè)置工作方式2。
MOVTL1,#0F3H;T1置初值。
MOVTH1,#0F3H
SETBTR1;啟動T1。
MOVPCON,#00H;波特率不倍增。
MOVSCON,#0D8H;串行口設(shè)置工作方式3,TB8置1,表示發(fā)送地址。
SADDR:MOVA,R2;取出從機(jī)地址。
MOVSBUF,A;發(fā)送從機(jī)地址。
JNBRI,$;等待從機(jī)應(yīng)答。
CLRRI;接收到從機(jī)應(yīng)答,RI清零。
MOVA,SBUF;取出從機(jī)應(yīng)答數(shù)據(jù)(從機(jī)地址)。
XRLA,R2;核對應(yīng)答地址。
JZMSEND;若地址相符轉(zhuǎn)發(fā)送命令。
SETBTB8;地址不相符,置地址標(biāo)志,以便重發(fā)地址。
CLRTI
MOVSBUF,#0FFH;發(fā)送無效地址,使所有從機(jī)SM2置1。
SJMPSADDR;重發(fā)地址。
MSEND:CLRTB8;地址相符,準(zhǔn)備發(fā)送命令、數(shù)據(jù)等。
MOVSBUF,#01H;發(fā)送命令,要求從機(jī)接收數(shù)據(jù)。
LCALLDELAY10;延遲10MS。
MAGAIN:MOVSBUF,@R1;主機(jī)發(fā)送數(shù)據(jù)。
JNBTI,$;等待一個字符發(fā)送完。
CLRTI
;本字符發(fā)送完畢,準(zhǔn)備發(fā)送下一個字符。
INCR1
;發(fā)送數(shù)據(jù)區(qū)地址指針加一,指向下一單元。
DJNZR3,
MAGAIN
;數(shù)據(jù)快未發(fā)送完,繼續(xù)發(fā)送。
RET;發(fā)送完畢,返回。
以#08H號從機(jī)接收為例,設(shè)定:R1:存放從機(jī)接收數(shù)據(jù)塊首地址;R2:存放從機(jī)接收數(shù)據(jù)塊長度。
從機(jī)通信程序流程圖如圖8—9所示:
開始
定時器T1初始化
串行口初始化
本機(jī)SM2置1
接收主機(jī)發(fā)送的地址
N
是本機(jī)地址?
Y
本機(jī)SM2位清零
接收主機(jī)命令
命令識別
N
N
Y
主機(jī)接收,從機(jī)發(fā)送?
主機(jī)發(fā)送,從機(jī)接收?
接收數(shù)據(jù)塊
Y
發(fā)送數(shù)據(jù)塊(略)
結(jié)束
圖8—9從機(jī)通信程序流程圖由圖8—9可得從機(jī)通信程序清單如下:
MOV
TMOD,
#20H
;T1設(shè)置工作方式2。
MOV
TL1,
#0F3H
;置初值。
MOV
TH1,
#0F3H
SETB
TR1
;啟動T1。
MOV
PCON,
#00H
;波特率不倍增。
MOV
SCON,
#0F0H
;本機(jī)串行口設(shè)置工作方式3,SM2置1,準(zhǔn)備接收地址信息。
WAIT:JNBRI,$;等待主機(jī)聯(lián)絡(luò)。
CLRRI;接收到主機(jī)地址信息,清RI,準(zhǔn)備接收下一數(shù)據(jù)。
MOVA,SBUF;取出接收到的地址信息。
XRLA,#08H;與本機(jī)比較。
JZSADDR;是本機(jī)地址,轉(zhuǎn)發(fā)送本機(jī)地址程序。
SETBSM2;本機(jī)SM2置1,以便重新接收地址。
AJMPWAIT;不是本機(jī)地址,再重新聯(lián)絡(luò)。
SADDR:MOVSBUF,#08H;發(fā)送本地址,供主機(jī)核對。
CLRTI
CLRSM2;準(zhǔn)備接收命令。
JNBRI,$;接收主機(jī)發(fā)送的命令。
CLRRI
MOV70H,SBUF
MOVA,70H;取出命令。
XRLA,#01H;檢查命令。
JZRECIV;若為本機(jī)接收數(shù)據(jù)命令,轉(zhuǎn)接收程序。
XRLA,#02H;再次檢查命令。
JZSEND;若為本機(jī)發(fā)送數(shù)據(jù)命令,轉(zhuǎn)發(fā)送程序。
AJMPWAIT;命令無效,返回待命狀態(tài)。
RECIV:JNBRI,$;接收一個字符。
CLR
RI
;準(zhǔn)備下次接收。
MOV
@R1,SBUF
;存接收數(shù)據(jù)。
INC
R1
;修改接收數(shù)據(jù)區(qū)指針。
DJNZ
R2,RECIV
;若數(shù)據(jù)接收未完,繼續(xù)接收。
SETB
SM2
;數(shù)據(jù)接收完畢,SM2重新置1。
LJMP
WAIT
;返回待命狀態(tài)。
SEND:(略)
應(yīng)當(dāng)指出,以上介紹了多機(jī)通信的一個簡單示例,實際應(yīng)用時還應(yīng)考慮命令校核、數(shù)據(jù)校核等問題,以求提高通信的可靠性。同時波特率的設(shè)定還要考慮所選擇的通信介質(zhì)等,篇幅有限,不再細(xì)述。
思考題與習(xí)題
8—1什么是串行通信的波特率?
8—2若8051單片機(jī)F晶振=11.059MHZ,需用波特率2400,試計算定時器T1的記數(shù)初值。
8—3MCS—51單片機(jī)的串行口四種工作方式各有哪些特點?8—4MCS—51單片機(jī)串行口四種工作方式的波特率如何確定?
8—5試用8051串行口工作方式0與移位寄存器組成6位LED靜態(tài)電路,并編程輸出字符”89C51P”。
8—6試編寫程序,設(shè)串行口為工作方式1,波特率為1200,禁止中斷,用查詢法將甲機(jī)從外部RAM2000H開始的10個數(shù)傳送到乙機(jī)從2000H開始的外部RAM中去,已知晶振頻率F晶振=11.0592MHZ。
8—7甲乙兩機(jī)進(jìn)行串行通信,數(shù)據(jù)區(qū)均為內(nèi)部RAM的50H—5FH,串行口以方式2工作,要求用TB8作奇偶校驗位一起傳送,波特率為1200,F(xiàn)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年隔膜電解裝置合作協(xié)議書
- 石家莊市既有建筑改造利用消防設(shè)計審查指南(2024年版)
- 小學(xué)二年級周記150字(20篇)
- Tetrahydrozoline-hydrochloride-Standard-生命科學(xué)試劑-MCE
- 3 2 平面直角坐標(biāo)系同步練習(xí) 北師大版數(shù)學(xué)八年級 上冊
- Sulfanitran-Standard-生命科學(xué)試劑-MCE
- Suberic-acid-Standard-生命科學(xué)試劑-MCE
- 南昌大學(xué)碩士研究生招生復(fù)試考生資格審查單
- 2024年陶瓷片狀磷擴(kuò)散沅項目發(fā)展計劃
- 2023屆新高考新教材化學(xué)人教版一輪訓(xùn)練-第八章第2講 水的電離和溶液的ph
- 求是文章《開創(chuàng)我國高質(zhì)量發(fā)展新局面》專題課件
- (正式版)QC∕T 1206.1-2024 電動汽車動力蓄電池?zé)峁芾硐到y(tǒng) 第1部分:通 用要求
- 場地移交安全管理協(xié)議書
- 醫(yī)院卒中中心建設(shè)各種制度、流程匯編
- 郵儲高級練習(xí)卷三(第12章-第17章)附有答案
- 重慶市江北區(qū)2023-2024學(xué)年六年級下學(xué)期期末考試數(shù)學(xué)試題
- 軍隊文職聘用合同管理規(guī)定
- 地漏剖面節(jié)點構(gòu)造講解
- 2024年貴州省安順市西秀區(qū)小升初語文試卷
- 2024-2029年中國兒童牙冠行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 新時代鐵路發(fā)展面對面全文內(nèi)容
評論
0/150
提交評論