PIC单片机学习第五天----TMR1

定时器/计数器TMR1

定时器/计数器TMR1不仅可作通用的定时器和计数器;而且利用内置的低频时基振荡器,还可实现实时时钟RTC功能;通过TMR1与CCP模块配合使用,定时器/计数器TMR1又可实现输入捕捉和输出比较功能。

定时器/计数器TMR1是一个16位的可读可写的计数寄存器,由高低两字节组成(TMR1H和TMR1L)16位寄存器从0000H到FFFFH加1计数,然后回到0000H。在从FFFFH到0000H的过程中,置位中断标志位TMR1IF。定时器/计数器TMR1还带有一个3位的可编程预分频器和一个内置的低功耗低频时基振荡器。

定时器/计数器TMR1模块具有的特点

(1)一个16位的由时钟信号上升沿触发的累加计数寄存器对TMR1H:TMR1L;

(2)TMR1H和TMR1L是在RAM中统一编址的寄存器对,地址为0EH和0FH,可用软件方式读/写TMR1[寄存器对的内容;

(3)一个可选用的3位可编程的预分频器;

(4)累加计数的信号源可选择内部系统时钟、外部触发信号或自带时基振荡器信号;

(5)既可工作于定时器模式,又可工作于计数器模式,还可用作实时时钟RTC;

(6)在计数器溢出时,相应的溢出中断标志自动置位,并可产生溢出中断。

TMR1相关的寄存器 

首先INTCON—中断控制寄存器;我么只用到高两位,GIE—全局中断使能位,和PEIE—外部中断使能位;

然后是PIR1—第一外设中断请求寄存器,这里只用到bit0位,TMR1IE—TMR1溢出中断标志位,还有bit7—TMR1GIE—TMR1门溢出中断标志位;

再然后PIE1—第一外设中断使能寄存器,同样,我们只用到bit0位,TMR1IF—TMR1溢出中断使能位,和bit7-- TMR1GIF—TMR1门溢出中断使能位;

今天就到这里————————

————————————分割线——————————————————__________________

接着上面继续说,TMR1定时器,TMR1的16位计数寄存器由两个8位寄存器组成,为TMR1L—低字节寄存器,TMR1H—高字节寄存器;

TICON寄存器—TMR1控制寄存器,主要为bit0—TMR1ON—TMR1的开启位;

TMR1CS<1:0>--定时器1的时钟选择位,00=定时器1选择指令时钟,即FOSC/4; 01=定时器1选择系统时钟,即FOSC;

0:表示选择内部时钟源(fcsc/4=Tcyc指令周期);1:表示选择外部时钟源,即时钟信号来源于外部引脚或者自带振荡器。

T1CKPS<1:0>--定时器输入时钟预分频器选择位;

T1CKPS1 T1CKTS0 分频比0 0 1:1 ;0 1 1:2 ;1 0 1:4 ;1 1 1:8;

T1OSCEN—LP振荡器控制位,1=定时器启用次级振荡器电路;、

0:表示禁止TMR1振荡器起振,使“非”门的输出端呈高阻状态;1:表示使能TMR1发振荡器起振

T1SYNC—定时器同步控制位,0=异步时钟输入与系统时钟同步(FOSC),1=不同步;

0:表示TMR1外部输入时钟与系统时钟保持同步;1:表示TMR1外部输入时钟与系统时钟不保持同步。

下面这个TMR1模块的带你路结构和原理图可能不那么匹配,但是可以帮助理解;

TMR1有两种工作方式:定时器方式和计数器方式,其中计数器方式又分为同步计数器工作方式和异步计数器工作方式。TMR1的时钟信号或触发信号共有4种获取方式:

(1)由内部系统时钟4分频后获取,即取自指令周期;

(2)从RC0/T1OSO/T1CKI引脚获取;

(3)从RC1/T1OSI/CCP2引脚获取;

(4)自带振荡器产生。

定时器TMR1应注意的问题

(1)当对的寄存器TMR1H或TMR1L进行初始化时,预分频器将会自动清0。

(2)在寄存器对TMR1H:TMR1L进行写操作时,可以使预分频器清0。当TMR1处于运行状态时,对于寄存器TMR1H或TMR1L值进行的写操作,可能会写入不希望的值。

(3)TMR1工作于异步计数器方式时,不能作为CCP模块的输入捕捉或输出比较的时间基准。

(4)在上电复位(POR)或者其他复位时,TMR1H:TMR1L的内容保持原有数值,不会复位到0000H。

(5)在上电复位或者掉电复位时,控制寄存器T1CON的内容将回到00H,并关闭TMR1,且预分频器的分频比设定为缺省值1:1。在所有的其他复位时,均不会影响T1CON寄存器的值。

(6)如果在复位时需要将TMR1H和TMR1L的内容回到00H,可以用程序实现,即先半TMR1关闭,然后分别将寄存器TMR1H和TMR1L清0。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值