#define uchar unsigned char
unsigned char Rcv;
void UART_init(void)
{
SCON = 0x50; //串口工作方式为1 , 串行允许接收
TMOD = 0x20; //定时器1 工作在方式2
TH1 = 0xfd; //波特率 9600bps fosc=\"11\".0592MHz
TL1 = 0xfd;
ES = 1; //开串口中断
TR1 = 1; //允许定时器1工作
EA = 1;
//开总中断
}
//串口发送一个字节
//串口发送一个字节
void Uart_SendChar(unsigned char dat)
{
SBUF = dat; //待发送的数据写入缓冲区
while(!TI); //等待发送完成
TI = 0; //清零发送标志位
}
void Uart_Receive(void) interrupt 4 using 1
{
if(RI) //查询接收标志位(有数据发送过来时置为1)
{
RI = 0; //接收标志位清零
Rcv = SBUF; //存储缓冲区的数据
}
}
void main()
{UART_init();
while(1)
{
Uart_SendChar('a');
}
}