📄 serial.c
字号:
#include<reg51.h>
//------------------------------------------------
char getData(void)
{
char c;
while (!RI);
c=SBUF;
RI=0;
return (c);
}
//-------------------------------------------------
char sendData(char c)
{
while (!TI);
TI = 0;
return (SBUF = c);
}
//-------------------------------------------------
void init(void)
{
TMOD=0x20;//mode 2 auto reload
TL1=0xfd;
TH1=0xfd;//baudRate:9600
SCON=0x52; //sm0,sm1,sm2,ren,tb,rb8,ti,ri
PCON&=0x7f;//smod=0;
TR1=1;//timer1 reset
}
main()
{
char c;
init();
while(1)
{
c=getData();
switch (c)
{
case '1':
sendData('\n');
sendData('a');
sendData('\n');
break;
case '2':
sendData('\n');
sendData('b');
sendData('\n');
break;
case '3':
sendData('\n');
sendData('c');
sendData('\n');
break;
default:
sendData('\n');
sendData('M');
sendData('a');
sendData('r');
sendData('s');
sendData('-');
sendData('E');
sendData('D');
sendData('A');
sendData('-');
sendData('S');
sendData(' ');
sendData('W');
sendData('e');
sendData('l');
sendData('c');
sendData('o');
sendData('m');
sendData('!');
sendData('\n');
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -