发送: void main()
{
U8 i,j;
TMOD = 0x20;
TH1 = 253;
TL1 = 253;
TR1 = 1;
SCON = 0x40;
while(1)
{ delay1(100);
RH();
str[0]=U8RH_data_H;
str[1]=U8RH_data_L;
str[2]=U8T_data_H;
str[3]=U8T_data_L;
str[4]=U8checkdata;
for(i=0;i<5;i++)
{
SBUF=str[i];
delay1(200);
while(TI==0);
TI=0;
}
}
}
接收: void main()
{ U8 InPut3; U8 i;
Lcd_Init();
TMOD = 0x20;
TH1 = 253;
TL1 = 253;
TR1 = 1;
SCON = 0x50;
TI=0;
RI=0;
while(1)
{ delay(100);
for(i=0;i<5;i++)
{
while(RI==0);
RI=0;
checksum=str[i]+checksum;
str[i]=SBUF;
delay(200);
if(i<=3)
{
checksum=checksum+str[i];
}
}
iscii_change();
display();
}
}
里面的都是一些子函数,第一个是采集数据后通过串口发送到第二个单片机上,第二个就是后面的单片机接收数据然后显示的程序,为什么在实际中不太对呢,显示的不全,而且老是显示0.
此帖出自
小平头技术问答
一周热门 更多>