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

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码