• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

定时器问题

1638192663@qq.com 2017-09-02 浏览量:852

各位大佬们,刚开始学定时器,感觉好难得样子,光是讲概念就听了几遍课程,话不多说,直接上图,下面是我的具体问题

360截图20170902232701358.jpg

图片中的举了一个例子,我不明白的事256是什么来的,为什么第一次运算是除与256,第二个运算是求于,而且按照我的思维他应该是先求出你要给那两个TH0,TL0的初值在付初值,那为什么不直接

65536-1000得到的值在求他的十六进制数,即FC18,然后就可以按照高八位第八位分别赋给那两个东西就行了啊,为什么还要搞成这样

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 楼主的理解是正确的,FC18高八位低八位分别赋值就可以了。

    图中除以256和余256和高八位低八位赋值是一样的道理,256是2的八次方,除以256相当于把一个16位数右移8位,这样就变成了把16位数的高八位数取出来。同理余256,相当于取一个16位数的低八位,然后赋值给相应的寄存器。

    • 发布于 2017-09-04
    • 举报
    • 评论 3
    • 0
    • 0
d037d452855af78c 回复了 赤心木zqw:我用计算器算过了答案是吻合,不过还是有点不明白,为什么除以2的八次方就相当于右移8位呢,右移不是要>>这个符号吗? 回复
赤心木zqw 回复了 赤心木zqw:想一下:一个八位的二进制数,每个位代表2的(n-1)次方,假设一个数为0x80(1000 0000),现在这个1从第8位来到了第7位,变成了0100 0000,相当于由原来的2的7次方变成2的6次方,就是相当于除以2了,可以看出规律:右移几位,相当于除以2的几次方,同理,左移几位,相当于乘以2的几次方。另外,再说一句,由于单片机计算乘除发的性能低下,如果有2的n次方的乘除运算,建议用移位来处理。 回复
d037d452855af78c 回复了 赤心木zqw:哦哦懂了,谢谢 回复

其他答案 数量:3

  • 就是一个取高八位,一个取低八位,这种认认真真画个图应该就知道啦。搞成你说的那样应该是不直观,写成/256这样的话,只需要改65536-x中的x就能改变重装载值,这样不是更直观且容易修改哒,低八位也一样的道理。其实不用那么纠结,直接软件配置拿来用就行了哒。
    • 发布于2017-09-04
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

定时器问题