📄 wg26_rs232.c
字号:
#include <reg52.h>
unsigned char Current,Data[4];
void Send_Char(unsigned char);
void Send_Data(void);
void main (void)
{
SCON = 0x50;
TMOD = 0x21;
EA=1;
ET0=1;
EX0=1;
EX1=1;
TH0 = 0xEE;
TL0 = 0x0;
TH1 = 0xFD;
TL1 = 0xFD;
TCON = 0x55;
while(1)
{
if(Current == 26)
{
Current = 0;
EA = 0;
Send_Data();
EA = 1;
}
}
}
void Ex0(void) interrupt 0
{
Data[(25 - Current) / 8] &= ~(0x1 << ((25 - Current) % 8));
TH0 = 0xEE;
TL0 = 0x0;
Current++;
}
void Ex1(void) interrupt 2
{
Data[(25 - Current) / 8] |= 0x1 << ((25 - Current) % 8);
TH0 = 0xEE;
TL0 = 0x0;
Current++;
}
void Timer0(void) interrupt 1
{
TH0 = 0xEE;
TL0 = 0x0;
Current = 0;
}
void Send_Char(unsigned char buf)
{
SBUF = buf;
while(TI == 0);
TI = 0;
}
void Send_Data(void)
{
Send_Char(0x55);
Send_Char(Data[3]);
Send_Char(Data[2]);
Send_Char(Data[1]);
Send_Char(Data[0]);
Send_Char(0xAA);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -