#include <reg51.h>
#define uchar unsigned char
uchar Buffer[3]={0};
uchar i;
void Delay10ms() //@11.0592MHz
{
uchar a, b;
a = 108;
b = 145;
do
{
while (--a);
} while (--b);
}
void Uart_Init(void)//定时器1作为波特率发生器
{
TMOD = 0x21;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void InitTimer0()//定时器0方式1 100微秒
{
TMOD = 0x21;
TH0 = 0x0FF;
TL0 = 0x0A4;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void SendOneByte()
{
if(RI)
{
Buffer[i]=SBUF;
RI=0;
TI=1;
if(TI)
{
TI=0;
SBUF=Buffer[i];
}
i++;
if(i>=3)
{
i=0;
}
}
}
void main(void)
{
InitTimer0();
Uart_Init();
while(1)
{
SendOneByte();
}
}