51单片机定时器不够用怎么办?

网友解答: 确实如此,定时器是使用频率最高的资源。STC89C52单片机有3个定时器,分别是T0,T1和T2。一般够用,一个串口波特率发生,2个计时。其中T2有捕捉功能。由于定时器较少,

网友解答:

确实如此,定时器是使用频率最高的资源。STC89C52单片机有3个定时器,分别是T0,T1和T2。一般够用,一个串口波特率发生,2个计时。其中T2有捕捉功能。由于定时器较少,一般用法都是在一个定时器中,设置不同的时间位,如1ms定时,在中断中进行计数,通过计数周期不同来产生不同的时间位,设置10ms定时时间位flag10ms,设置100ms定时时间位flag100ms,设置1s定时时间位flag1s。但这也有缺点,当计数周期为倍数关系时,软件就要额外处理,该怎么协调时间位的处理,如1s定时到,其实10ms和100ms的标志位都会置位。

确实定时器资源少,会影响使用,软件处理也会复杂,建议还是更换升级的单片机,如STC12系列,有2个定时器,2路PCA可以作为定时器,还有独立的波特率发生器,不占用定时器。

或者更高一级,STC15系列,有5个定时器,2路PCA,共有7个定时器,足够使用。这些定时器的应用基本一致,配置好寄存器,就可以工作了。而且中断等级分了四等,方便处理多中断任务。

附图一,89C52的内部结构。附图二,STC12的配置。附图三,STC15的配置。附图四,STC15中断结构。

网友解答:

推荐楼主一本书时间触发嵌入式系统设计模式,希望能够对楼主有所帮助。

标签: