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

谁有51定时器计算方面的资料

oh_耗子 2018-11-29 浏览量:509

就是那种讲解如何补偿时间,

自动设置时间变量的

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个是与你的设置的频率相关的,也就是与单片机的晶振啊,时钟配置相关的

    TOMD|=0x01;         //设置TMOD工作方式寄存器的M0M1为01,对照表格即为定时器/计数器的4种模式中的16位定时器/计数器模式
        TH0=(65536-46080)/256; //装初值11.0592M晶振定时50ms数为46080
        TL0=(65536-46080)%256;

    https://blog.csdn.net/mcuwangzai/article/details/76614852

    • 发布于 2018-12-27
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:9
  • 可以看看别人的文章https://wenku.baidu.com/view/1d4cb8440a4e767f5acfa1c7aa00b52acfc79c05.html
    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 简单的话,你在定时器中断函数前面加上

    TH = 初始值 + TH;

    TL = 初始值 + TL;
    原理是把定时器重新赋值,但是定时器计数值在运行时可能不是到0x00的时候进入中断的,所以再加上他本来的值

    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 参考一下别人的文章https://blog.csdn.net/mcuwangzai/article/details/76614852
    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 不管是那种芯片的定时时长计算都和芯片自身的时钟系统有不可分开的关系。如果你对芯片的时钟系统熟悉的话就不会存在问题。建议你先了解一下51的时钟频率,时钟周期,机器周期和指令周期就能完整的计算下来。

    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 51的定时器是16位的,通过TH和TL两个寄存器组成的最大值为65535的计数器来计时。

    • 发布于2018-11-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是比较简单的,可以看看

    https://www.cnblogs.com/zjvskn/p/5636049.html

    • 发布于2018-11-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 51的定时器就是设一下TH 和TL的值,校准只有在使用内部晶振的时候才行
    • 发布于2018-12-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 参考https://www.cnblogs.com/zjvskn/p/5636049.html
    • 发布于2018-12-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 参考这个https://blog.csdn.net/mcuwangzai/article/details/76614852
    • 发布于2019-01-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

谁有51定时器计算方面的资料