⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 串口通信从机程序.txt

📁 简单的串口通信程序!通过按键来实验是否将主机中相应缓冲区中的内容传送给从机!主机状态改变,按键传输时,从机状态也将改变!
💻 TXT
字号:
 #include <reg51.h>
 #define uchar unsigned char
 #define _rdy_ 0x05
 #define _ok_ 0x04
 #define _busy_ 0x03
 #define _succ_ 0x02
 #define _ecc_ 0x01
 uchar data ss[]={0,0,0,0};
 sbit k1=P3^4;

 void intial()
 {TMOD=0x20;
 TH1=250;
 TL1=250;
 TR1=1;
 PCON=0x80;
 SCON=0x50;
 }

 void send(uchar x)
{ACC=x;
SBUF=ACC;
while(!TI);
TI=0;
}

uchar recv()
{uchar k;
while(!RI);
RI=0;
ACC=SBUF;
k=ACC;
return k;
}

bit busy_ok()
{RI=0;
if(k1==0)return 1;
else return 0;
}


void updata()
{uchar i,n=0;
for(i=0;i<4;i++)
{ss[i]=recv();
}
for(i=0;i<3;i++)
{n=n|ss[i];}
if(n!=ss[3])
{send(_ecc_);}
else 
{send(_succ_);}
}




void main()
{bit flag;
 intial();
 ss[1]=0x3f;
 ss[2]=0x3f;
 while(1)
 {P1=ss[1];
 P2=ss[2];
 if(!RI==0)
 {flag=busy_ok();
 if(flag==1)
 {send(_ok_);
 updata();
 }
 else
 {send(_busy_);}
 }
 }
 }

⌨️ 快捷键说明

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