📄 uart2io.c
字号:
//
// www.dainau.com
//
#include <AT89X51.H>
void init(void);
void waitRI(int t);
char sendbyte (char c);
main()
{
char indata;
init();
while(1){
waitRI(0);
indata=SBUF;
RI=0;
switch (indata) {
case 'A':
sendbyte(P0);
break;
case 'B':
sendbyte(P1);
break;
case 'C':
sendbyte(P2);
break;
case 'D':
sendbyte(P3 | 3); //uart
break;
case 'E':
waitRI(0);
P0=SBUF;
break;
case 'F':
waitRI(0);
P1=SBUF;
break;
case 'G':
waitRI(0);
P2=SBUF;
break;
case 'H':
waitRI(0);
P3=SBUF | 3 ; //uart
break;
default:
break;
}
}
}
void waitRI(int t)
{
if(t==0)
while(RI==0){
// LED=!LED;
}
else
while(--t>0){
if(RI==1) break;
// LED=!LED;
}
}
void init(void)
{
PCON = 0x80;
TMOD = 0x21;
TH1 = 0xFF;
TCON = 0x55;
SCON = 0x50;
EA=0;
ES=0;
TI=1;
}
char sendbyte (char c)
{
while (!(SCON & 0x02)); /* while (!TI); */
SCON &= 0xFD; /* TI = 0 */
return (SBUF = c);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -