pic单片机定时器/计数器模块

发布者:GoldenHarmony最新更新时间:2022-07-18 来源: csdn关键字:pic单片机  定时器  计数器模块 手机看文章 扫描二维码
随时随地手机看文章

前言

在单片机中,对于广大初学者来说,定时器、计数器此章节不仅应用广泛,而且还是单片机入门的敲门砖。在此,笔者就以此章节为重点,对定时器/计数器学习做出基本介绍。


-------------------------------------------------------------------------------------------------**


提示:以下是本篇文章正文内容,下面案例仅供参考


定时器/计数器模块的基本用途

如今,在许多世界著名的半导体制造公司开发型号繁多的单片机芯片内部,定时器/计时器模块是一种基本上普遍配置的常用外围设备模块,区别仅在于:配备的数量和规格不同(如:规格是否附带预分频器和后分频器等)。此类模块(即外围模块)主要应用于3类场合:


单片机在其端口引脚上,向外部电路送出一系列符合一定时序规范的方波信号。举几个生活中几个常见的例子,便于初学者理解。比如:空调机中的变频控制,电器设备的提示音的音调产生。当然,程序员在程序执行过程中,有必要插入一定时长的延时。

单片机不仅在端口引脚上“送出”信号,还要检测外部电路“输送进来”的方波信的脉宽、周期等,便于单片机其接收外部电路或通信信号。如:遥控电视机中的红外控信号的接收等。

单片机对其端口引脚上输入的由外部事件产生的触发信号进行精确计数,依据计数结果来控制完成相应的动作。*如:在水杯的生产车间里,传送带上的水杯盖子,可借助红外线透射方式,获得触发信号并送入单片机中完成对水杯数量的计数工作。(在此读者可领悟到单片机计时器的强大之处,水杯数量不仅快速计数而且能保证数据的准确性)


PIC定时器/计数器TMR0模块

1.特性:

是一个8位宽的由时钟信号上升沿触发的循环累加计数寄存器TMR0

具有一个可选用的8位可编程预分频器

具有溢出中断功能

用户用软件方式可直接读出或写入计数器的内容

当使用外部触发信号作为时钟信号源可由程序定义上升沿或下降沿触发有效

用于累加的信号源可选择内部(即定时器模式)或外部时钟信号源(即计数器模式)

2.与TMR0模块相关的寄存器

在PIC16F单片机的特殊功能寄存器(SFR)共有4个:


累加计数寄存器TMR0(8位宽,范围即0~255)

中断控制寄存器INTCON

选项寄存器OPTION_REG

端口RA方向控制寄存器TRISA

<一>选项寄存器OPTION_REG

选项寄存器是一个可读、写的寄存器,有关各位的含义如下:

1.PS2-PS0: 分频器分频比选择位


PSA:分频器分配位

说明:

1=分频器分配给WDT(看门狗

0=分频器分配给TMR0

3.T0SE:TMR0的时钟源触发边沿选择位 。只有当TMR0工作处于计数器模式时,该位才发挥作用

说明:


1=下降沿触发TMR0递增

0=上升沿触发TMR0递增

4.T0CS:TMR0时钟源选择位

说明:


1=计数器**TMR0时钟源

0=定时器**TMR0时钟源

**<二>中断控制寄存器INTCON

中断控制寄存器同样也是可读/写的寄存器,与此有关的各位含义如下:


1.TOIF:TMR0溢出标志位(即:溢出中断标志)

说明:


1=TMR0发生溢出

0=TMR0未发生溢出

2.TOIE:TMR0溢出中断使能位

说明:


1=允许TMR0溢出后产生中断

0=屏蔽TMR0溢出后产生中断

3.GIE:全局中断总使能位


1=允许CPU响应所有外围设备模块产生的中断请求

0=禁止CPU响应所有外围设备模块产生的中断请求

<三>端口RA方向控制寄存器TRISA***


TRISA4:与TMR0有关的只有一个位,当TMR0工作处于计数器模式时,要求改脚必须设定为输入方式,作为T0CKI信号专用输入引脚


1=端口引脚RA4设定为输入,以便改脚送进T0CKI信号

<四>TMR0累加计数寄存器***

工作模式:


0=定时器(计数器的触发信号 取自内部指令周期

说明:

指令周期信号作为累加计数器的时钟信号源。一旦往计数器中写入初始值后,TMR0便重新启动累加计数。


在没有分频器的情况下,TMR0会在每个指令周期信号(等于晶体振荡器产生的主时钟周期的4倍)。

在设置分频器的情况下,TMR0会在每次收到由分频器将指令周期信号分频一个固定倍数后产生的信号时自动加1。

1=计数器(计数器的触发信号取自外部引脚T0CKI电平的上升沿/下降沿)

说明:并不是外部触发信号的跳变沿一送入,TMR0就立即进行加1操作,而是需要经过一个同步逻辑—该触发信号与系统时钟进行同步之后,才能进入累加计数器TMR0,引发一次加1操作。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了定时器/计时器的使用理论方法


关键字:pic单片机  定时器  计数器模块 引用地址:pic单片机定时器/计数器模块

上一篇:PIC12F508单片机学习之一——定时器
下一篇:PIC单片机的入门认识(以PIC12为学习目标)

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
    做任何事情之前,一定要想好目标。没有目标的事情是做不好的,也做不成。我的目标就是学习ARM开发,当然是深入的学习。目标如下 :1、学习A ...
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
  • 学习ARM开发(7)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved