#include <reg52.h>
#include <function.h> //详见第六章第8讲
#include <uart.h> //详见第十章第4讲
u8 uart_i=0;
u8 pdata RXDBUF[64];
void
COUNT_TIMES()
{
TMOD&=0xF0;
TMOD|=0x01;
}
void
main()
{
u8 key,x;
KEY_Init();
EA = 1;
COUNT_TIMES();
ConfigUART(9600);
while
(1)
{
key=KEY_Scan(0,500);
if
(key==4)
{
printf_str(
"收到的内容为:\r\n"
);
printf_str(RXDBUF);
for
(x=0;x<64;x++)RXDBUF[x]=0x00;
}
if
(TH0>=200)
{
TR0=0;
printf_str(
"\r\n接收完成!\r\n"
);
RXDBUF[uart_i]=
'\0'
;
uart_i=0;
TH0=0;
TL0=0;
}
}
}
void
InterruptUART() interrupt 4
{
if
(RI)
{
RI = 0;
TH0=0;
TL0=0;
TR0=1;
RXDBUF[uart_i]=SBUF;
uart_i++;
}
}