TH1=0XFF;
TL1=0XFF;
SMOD=1; 波特率加倍
这已经是极限的波特率,不是特殊情况,不要使用!
一条指令一个震荡周期!误差0%
#include
void InitUART(void)
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFA;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;
}
void main(void)
{
InitUART();
}
void UARTInterrupt(void) interrupt 4
{
if(RI)
{
RI = 0;
//add your code here!
}
else
TI = 0;
}
void SendOneByte(unsigned char c)
{
SBUF = c;
while(!TI);
TI = 0;
}
你要定时多少,说清楚,哎