微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 两片51单片机互相通信的串行通信程序

两片51单片机互相通信的串行通信程序

时间:11-26 来源:互联网 点击:
;系统晶振是 11.0592 MHz

;51单片机发送单片机程序
;此程序用Proteus仿真通过

;此程序在硬件上测试通过
;2007-05-27
;附有简化电路图
;为了使初学者能看懂,程序与图尽可能的简单扼要

;实验现象为,发送端的P1口的哪个键被接下,接收端的哪个灯对应着亮
;如果把两个单片机的T和R通过无线模块(如基于MCP2120芯片的模块)来扩充,便可做成无线通信
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSP,#60H
MOVSCON,#50H;串口 方式 1
MOVTMOD,#20H;T1 方式2

MOVTL1,#0FDH;波特率 9600 的常数
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;是否发送完毕
SJMPSS
DELAY:;延时子程序
PUSH0;保存现场
PUSH1
MOV0,#06H
DELAY1: MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢复现场
POP0
RET
END

;系统晶振是 11.0592 MHz
;51单片机接收单片机程序
;此程序用Proteus仿真通过

;此程序在硬件上测试通过
;2007-05-27
;附有简化电路图
;为了使初学者能看懂,程序与图尽可能的简单扼要

;实验现象为,发送端的P1口的哪个键被接下,接收端的哪个灯对应着亮
;如果把两个单片机的T和R通过无线模块(如基于MCP2120芯片的模块)来扩充,便可做成无线通信
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSCON,#50H;串口 方式 1
MOVTMOD,#20H;T1 方式 2

MOVTL1,#0FDH;波特率 9600 的常数
MOVTH1,#0FDH
SETBTR1
WAIT:
JBCRI,DIS_REC;是否接收到数据
sjmpwait
DIS_REC:
MOVA,SBUF;读串口接收到的数据
movp1,a
SJMPwait
end

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top