?? 雙機(jī)通信.txt
字號:
實(shí)驗(yàn)十五 雙機(jī)通訊(8032與8032)
一、實(shí)驗(yàn)?zāi)康?1.掌握單片機(jī)串行口的工作原理;
2.掌握利用串行口實(shí)現(xiàn)單片機(jī)間通訊的方法。
二、實(shí)驗(yàn)設(shè)備
DVCC-5103S單片機(jī)兩臺;+5V穩(wěn)壓電源一臺。
三、實(shí)驗(yàn)線路
實(shí)驗(yàn)原理接線如圖15.1所示。
圖15.1 雙機(jī)通訊
四、實(shí)驗(yàn)內(nèi)容及步驟
(一)、將發(fā)送機(jī)內(nèi)部RAM 50H為首址單元內(nèi)的一組數(shù)據(jù)向接收機(jī)發(fā)送。接收機(jī)把接收到的數(shù)據(jù)存放在內(nèi)部RAM的50H為首址的單元內(nèi)。要求兩機(jī)選用振蕩頻率為6.0MHZ,波特率為2400,選用工作方式3。
參考程序清單如下:
發(fā)送程序
MAIN: MOV TMOD,#20H
MOV TH1,#0F3H
MOV TL1,#0F3H
MOV SCON,#0C0H
MOV PCON,#80H
SETB TR1
MOV R0,#50H
LOOP1: MOV A,@R0
MOV SBUF,A
WAIT: JBC TI,LOOP2
SJMP WAIT
LOOP2: INC R0
CJNE R0,#60H,LOOP1
SJMP $
接收程序
MAIN: MOV TMOD,#20H
MOV TH1,#0F3H
MOV TL1,#0F3H
MOV SCON,#0D0H
MOV PCON,#80H
SETB TR1
MOV R0,#50H
WAIT: JBC RI,LOOP
SJMP WAIT
LOOP: MOV A,SBUF
MOV @R0,A
INC R0
CJNE R0,#60H,WAIT
SJMP $
(二)、設(shè)有甲、乙兩臺單片機(jī),編出兩臺單片機(jī)間實(shí)現(xiàn)如下串行通訊功能的程序:
甲機(jī)發(fā)送:將首址為ADDRT的128個字節(jié)的數(shù)據(jù)塊順序向乙機(jī)發(fā)送;
乙機(jī)接收:將接收的128個字節(jié)的數(shù)據(jù),順序存放在以首址為ADDRR的數(shù)據(jù)緩沖區(qū)中。
提示:程序流程圖及參考程序清單見教材的第94頁例1。
(三)、設(shè)有甲、乙兩臺單片機(jī)以工作方式2、全雙工串行通訊,每幀為11位,可程控的第9位數(shù)據(jù)為奇偶校驗(yàn)用的補(bǔ)偶位。編出能實(shí)現(xiàn)如下功能的程序:
甲機(jī):每發(fā)送一幀信息,乙機(jī)對接收的數(shù)據(jù)進(jìn)行奇偶校驗(yàn),若補(bǔ)偶正確則乙機(jī)向甲機(jī)發(fā)出“數(shù)據(jù)發(fā)送正確”的信息(現(xiàn)取00H作為回答信號),甲機(jī)接受到乙機(jī)的此信息后再發(fā)送下一個字節(jié)。若奇偶校驗(yàn)錯,則乙機(jī)發(fā)出“數(shù)據(jù)發(fā)送不正確”的信息(現(xiàn)取FFH作為回答信號)給甲機(jī),要求甲機(jī)再次發(fā)送原數(shù)據(jù),直至數(shù)據(jù)發(fā)送正確。甲機(jī)發(fā)送128個字節(jié)后才停止發(fā)送。
乙機(jī):接收甲機(jī)發(fā)送的數(shù)據(jù),并進(jìn)行奇偶校驗(yàn),并發(fā)出相應(yīng)的回答信息(即00H或FFH)給甲機(jī),直到接收完128個字節(jié)為止。
提示:程序流程圖及參考程序清單見教材的第99頁例3。
五、問題與思考
1.雙機(jī)通訊中遇到的最大問題是什么?
2.兩個以上的單片機(jī)進(jìn)行通訊時,應(yīng)該考慮的問題有哪些?
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -