最近刚开始入门,照猫画虎,从网上东拼西凑搞了各1302的遥控时钟,通过串口进行调试。根据代码示例,波特率为9600,定时器为20ms。
可我实际测试时,波特率变为4800,1秒钟的定时器变成了2秒钟。搞了几天也没找到原因。烦请各位大侠指点一下。
相关波特率及定时器初始化代码如下:
TMOD=0x21;
TL1=0xfd; // 采用11.0592MHz的晶振,波特率9600bps
TH1=0xfd;
SCON=0x50;
PCON=0x00;
TR1=1;
ES = 1;
ET0=1;
TR0=1;
EX0=1;
IT0=1;
void
timer0() interrupt 1 //20ms中断1次,中断50次为1秒
{
TH0 = 0xb8;
TL0 = 0x00;
TIME20MS++;
if(TIME20MS==50)
{
TIME20MS=0; //1秒钟定时器
}
一周热门 更多>