#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++;
}
}