定时器初值计算及使用,虹润来解 点击:665 | 回复:0



虹润公司

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:803帖 | 68回
  • 年度积分:390
  • 历史总积分:7774
  • 注册:2000年11月11日
发表于:2021-11-26 15:12:49
楼主

虹润系列的数显定时器采用全自动贴片封装工艺,具有很强的抗干扰能力,并具有多种输出功能和控制功能,广泛运用于电力、石化、冶金、轻工、制药、航空等诸多领域。



  定时器系统是单片机内部一个独立的硬件部分,它与cpu和晶振通过内部某些控制线连接并相互作用,cpu一旦设置开启定时功能后,定时器便在晶振的作用下自动计时,但定时器的计数器计满后,会产生中断。计数时间一次为12/晶振频率。在晶振频率为11.0595mhz时,计数一次时间约等于1.09us。


定时器初值计算:

  中断函数明白后,如何定时还是不清楚。开启定时器后,定时器就会开始计数,每次加1的间隔是固定的,而且到达大值就会溢出,触发中断。这样子的话我们可以设定一个初值,初值到大值的时间假设为50ms,那样的话定是的效果就达到了。定时器加1时间间隔约等于1.09us,定时器在没有赋值时默认初值为0,大值为65535,计算可得655351.09us约等于72ms,没有赋初值一次定时大为72ms。可以设置一个初值,就拿50ms来说,501000/1.09约等于45872,也就是说经过45872次计数时间为50ms,那初值就是65535-45872=19663。

使用步骤:

  计算知道后,来看看定时器使用步骤:

  对TMOD赋值,确定T0和T1的工作方式

  计算初值,赋值TH0,TL0或TH1,TH1

  对IE赋值,启动中断

  TR0或TR1置位,启动定时器

  处理中断函数,定时器中断后变成默认值0,要重新赋初值



1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师