📄 chuankouceshi.c
字号:
//#pragma src
/*******
串口测试,如果在串口写入4,则发送数据1;如果串口写入其他,发送数据0
*******/
#include<reg52.h>
#define uchar unsigned char
uchar i;
bit flag_data=0; //一次接收后发送一次的标志,不然主程序里会不停的发送
bit flag_send=0; //允许发送
void usart(void) interrupt 4
{
if(RI)
{
RI=0;
i=SBUF; //令SBUF=0x04,此步后i没有被SBUF赋值
flag_send=1;
if(i==4)flag_data=1;
else flag_data=0;
}
}
void usart_init() //初始化
{
TMOD=0x20;
TH1=0xfd;
TL1=TH1; //11.0592Mhz下9600波特率
PCON=0x00;
SCON=0x50;
TR1=1;
ET1=0;
ES=1;
RI=0;
TI=0;
EA=1; //开中断
}
void main()
{
usart_init();
while(1)
{
if(flag_send)
{
if(flag_data)SBUF=1; //这里可以发送任何数据,比如测试温度、红外、电压等等数据
else SBUF=0; //这里可以发送任何数据,比如测试温度、红外、电压等等数据,或者不发送
while(!TI); //这里原来有";"
TI=0;
flag_send=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -