一般所有单片机的定时器用做普通定时功能,都需要具备以下几点要素:
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相关的寄存器说明如下
TIMER2
TIMER2是一个向上计数器,在每个计时最小单元计数器都是由某个值+1,当加到与计数匹配器相等时,认为定时时间到。
根据上面的定时器原理图可将其配置成通用定时器,步骤如下:
1.TIMER2的时基来源于Fosc/4
2.设置T2CKPS<1:0>选择前分频系数
设置T2OUTPS<3:0>选择后分频系数
总分频数=前分频系数*后分频系数,举例前分频1:4,后分频1:16,则总分频数=1:64。
3.TMR2清0,确保从0开始向上计数。
4.设置计数匹配值PR2,里面的值即为定时时间,当计数器值与该值相等则认为定时时间到。
5.若定时时间到,TMR2IF会置1,若设置了TMR2IE=1,则会触发中断请求。
6.TMR2有个使能计数位,开始计数要将TMR2ON置1
TIMER2相关的寄存器说明如下
上一篇:【PIC】单片机基本概述
下一篇:PIC单片机SPI接口配置
推荐阅读最新更新时间:2024-11-12 19:33
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- ADM7154RD-1.8EVALZ,用于评估 ADM7154 1.8V 线性稳压器的评估板
- LTC4088EDE 演示板,高效电池充电器/电源管理器
- 使用 Semtech 的 EZ1585B 的参考设计
- AD9238-20PCBZ,用于评估 AD9238、2 通道、10 位、65 MSPS 模数转换器的评估板
- AN- EVALQRC-ICE2QR0665、40W、20V 评估板,带准谐振 CoolSET ICE2QR0665
- 具有基本抑制功能的 LF50CPT-TR 5V 极低压降稳压器的典型应用
- 具有集成肖特基二极管和单线数字接口的 FAN5341 系列升压 LED 驱动器的典型应用
- 【训练营】智能小灯+874020A
- 基于亚特联的二路电量统计插板
- 使用 PCA9673 FM + 准双向 GPIO 控制 2 步进电机的应用电路
- 创通联达高通 IOT 平台解决方案及成功案例|报名直播赢【蓝牙耳机、音箱、京东卡】等好礼
- 下载文档看视频有礼:获得更高效的PCIe一致性测试文档
- 下载有礼:看“智””造“热”侦探 FLIR ETS320 红外热像仪如何纠错!
- 看视频答题,玩转幸运大抽奖:Littelfuse汽车电子电路保护知多少
- 兆易创新 GD32E231 DIY 大赛,百套超值型开发板免费申请+重磅豪礼!
- 是德感恩月:有奖征文免费送示波器啦!
- TI首届低功耗设计大赛之玩转MSP430 FRAM MCU
- 有奖下载Intel 最新白皮书《软件定义的联网和电信云端》
- 有奖直播|基于Source-down技术的全新英飞凌MOSFET,有效提升功率密度,肉眼可见
- 悦览 PI 节能技术资料,参与测试、评论赢双重好礼!