📄 rs232.c
字号:
/**************************************************
RS232串口通信实验
http://www.kaifaban.com
功能:LED显示PC串口发送给单片机的数据
并且给PC返回接收到的数据
注:串口收发请使用串口调试软件调试,J12连接右边两端
***************************************************/
#include <reg52.h>
#define uchar unsigned char
sbit DsySelect=P3^7; //控制LED的74HC244所在IO口
uchar Buf=0; //接收到的数据
//串行中断程序
void UART() interrupt 4 {
if(RI){
if(SBUF!=0x11){
Buf=SBUF;//从串口缓冲区取得数据
SBUF=Buf;//发送接收到的数据
while(!TI);//等待发送完成
TI=0;//清除发送标志
}
RI=0;//清除接收标志
}
}
//主程序
main(){
DsySelect=0;//打开LED
P0=0xFF; //复位P0口
EA=1; //开总中断
ES=1; //允许串行中断
SCON=0x50;//串口模式1
PCON=0; //波特率不翻倍
TMOD=0x20; //定时器1工作方式2
TL1=TH1=0xFD; //波特率9600bps(11.0592M)
TR1=1; //启动定时器1
while(1){
P0=~Buf; //以8位二进制数显示接收到的数据
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -