[PIC®/AVR®/dsPIC®产品] PIC单片机通用定时器使用说明

[复制链接]
1273|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相关的寄存器说明如下



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

64

主题

3317

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部