the-one

一开始, 我以为初值都是单位为ms的数值,如果溢出时间是50ms,  那么初值就是50000, 但当我发现50ms, 外循环20次和1ms, 外循环1000次,不能达成相同的效果时, 我发现初值不是想象中那样。

初值需要计算!

我查了下51单片机书,重新看下定时器那一章, 看到了这个公式:   溢出时间(微妙) = (上限 - 初值) * 12 * 1/fosc。     

 

1 / fosc :  时钟周期

12 * 1/fosc : 机器周期

计数一次是一个机器周期, 所以要乘上 (上限 - 初值)

 

这样我再设置1ms的定时器,效果接近现实。

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-11-13
  • 2021-09-04
  • 2021-09-04
  • 2022-12-23
  • 2021-11-13
  • 2021-12-13
猜你喜欢
  • 2021-04-15
  • 2021-11-27
  • 2021-10-17
  • 2022-01-02
  • 2021-07-22
  • 2021-10-04
  • 2021-11-23
相关资源
相似解决方案