新聞中心

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

兩片51單片機互相通信的串行通信程序

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

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

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

;此程序在硬件上測試通過
;2007-05-27
;附有簡化電路圖
;為了使初學者能看懂,程序與圖盡可能的簡單扼要

;實驗現(xiàn)象為,發(fā)送端的P1口的哪個鍵被接下,接收端的哪個燈對應(yīng)著亮
;如果把兩個單片機的T和R通過無線模塊(如基于MCP2120芯片的模塊)來擴充,便可做成無線通信
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;讀鍵盤,這里去抖動,還要加幾句話
mova ,p1
nop
CJNEA,5,WAIT;是否有鍵輸入
MOVSBUF,a;串口輸出鍵盤輸入的值
NOP
SS:JBCTI,WAIT;是否發(fā)送完畢
SJMPSS
DELAY:;延時子程序
PUSH0;保存現(xiàn)場
PUSH1
MOV0,#06H
DELAY1: MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢復現(xiàn)場
POP0
RET
END

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

;此程序在硬件上測試通過
;2007-05-27
;附有簡化電路圖
;為了使初學者能看懂,程序與圖盡可能的簡單扼要

;實驗現(xiàn)象為,發(fā)送端的P1口的哪個鍵被接下,接收端的哪個燈對應(yīng)著亮
;如果把兩個單片機的T和R通過無線模塊(如基于MCP2120芯片的模塊)來擴充,便可做成無線通信
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



評論


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

關(guān)閉