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

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单片机通用定时器使用说明相关推荐

  1. 单片机定时器精准定时_PIC单片机的定时器精准计时的计算

    关于PIC单片机的定时器精准计时的计算 在此用了16C711单片机的TMR0做定时中断,希望实现精准计时,在程序中,TMR0用了晶振的32分频,初值#0FCH,因此POPBEAR兄弟计算出每个定时中断 ...

  2. PIC单片机之中断程序

    什么是中断程序呢? 形象的生活比喻就比如你现在这在看我的文章,突然你的朋友喊你一起去烤地瓜,这时候你就中断了看文章和朋友烤地瓜去了,烤完地瓜之后你又回来看文章.烤地瓜这件事就好比中断程序,他中断了你看 ...

  3. PIC单片机入门_定时器/计数器TMR0详解与实例

    1.前言: PIC 系列单片机内部配备有数量不等的定时器/计数器模块:例如PIC17CX系列和PIC18CX系列都都配置了4个定时器/计数器模块:而PIC16F87X系列都配置了3个定时器/计数器模块 ...

  4. c语言看门狗指令pic,PIC单片机的窗口看门狗定时器.PDF

    PIC单片机的窗口看门狗定时器 TB3123 PIC® 单片机的窗口看门狗定时器 作者: Ashutosh Tiwari Microchip Technology Inc. 简介 窗口看门狗定时器(W ...

  5. 【PIC单片机】-- 中断、定时器相关知识

    文章目录 文章目录 00 写在前面 01 中断相关知识 02 定时器相关知识 03 定时器相关寄存器 04 定时器相关电路 05 定时器补充 06 结尾 00 写在前面 该系列的文章,源自于担任过PI ...

  6. STM32单片机基础12——使用通用定时器产生PWM驱动蜂鸣器

    本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的通用定时器外设,产生PWM驱动无源蜂鸣器. 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM ...

  7. ioca0中断 pic单片机_关于PIC单片机的一些经验总结 -单片机-电子工程世界网

    为了给前一段时间学习PIC16F616型单片机的一个总结和方便大家的交流,我写了这篇关于PIC单片机的学习心得,都是在看了手册和编程调试后用自己的语言组织的,其中有不足或者有疑问的地方希望大家能及时的 ...

  8. ioca0中断 pic单片机_关于PIC单片机的模块和功能总结

    PIC 单片机的概述 PIC16F616 是一款 14 引脚.8 位的 CMOS 单片机.采用精简指令集,仅有 35 条指令,由于采用了数据总线和指令总线分离的哈佛总线结构,使得除少量指令不是单周期之 ...

  9. 《我和PIC单片机:基于PIC18》——1.2 主题芯片介绍

    1.2 主题芯片介绍 PIC单片机产品线丰富,型号众多.目前在国内介绍PIC的书籍中,大多都以具有较高性价比的中档机作为例子.为了能更加全面地展示PIC,本书是以高档的18系列单片机PIC18F452 ...

最新文章

  1. 在Foreda8上试安装Apchehttpd-2.4.6.tar.gz
  2. 算法结构1.插入排序
  3. python数据分析实况_机器学习竞赛分享:通用的团队竞技类的数据分析挖掘方法...
  4. linux shell 单行多行注释
  5. python画函数图-Python 绘制你想要的数学函数图形
  6. 网络编程(发送get和post请求到服务器端,并获取响应)
  7. jedis操作redis(一)
  8. 光盘引导和网络安装linux系统
  9. [Leetcode][第133题][JAVA][克隆图][DFS][BFS][深拷贝]
  10. [C/C++]BKDRHash
  11. SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法
  12. apache和mysql 403_如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法...
  13. 特征筛选4——斯皮尔曼相关系数筛选特征(单变量筛选)
  14. linux内存管理_Linux内存管理(转)
  15. 【nodejs】waitFor is deprecated
  16. 人物传记思维导图模板
  17. SM2269XT固态硬盘使用量产工具开卡成功
  18. manjaro安装搜狗拼音输入法
  19. Python matplotlib 通过 plt.scatter画空心圆标记出特定的点
  20. 小罗学习java的一天(java源文件的命名规则)

热门文章

  1. 关于美赛论文书写经验
  2. php 伪静态 rewriterule,PHP伪静态 RewriteRule-htaccess详细规则使用说明
  3. linux设备驱动第二篇:构造和运行模块
  4. 二手小米价格一览表2022.2.21
  5. 通过Postman实现压力测试
  6. python for break_Python break用法详解
  7. 表格结构识别 SPLERGE tf/keras 实现(上)
  8. oracle rowid唯一吗,ROWID唯一性
  9. 宝塔的防火墙是什么?有什么作用呢?
  10. 蓝桥杯2015届C++B组省赛真题 三羊献瑞