如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第8章定时器/计数器由单片机内部时序脉冲触发----定时从单片机I/O(RA4—T0CKI)引脚上,检测外部输入的触发脉冲信号(规则或不规则)----计数PIC16F877单片机配置3个定时器/计数器模块:三者的共同点:8.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR01、一个8位宽由时钟信号上升沿触发的循环累加计数寄存器2、TMR0本身也是一个在文件寄存器区(特殊功能寄存器)3、具有一个软件可编程的8位预分频器;4、既可工作于定时器模式,又可工作于计数器模式;用内部触发信号,指令周期作为时钟信号源时(定时)用外部触发信号,可定义触发上下沿(计数)5、在计数器溢出时,相应的溢出中断标志(T0IF)自动置位,并可产生溢出中断。8.1.2TMR0模块相关的寄存器主要用于设置定时/计数器TMR0、前后分频器、外INT中断以及RB端口的弱上拉功能等各种控制位。Bit2-Bit0/PS2-PS0:分频器倍率选择位Bit3/PSA:前后分频器分配位,主动参数。0:分配给TMR0,作为TMR0的前分频器;1:分配给WDT,作为WDT的后分频器。Bit4/T0SE:TMR0用于计数器,计数脉冲信号边沿选择位,主动参数。0:RA4/T0CKI引脚上的上升沿增量;1:RA4/T0CKI引脚上的下降沿增量。Bit5/T0CS:定时/计数器TMR0时钟源选择位,主动参数。0:用内部指令周期时钟(CLKOUT)作为TMR0的触发脉冲;1:用T0CKI引脚上的外部时钟作为TMR0的触发脉冲。Bit6/INTEDG:INT中断信号触发边沿选择位,主动参数。0:BR0/INT引脚上的上升沿触发;1:BR0/INT引脚上的下降沿触发。Bit7/RBPU:B端口弱上拉使能位,主动参数。0:RB0-RB7引脚弱上拉使能;1:RB0-RB7引脚弱上拉不使能。主要用于中断控制方式的设置。8.1.3TMR0模块电路结构和工作原理1.8位计数寄存器TMR01)设置定时模式2)设置计数模式2.分频器[例题8-1]计数灯程序设计。自动计数,RC与8位LED相联,间隔时间为一个固定时间0.5s.这个例子曾用软件延时做过,本例将采用TMR0定时实现。定时可以通过两种方式实现不采用中断(查询方式)采用定时中断输入相异,输出为高电平。输入相同,输出为低电平8.2定时器/计数器TMR1TMR1的用途:8.2.1TMR1模块功能和特性8.2.2TMR1模块相关的寄存器TMR1控制寄存器T1CONBit0/TMR1ON:TMR1使能控制位(而TMR0不能被关闭的),主动参数。0:关闭TMR1,使TMR1退出活动状态,以节省能耗;1:启用TMR1,使TMR1进入活动状态。Bit1/TMR1CS:时钟源选择位,主动参数。0:选择内部时钟源(fosc/4=Tcyc指令周期);1:选择外部时钟源,即时钟信号来源于外部引脚或者自带振荡器。Bit2/T1SYNC:TMR1外部输入时钟与系统时钟同步控制位,主动参数。当TMR1工作于计数器方式(TMR1CS=1时):0:TMR1外部输入时钟与系统时钟保持同步;1:TMR1外部输入时钟与系统时钟不保持同步;当TMR1工作于定时器方式(TMR1CS=0时):该位不起作用。Bit3/T1OSCEN:TMR1自带振荡器使能位,主动参数。0:禁上TMR1振荡器起振,使非门的输出端呈高阻态;1:允许TMR1振荡器起振。Bit5-bit4/T1CKPS1-T1CKPSO:分频器的分频比选择位,主动参数。8.2.3TMR1模块电路结构和工作原理TMR1与系统时钟的协调关系1.起/停控制和同步逻辑2.可编程预分频器3.TMR1定时/计数方式4.低频振荡器5.定时分析[例题8-3]利用外接低频振荡器32768Hz实现1s定时。8.3定时器/计数器TMR2