打印
[PIC®/AVR®/dsPIC®产品]

PIC单片机通用定时器使用说明

[复制链接]
901|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qcliu|  楼主 | 2021-9-4 11:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一般所有单片机的定时器用做普通定时功能,都需要具备以下几点要素:

1. 时基:时基就是定时器的时钟来源,一般都是来源于内部时钟或外部时钟,并且一般都能设置对应的分频系数,因此要弄清楚 时基来源,分频器设置,设置完时钟来源和分频器就知道计时的最小单元。

2.当前计数器: 该寄存器反应的就是当前实时的计数值,这个计数值在每个计时最小单元的时间内加1或者减1。

3.计数匹配器:   一般向上计数的定时器肯定需要1个计数匹配器,当前计数器从0开始加1,一直加到与计数匹配器相等,则认为定时时间到,这个时候将置位对应标志位或者发出对应中断请求。也有向下计时器,从某个值一直减到0则认为定时时间到,这种定时器不需要计数匹配值。

4.定时中断控制:一般设置定时器都配合对应中断使用,当定时时间到,定时器将设置对应标志位,若使能了定时器中断,定时器将向CPU发出中断请求。

5.定时器计数开关,中断使能开关:有些定时器都有个使能开关,只有使能才开始计数,中断一般都有开关,只有在中断使能开关打开情况下,定时时间到才触发中断请求。

下面分析下PIC单片机的通用定时器TIMER0和TIMER2,并分析下其配置成通用定时器步骤

TIMER0


TIMER0是一个向下计数器,在每个计时最小单元计数器都是由某个值-1,当减到0则认为定时时间到。

根据上面的定时器原理图可将其配置成通用定时器,步骤如下:

1.将TMR0CS置0,配置成定时器模式,其时基为Fosc/4

2.将PSA置0选择需要分频,若设置成1,则不需要分频

3.若需要分频则配置对应分频控制位PS<2:0>

4.设置TMR0,该寄存器为当前计数值,里面的值即为定时时间,该值一直减小到0认为定时时间到

5.若定时时间到,TMR0IF会置1,若设置了TMR0IE=1,则会触发中断请求

TIMER0相关的寄存器说明如下



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

3308

帖子

4

粉丝