准脉冲系列进行计数时,就成为定时器;对外部脉冲进行计数时TMRO就成为计数器 寄存器的位4TOCS位决定外部脉冲的触发方式,当TOSE=1,下降沿触发;TOSE=0,上
电子零件城.epcity元件套件咨询教学PIC单片机16F84的内部硬件资料(二)定时器/计数器TMROPIC单片机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内部计数器发生计数溢出(从FFh00h)时,溢出位送入中断控制寄存器INTCON。由附图可知,预分频器也是一个8位计数器。其分频数是由OPTION寄存器中的PS2~PS0三位值来改变。分频数可以是以下8种之一:11、12、14、18、116、132、164和1128。当分频器用于TMRO时,所有写入TMRO的指令,如CLRF1、MOVWF1、BSF等都将对预分频器清零。需要注意的是,预分频器是不能读写的。此分频器可用于TMRO,也可用于WDT,其切换由软件控制。为了避免意外的芯片复位,当需要切换时,必须执行相应的一段程序,以下是从WDT切换到TMRO时所需执行的程序:CLRWDT对WDT和预定标器清零BSFSTATUS,RP0;选中存储体1MOVLWB′xxxx0xxx′;PSA=0,选中TMROMOVWFOPTION;送入OPTION寄存器BCFSTATUS,RP0;复位存储体0延时和定时在设计单片机应用系统时,经常会遇到需要使某一过程(如加温、加压等)持续一段时间的情况,如连续加压1分钟,通电2分钟等。单片机如何正确确定这段时间呢?这里可通过两种方式,即延时和定时来PP电子 PP电子平台实现。试看下例。在应用系统中要求PIC16F84RAO端控制一个发光二极管按一定频率闪亮,可通过右图的电路来实现。同时还必须为16F84编制一个程序。由电路图可知,要使发光二极管LED按一定的频率闪亮,只要使RAO端输出一个变化的高低高……电平即可。由此设计出如下的源程序(清单1):
地址:海南省海口市 电话:0898-08980898 手机:13988888888
Copyright © 2012-2023 PP电子·(中国)官方网站 版权所有 ICP备案编号:陕ICP备2021009313号