?? 串口通信從機程序.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 + -