—— —— —— 技术资料下载中心

>> PIC单片机原理 \

PIC单片机16F84的内部硬件资料（四）
6定时器/计数器TMRO PIC单片机16F84中有一个定时器，此定时器也可用于计数，因此称为定时器/计数器，符号为TMRO。TMRO可用于定时控制、延时、对外部事件计数和检测等场合。TMRO是一个8位增量(加1)计数器。它在数据存贮器中的地址为01。定时器所用的时钟源可以是内部系统时钟(OSC/4，即四倍振荡周期)，也可以是外部时钟。若TMRO对内部系统时钟的标准脉冲系列进行计数时，就成为定时器；对外部脉冲进行计数时TMRO就成为计数器。 不管是定时还是计数方式，TMRO在对内部时钟或对外部事件计数时，都不占用CPU时间，除非TMRO溢出，才可能中断CPU的当前操作。可见，定时器是单片机16F84中效率高且工作灵活的部件。
为了扩大定时或计数的范围，配合TMRO的使用，还有一个可编程预定标器。此定标器实际上是一个可编程分频器。
TMRO的内部结构示意图如附图所示。其工作方式由数据存储器中的项选寄存器OPTION控制。OPTION是一个可读/写的寄存器，如附表所示。它含有配置TMRO/WDT预定标器、外部INT中断、TMRO等的各种控制位。
TMRO的定时、计数方式是由OPTION寄存器中的D5(即TOCS位)确定。当TOCS=0时，工作于定时器方式；当TOCS=1时，工作于计数器方式。作定时器时，每个指令周期加1(无预分频时)；而作计数器时，则在每个RA4/TOCKI引脚上电平变化时加1。OPTION寄存器的位4(TOCS位)决定外部脉冲的触发方式，当TOSE=1，下降沿触发；TOSE=0，上升沿触发。当TMRO内部计数器发生计数溢出(从FFh→00h)时，溢出位送入中断控制寄存器INTCON。
由附图可知，预分频器也是一个8位计数器。其分频数是由OPTION寄存器中的PS2～PS0三位值来改变。分频数可以是以下8种之一：1∶1、1∶2、1∶4、1∶8、1∶16、1∶32、1∶64和1∶128。
当分频器用于TMRO时，所有写入TMRO的指令，如CLRF 1、MOVWF 1、BSF 1、等都将对预分频器清零。需要注意的是，预分频器是不能读写的。此分频器可用于TMRO，也可用于WDT，其切换由软件控制。为了避免意外的芯片复位，当需要切换时，必须执行相应的一段程序，以下是从WDT切换到TMRO时所需执行的程序：
CLRWDT　　　　 ；
对WDT和预定标器清零
BSF 　 STATUS，RP0 ；选中存储体1
MOVLW B′xxxx0xxx′ ；PSA=0，选中TMRO
MOVWF OPTION　 　；送入OPTION寄存器
BCF　 STATUS，RP0 ；复位存储体0

成都　卫东

知识竞赛试题：
21根据本版左下文介绍，请以表的形式列出PIC16C8X(有两个存储体和A、B两口)至少11个专用寄存器的名称和地址。

[ 返回 ]