单片机
返回首页

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

2022-07-18 来源:csdn

一般所有单片机的定时器用做普通定时功能,都需要具备以下几点要素:


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相关的寄存器说明如下

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • CCD图像传感器在微光电视系统中的应用

  • 如何利用ESP8266制作一个简单的四轴飞行器

  • 离子检测器电路分析

  • 非常简单的150W功放电路图

  • 一个简单的警笛电路图

  • 使用NE555和磁簧开关的橱柜照明电路

    相关电子头条文章