📄 tx1.c
字号:
#include "reg51.h"
//预定义
#define _Rdy_ 0x06;
#define _Busy_ 0x15;
#define _Ok_ 0x00;
#define _Suss_ 0x0f;
#define _Err_ 0xf0;
#define _Max_Len_ 64;
void int_serial();
void send_data(unsigned char *buf);
//初始化
char buf[_Max_Len_];
unsigned char i=0;
unsigned char tmp=_Busy_;
//缓冲区赋值
P0=0xff;
while(P0!=0)
{
*(buf+i)=P0;
delay10ms(10);
P0=0xff;
i++;
}
*(buf+i)=0;
//串口初始话
int_serial();
EA=0;
//初始化串口
void int_serial()
{
TMOD=0x20;//0010 0000
TH1=0xfa; //1111 1010
TL1=0xfa; //1111 1010 ;9.6KBit/s
TR1=1;
PCON=0x80;//1000 0000
SCON=0x50;//0101 0000
}
//通信;
TI=0;
SBUF=_RDY_;
while(!TI);
TI=0;
//接受应答信息
while(tmp!=_Ok_)
{
RI=0;
while(!RI);
tmp=SBUF;
RI=0;
}
//接受检验信息
tmp=_Err_;
while(temp!=_Succ_)
{
send_data(buf);
RI=0;
while(!RI)
temp=SBUF;
RI=0;
}
while(1);
//-----------------
void send_data(unsigned char *buf)
{
unsigned char len;
unsigned char ecc;
len=strlen(buf);
ecc=len;
//
TI=0;
SBUF=len;
while(!=TI);
TI=0;
for(i=0;i<len;i++)
{
ecc=ecc^(*buf);
SBUF=*buf;
buf++;
while(!TI);
TI=0;
}
//
SBUF=ecc;
while(!=TI);
TI=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -