标题:
单片机双机通信程序(握手信号)没有效果,只显示000000 求指导
[打印本页]
作者:
17669175007
时间:
2021-11-5 14:29
标题:
单片机双机通信程序(握手信号)没有效果,只显示000000 求指导
7D8212944ECEE265E55DE14587E75BD2.jpg
(1.35 MB, 下载次数: 15)
下载附件
仿真图
2021-11-5 14:28 上传
甲机
#include<reg51.h>
unsigned char send[]={0,1,0,2,0,8};
void main()
{
unsigned char i;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
do{
SBUF=0x01;
while(!TI);
TI=0;
while(!RI);
RI=0;
}
while((SBUF^0x02)!=0);
for (i=0;i<6;i++)
{
SBUF=send[i];
while(TI==0);
TI=0;
}
do{
SBUF=0xaa;
while(!TI);
TI=0;
while(!RI);
RI=0;
}
while(SBUF!=0xaa);
while(1);
}
复制代码
已机
#include<reg51.h>
code unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char buffer[]={0x00,0x00,0x00,0x00,0x00,0x00};
void delay(unsigned int a)
{
unsigned int k;
for (k=0;k<a;k++);}
void disp()
{
unsigned char w,i,j;
w=0x01;
for(i=0;i<6;i++)
{
P1=tab[buffer[1]];
delay(500);
P2=~w;
for(j=0;j<100;j++);
w<<=1;
}
}
void main ()
{
unsigned char i;
TMOD=0x20;
PCON=0X00;
TH1=0xfd;
TL1=0xfd;
SCON=0x50;
TR1=1;
while(1)
{
do{
while(!RI)disp();
RI=0;
}
while((SBUF!=0x01));
SBUF=0x02;
while(!TI)disp();
i=0;
do{
while(!RI)disp();
RI=0;
buffer[i]=SBUF;
i++;
} while(SBUF!=0xaa);
SBUF=0xaa;
while(!TI)disp();
TI=0;
}
}
复制代码
没有效果,只显示000000文件
作者:
188610329
时间:
2021-11-5 18:59
双机通讯,为什么还要 MAX232转一下? 大家都是TTL 直连不好么?
另外,就算是走个过场,用MAX232 最好接在同一片 MAX232上进出,一个用T1R1,一个T2R2, 不要用两个232芯片,原理说不清,但是,两个232在一条线路上,串线对接会有宕死的问题。你摸232芯片可能会发现发烫。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1