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

1.前言:

PIC 系列单片机内部配备有数量不等的定时器/计数器模块:例如PIC17CX系列和PIC18CX系列都都配置了4个定时器/计数器模块;而PIC16F87X系列都配置了3个定时器/计数器模块,分别记为TMR0、TMR1和TMR2
TMR0、TMR1和TMR2在电路上均不相同,而且用途也各有所异,但是三者也存在许多共同之处。这里主要介绍的是TMR0,TMRl和TMR2将在后面介绍。

其实定时器都是一个由时钟信 触发的递增的计数器;都是从预先设定的初始值开始累计,在累计数超过最大值,或者超过预先设定的值时便产生溢出,并同时会建立一个相应的溢出标志(即中断标志位)。        

2.TMR0的特性

①核心部分是一个8位宽,在时钟信 上升沿触发的循环累加计数寄存器TMR0;最大位数:256
②TMR0是一个特殊功能寄存器,地址为01H或101H;
③有一个可选用的8位可编程分频器; 
信 源可以是内部时钟信 源(定时器模式),也可以是外部时钟信 源(计数器模式)。      当使用外部触发信 作为时钟信 源时,可定义触发方式,即上升沿触发或下降沿触发;
具有溢出中断功能

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

3.3 端口RA方向控制寄存器TRISA(外部触发引脚复用)

在图可以将整个电路按功能简化为三个相对独立的主要组成部分:计数寄存器TMR0、分频器和看门狗定时器WDT。因为看门狗在电路上与TMR0之间共同分享同一个分频器,于是两者就有了同时出现在同一张图上。

4.1 分频器

看门狗定时器WDT与TMR0共同分享一个分频器,但两者不能同时使用。即在同一时刻,分频器只能分配给两者中之一。分频器也是一个8位累加计数器,不过它不能像TMR0那样直接进行读、写操作,它只能配合TMR0或WDT起分频作用。当PSA=0时,分频器归TMR0所有,进入累加器TMR0的时钟信 ,都要先经过分频器;而当PSA=1时,分频器与TMR0隔离,进入TMR0的时钟信 ,不再经过分频器

当分频器分配给TMR0时,任何以TMR0为目标的写操作指令(如CLRF TMR0 , MOVWF TMR0 )都会将分频器清0;当分频器分配给WDT时,执行CLRWDT的指令将会同时将其分频器清零。注意分频器清零时,而分频比和分配对象并不会改变。

4.2 TMR0 累加计数寄存器

定时器/计数器TMR0 既可以作为定时器使用,也可以作为计数器使用,即TMR0有定时和计数两种工作模式。

两种模式的差异就是进入TMR0的时钟信 源不同,TMR0的工作模式由T0CS位,即选项寄存器OPTION_REG位5决定。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年10月8日
下一篇 2016年10月8日

相关推荐