当前位置:首页 > 精选知识 > 正文

单片机定时器程序_单片机定时器

大家好,杨子来为大家解答以上问题,单片机定时器程序,单片机定时器很多人还不知道,现在让我们一起来看看吧!

1、简介:MCU其实是集成电路中使用的一种芯片,MCU的定时器是一个电子元件,是MCU本身提供的一个稳定的计数器。也是单片机上的连接元件,可以用来编程。计时器的另一个作用显然是可以用来计时。同时,它也可以用来计数一些脉冲信号。以下是如何使用单片机定时器

2、定时器的结构

3、定时器由两个寄存器组成,一个用来决定计数器的工作形式和功能,另一个用来控制微控制器的启动和停止,也是设置溢出的标志。

4、计数法

5、每个脉冲计数器加1。当计数器(FFFFH)全部加1时,输入另一个脉冲使计数器归零,计数器溢出使TCON中的TF0或TF1置1,并向CPU发出中断请求(允许定时器/计数器中断时)。如果定时器/计数器工作在计时模式,说明计时时间到了;如果您在计数模式下工作,计数值是满的。

6、定时应用

7、用作定时器:此时设置为定时器模式,加1计数器计数内部机器周期(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是计时时间t

8、计数应用

9、用作计数器:此时设置为计数器模式,外部事件计数脉冲通过引脚T0或T1输入计数器。对于每个外部脉冲,计数器递增1。但MCU对外部脉冲有一个基本要求:脉冲的高低电平持续时间必须大于一个机器周期。

10、计时器的使用

11、定时器的使用主要分为五个步骤。首先打开中断的允许位置,主要控制IE寄存器,然后选择定时器的工作形式。计时器的一种格式是TMOD,主要有四种方式。第一种计数方式是13位加1,第二种是16位加1计数器,第三种计数器分为两部分,一部分是8位寄存器,一部分是8位计数器。第三步是给定时器赋值。第一,定时器的初始值等于计数器的模值减去计数器的满值,定时器的初始值等于模值减去预定时间和单片机时钟周期的十二倍。下一步是启动计时器。当TRO为0时,停止开始计数,当TRO为1时,开始计数。当TFO为0时,没有TO中断,所以没有硬件复位,当值为1时,有TO溢出中断。当TR1为0时,T1停止计数,当TR1为1时,T1开启计数。

12、当TF1为0时,没有T1中断;当TF1为1时,会有T1溢出中断。当IE1的值为0时,发生硬件复位,当IE1的值为1时,发生中断。当it1的值为0时,触发INT1的电平,即软件复位,而当IT1的值为1时,触发INT1的负沿。当IE0的值为0时,将有一个硬件复位,而当IEO的值为1时,将在INT0处有一个中断。当IT0的值为0时,发生INT0的电平触发,即软件复位,INT0的负沿触发。最后一步是计数器中断入口程序。

13、计时器/计数器的工作模式

14、0的模式是13位计数,由TL0的低5位(高3位不用)和TH0的8位组成。当TL0的低5位溢出时,它们被送到TH0,当TH0溢出时,TCON的TF0标志被置位,向CPU发送中断请求。

15、模式1的计数位数为16位,TL0(TL1)作为低8位,TH0(TH1)作为高8位,构成16位加1计数器。

16、模式2是自动重载初始值的8位计数模式。

17、在模式2中,当计数器溢出255(FFH)时,CPU自动将TH的值载入TL,无需用户干预。因此,它特别适合用作更精确的脉冲信号发生器。

18、模式3只适用于定时器/计数器T0,定时器T1的模式3相当于TR1=0,计数停止。

19、工作模式3将T0分为两个独立的8位计数器TL0和TH0。

20、总之,定时器的使用可以给单片机的功能增加一些性能增强。因此,定时器的合理使用将有助于我们使用单片机。以上就是关于单片机定时器的使用方法,希望对你有所帮助!

本文讲解到此结束,希望对大家有所帮助。