(完整版)51单片机实现双机通信(自己整理的)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
put('A');
if(kk==2)
put('B');
if(kk==3)
put('C');
delay_ms(10);
Βιβλιοθήκη Baidu1E
11
左边1号机,右边2号机,
,功能实现
帕叶DO■口IJApi FDJh[iz— 观旧IP口.hQKD* *QAADf
H^弓
H.Lta RQfMM
FZJWS pz. iwe
F2JKA-IDI P2JTA11I
F2.HW1Z
P2JSM13
F2W.14
F2JM1S
F3Ji nHX&
gj.im:&riaiWTO
TMOD=0x20;
//定时器1工作方式2 //波特
PCON=0x00;
率不倍增
TH1=0xf4;
TL1=0xf4;
//波特率2400
TR1=1;
//定时器1开始计时
P2=0xc0;
while(1)
{
if(p10==0&&j==0)
{delay_ms(15); while(p10==0); kk=1;
P£j£fA>l3
旳4阳1370丘阳H鮎口PDLWAJil-
PDSA>f POfiAME PQ TiJT
FZ^KS畑 阳pz-AA-m
FZW11
PZ.AtZ
FZj9jAl4
PZ.TW?
P3£VR:iD
paimcc
P3.sii nrn pjjfflrn
F3.WTI] M*Tl pgtjgQIH F3.7/IF
P2=0xf9;
j=1;
}if(p10==0&&j==1)
{
delay_ms(15); while(p10==0); kk=2;
P2=0xa4;
j=2;
}
if(p10==0&&j==2)
{
delay_ms(15); while(p10==0); kk=3;
P2=0xb0;
j=0;
}
if(kk==1)
{
uchar i;
while(y__)
for(i=0;i<120;i++)
5
}
void put(uchar x)//发送函数
{
SBUF=x;//SBUF:串行口数据缓冲器
while (TI==0);〃等待发送结束
TI=0;
}
void mai n()
{
uchar j;
SCON=0x40;〃串行口工作方式1,8位通用异步发送器
rjjfWTT
F3.1/W
f3AT1
P3JillW
F3JMF
■T2
1E
1号机程序
#in clude<reg51.h>
#defi ne uint un sig ned int
#defi ne uchar un sig ned char
sbit p10=P1A0;
uchar a,b,kk;
//uchar code d_c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void delay_ms(uchar y)
if(kk==2)
put('B');
if(kk==3)
put('C');
delay_ms(10);
Βιβλιοθήκη Baidu1E
11
左边1号机,右边2号机,
,功能实现
帕叶DO■口IJApi FDJh[iz— 观旧IP口.hQKD* *QAADf
H^弓
H.Lta RQfMM
FZJWS pz. iwe
F2JKA-IDI P2JTA11I
F2.HW1Z
P2JSM13
F2W.14
F2JM1S
F3Ji nHX&
gj.im:&riaiWTO
TMOD=0x20;
//定时器1工作方式2 //波特
PCON=0x00;
率不倍增
TH1=0xf4;
TL1=0xf4;
//波特率2400
TR1=1;
//定时器1开始计时
P2=0xc0;
while(1)
{
if(p10==0&&j==0)
{delay_ms(15); while(p10==0); kk=1;
P£j£fA>l3
旳4阳1370丘阳H鮎口PDLWAJil-
PDSA>f POfiAME PQ TiJT
FZ^KS畑 阳pz-AA-m
FZW11
PZ.AtZ
FZj9jAl4
PZ.TW?
P3£VR:iD
paimcc
P3.sii nrn pjjfflrn
F3.WTI] M*Tl pgtjgQIH F3.7/IF
P2=0xf9;
j=1;
}if(p10==0&&j==1)
{
delay_ms(15); while(p10==0); kk=2;
P2=0xa4;
j=2;
}
if(p10==0&&j==2)
{
delay_ms(15); while(p10==0); kk=3;
P2=0xb0;
j=0;
}
if(kk==1)
{
uchar i;
while(y__)
for(i=0;i<120;i++)
5
}
void put(uchar x)//发送函数
{
SBUF=x;//SBUF:串行口数据缓冲器
while (TI==0);〃等待发送结束
TI=0;
}
void mai n()
{
uchar j;
SCON=0x40;〃串行口工作方式1,8位通用异步发送器
rjjfWTT
F3.1/W
f3AT1
P3JillW
F3JMF
■T2
1E
1号机程序
#in clude<reg51.h>
#defi ne uint un sig ned int
#defi ne uchar un sig ned char
sbit p10=P1A0;
uchar a,b,kk;
//uchar code d_c[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void delay_ms(uchar y)