新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 兩片51單片機(jī)互相通信的串行通信程序

兩片51單片機(jī)互相通信的串行通信程序

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
;系統(tǒng)晶振是 11.0592 MHz

;51單片機(jī)發(fā)送單片機(jī)程序
;此程序用Proteus仿真通過(guò)

本文引用地址:http://m.butianyuan.cn/article/201611/321852.htm

;此程序在硬件上測(cè)試通過(guò)
;2007-05-27
;附有簡(jiǎn)化電路圖
;為了使初學(xué)者能看懂,程序與圖盡可能的簡(jiǎn)單扼要

;實(shí)驗(yàn)現(xiàn)象為,發(fā)送端的P1口的哪個(gè)鍵被接下,接收端的哪個(gè)燈對(duì)應(yīng)著亮
;如果把兩個(gè)單片機(jī)的T和R通過(guò)無(wú)線模塊(如基于MCP2120芯片的模塊)來(lái)擴(kuò)充,便可做成無(wú)線通信
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSP,#60H
MOVSCON,#50H;串口 方式 1
MOVTMOD,#20H;T1 方式2

MOVTL1,#0FDH;波特率 9600 的常數(shù)
MOVTH1,#0FDH
SETBTR1
movr5,#00h
WAIT:
movp1,#0ffh
mova ,p1
movr5,a
lcall delay;讀鍵盤,這里去抖動(dòng),還要加幾句話
mova ,p1
nop
CJNEA,5,WAIT;是否有鍵輸入
MOVSBUF,a;串口輸出鍵盤輸入的值
NOP
SS:JBCTI,WAIT;是否發(fā)送完畢
SJMPSS
DELAY:;延時(shí)子程序
PUSH0;保存現(xiàn)場(chǎng)
PUSH1
MOV0,#06H
DELAY1: MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢復(fù)現(xiàn)場(chǎng)
POP0
RET
END

;系統(tǒng)晶振是 11.0592 MHz
;51單片機(jī)接收單片機(jī)程序
;此程序用Proteus仿真通過(guò)

;此程序在硬件上測(cè)試通過(guò)
;2007-05-27
;附有簡(jiǎn)化電路圖
;為了使初學(xué)者能看懂,程序與圖盡可能的簡(jiǎn)單扼要

;實(shí)驗(yàn)現(xiàn)象為,發(fā)送端的P1口的哪個(gè)鍵被接下,接收端的哪個(gè)燈對(duì)應(yīng)著亮
;如果把兩個(gè)單片機(jī)的T和R通過(guò)無(wú)線模塊(如基于MCP2120芯片的模塊)來(lái)擴(kuò)充,便可做成無(wú)線通信
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSCON,#50H;串口 方式 1
MOVTMOD,#20H;T1 方式 2

MOVTL1,#0FDH;波特率 9600 的常數(shù)
MOVTH1,#0FDH
SETBTR1
WAIT:
JBCRI,DIS_REC;是否接收到數(shù)據(jù)
sjmpwait
DIS_REC:
MOVA,SBUF;讀串口接收到的數(shù)據(jù)
movp1,a
SJMPwait
end



評(píng)論


技術(shù)專區(qū)

關(guān)閉