📄 rs232.c
字号:
/*实验名称:RS232通信实验
功能:接收电脑送过来的数据,并且显示16进制数,并将数据回传到电脑
作者:http://www.mcuyjf.com.cn
05-02-01
*/
#include <reg51.h>
//LCD的口线
sbit E=P3^5;
sbit RW=P3^6;
sbit RS=P3^7;
//8字LED的连接方法
//P0.7 P.06 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
// H G F E D C B A
unsigned char recdata; //RS232收到的值
unsigned char code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //数码管段码表
void Delay_ms(unsigned int t); //延时 t秒钟 :fosc=12MHz
void rs232(void);
void main(void)
{
E=0; //取消LCD对LED的影响
RW=0;
RS=1;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
SCON=0x50;
TR1=1;
REN=1;
IE=0x90;
while(1)
{
P2=0xff; //关显示
P0=ledcode[(recdata>>4)&0x0f];
P2=0xfe;
Delay_ms(1);
P2=0xff;
P0=ledcode[recdata&0x0f];
P2=0xfd;
Delay_ms(1);
}
}
//以下为串口中断程序
void rs232(void) interrupt 4
{
if(RI==1)
{
RI=0;
recdata=SBUF;
SBUF=recdata;
}
else
{
TI=0;
}
}
void Delay_ms(unsigned int t) //Delay t ms for 12MHz crystal
{unsigned char i;
while(t--)
{for(i=0;i<125;i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -