📄 main3.c
字号:
#include <reg52.h>
/***************Function prototype declaration**************/
void comm_init(void);
void delay(unsigned long );
void check_rx_data(void);
/***************TIMER0 INTERRUPT SERVICE ROUTINE**************/
unsigned char rx_data=0;
bit receive_bit=0;
bit valid_data=0;
void main()
{
unsigned char i=0;
P2=0x00;
delay(5000);
comm_init();
while(1)
{
if(receive_bit)
{
receive_bit=0;
check_rx_data();
}
}
}
void comm_init(void)
{
TMOD = 0x20;
SCON = 0x50;
REN=1;
IE = 0x90;
EA=1;
TH1 = 0xFD; // 9600 baud rate
TL1 = 0xFD;
TR1 = 1;
}
void serial_isr() interrupt 4 using 3
{
if(RI)
{
RI=0;
rx_data=SBUF;
receive_bit=1;
}
}
void delay(unsigned long t)
{
while(t--);
}
void check_rx_data(void)
{
valid_data=0;
switch(rx_data)
{
case '0':
P2=0x00;
valid_data=1;
break;
case '1':
P2=0x01;
valid_data=1;
break;
case '2':
P2=0x02;
valid_data=1;
break;
case '3':
P2=0x04;
valid_data=1;
break;
case '4':
P2=0x08;
valid_data=1;
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -