您的位置 首页 报告

单片机定时器初始化不能用负号“-(1000/256)“写法

用负号的写法是错误的。定时时间并不是从-A到0。TMOD=0x01;TH0=-(50000256);TL0=-(50000%256);下面这样写才是对的:有的书上用的负号

负号的写法是过错的。守时时刻并不是从-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;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/260788.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部