用负号的写法是错误的。定时时间并不是从-A到0。TMOD=0x01;
TH0=-(50000/256);
TL0=-(50000%256);
下面这样写才是对的:有的书上用的负号写法。误导我了!!
负号是错误的,并不相当于65536-A;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
用负号出错:
TH0=-(1000/256);
TL0=-(1000%256);
th0=TH0; //这里的结果是:253
tl0=TL0; //这里的结果是:24
sum=TH0*256+TL0;
//这里sum结果是 65021;
这个定时器0初始化就不是定时1000了。
正确写法:
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
th0=TH0; //这里的结果是:252
tl0=TL0; //这里的结果是: 24
sum=TH0*256+TL0;
//这里sum结果是 64536;
评论