点对点通信(主单片机).c

来自「在keilc和proteus下进行点对点通信的开发模拟」· C语言 代码 · 共 56 行

C
56
字号
#include<reg51.h>
unsigned char data Tdata[]={0x3f,0x06,0x5b,0x4f,0x66,
                           0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char data cnt=0,sum=0;
unsigned char data linksignal,resendsignal;
void main(void)
{
TH1=0xf4;
TL1=0xf4;
EA=0;
TR1=1;
TMOD=0x20;
PCON=0x00;
SCON=0x50;
//向从单片机发送联系信号0xE0,并且等待从单片机应答信号0xE1  
  do
  {
  SBUF=0xE0;
  while(TI==0);
  TI=0;
  while(RI==0);
  RI=0;
  linksignal=SBUF;
  }
  while(linksignal!=0xE1);
//向从单片机发送数据和校验和
 do
 { 
   do
   {
   SBUF=Tdata[cnt];
   while(TI==0);
   TI=0;
   sum=sum+Tdata[cnt];
   cnt++;
   }
   while(cnt<10);
   
   SBUF=sum;
   while(TI==0);
   TI=0;
   
   while(RI==0);
   RI=0;
   resendsignal=SBUF;
   
   if(resendsignal==1)
     {
     sum=0;
     cnt=0;
     }
 }
 while(resendsignal==1);
 while(1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?