单片机定时器程序(单片机设计0到59s计时器)
一、12mhz的51单片机如何用方式0一次定时1ms
要使用方式0一次定时1ms,需要使用定时器计算器寄存器(TMR)和预分频器寄存器(PREDIV)来设置计时器的时钟频率和计时器的计数次数。
首先需要配置PREDIV来确定计时器的时钟频率,根据计算得到PREDIV的值为11H,因为时钟频率为12MHz,预分频器分频系数为12,所以计数次数为12000,再设置TMR的初值为65536-12000,确定计时器的开始值,并开启计时器中断和全局中断使能。
在中断处理函数中进行1ms的相关操作即可完成一次定时1ms。
二、单片机定时器定时的时间怎么算
51单片机,根据晶振频率,计算指令周期,设置定时器的分频,然后设置定时器的工作方式TMOD,最后设置初值TH0TL0比如用的XHZ的晶振,stc的单片机有3种模式(X/12)x/6,还有单周期指令,选择12分频的,T=1/(X/12)就是一个指令周期,如果定时没有分频,(65536-Z(初值))*T就是定时的时间比如是12M的晶振那么设置TMOD=0x01;16位定时器模式TH0=(65536-20000)/256;TL0=(65536-20000)%256;就是设置了20ms的定时
三、单片机定时/计数器和中断到底有什么用
定时器用来计算时间,固定时间触发中断。计数器用来对引脚输入的信号下降沿进行计数。和中断相关,但不一定要开中断。可以单独用。