原贴链接:https://www.cnblogs.com/wangh0802PositiveANDupward/archive/2012/05/26/2519307.html
1.定时器:(3个TMR0,TMR1,TMR2) TMR0,8位位累加定时、计数寄存器,并带有预分频器。若考虑预分频器的效果,其固有定时为65ms。如果用作通用计数器,可采用外部T0CK1作为计数触发信号。 与TMR0相关的寄存器:TMR0(初始值),OPTION_REG(选择项寄存器T0CS,T0SE,PSA,PS2~PS0),INTCON(中断控制寄存器:GIE,T0IE,T0IF),TRISA(要求外部信号T0CK1担任TMR0的触发计数功能,此时该引脚必须设定为输入方式,0,RA4作为一般的输出引脚;1,作为输入引脚,为T0CK1提供一个通道)。 定时,计数从其内部工作方式分析一般表现为计数累加功能,通常是由特定的时钟脉冲来触发驱动。但这个时钟采用内部时钟,则称之为承担定时功能;也可由外部引脚输入的时钟,即触发计数,则称之为计数器功能。OPTION_REG:T0CS(T0 clock select:0内,1外)。 TMR1,16位累加定时/计数寄存器对TMR1H:TMR1L,预分频器和内置低功耗低频时基振荡器。若做通用计数器,可采用外部T1CK1作为计数触发信号。另外,利用内置的低频时基振荡器,可实现实时时钟RTC输出等功能,并可在系统休眠模式下,照常实现计数工作。还有,与CCP模块配合使用,实现输入信号边沿的捕捉和输出信号的比较功能,在频率检测和脉冲宽度测量中得到广泛应用(此时必须采用同步计数。)。(同样,T1CS选择内部系统时钟,设为定时方式;外部时钟,设为计数方式) 与TMR1相关的寄存器:INTCON(中断控制寄存器),T1CON,PIE1(perpheral外围,第一外围中断),PIR1,TMR1L,TMR1H T1CON:TMR1ON,TMR1ON计数1启/0停。TMR1CS:时钟源选择位(0,内定时;1,外计数)。/T1SYNC:TMR1外部输入时钟与系统时钟同步控制为主动参数(只有工作于计数方式时,才能进行同步设置)0:TMR1外部引脚时钟信号或者自带振荡器信号与系统时钟保持同步;1:异步。/T1OSCEN:TMR1自带振荡器使能位,主动参数。0:禁止TMR1低频振荡器工作,1:使能。T1CKPS1~T1CKPS0预分频器的分频比选择位。T1OSO和T1OSI跨接石英晶体和电容构成很常用的振荡电路,工作频率取决于外接晶体,外接振荡器的最大好处在于即使单片机进入休眠模式,相应的器件任然能够处于工作状态。 TMR2,8位专用定时器,不能承担外部信号的计数功能。主要由一个可编程预分频器,一个可编程后分频器和一个可编程8位周期寄存器PR2等部件构成。TMR2有一个非常强大的功能,就是利用周期寄存器PR2与CCP模块进行配合,提供脉宽调制pwm功能的时基信号,可以承担各类电机的变频调速功能。在主同串行SPI模式通信中,TMR2模块还可以提供波特率时钟信号。8位周期寄存器PR2,其数值由用户输入,TMR2的计数溢出与该设置值有关,因而可产生浮动溢出效果。TMR2的计数溢出并不表示中断标志TMR2IF置位,而对溢出次数经过后分频处理后才有可能达到溢出中断的效果,是TMR2IF置位。不管哪种复位都会将TMR2寄存器清零。 相关寄存器:INTCON,PIE1,PIR1,TMR2,T2CON,PR2(定时周期寄存器) 溢出:TMR2与PR2实时对比时间的长短,一旦两者内容匹配即刻发出“溢出”信息,比较溢出并不能直接产生溢出中断,而仅仅作为后分频器的计数脉冲,只有当后分频器在产生溢出时,才回将溢出中断标志位TMR2IF置位。 分频器:预先分频对于进入TMR2的时钟信号进行分频。而后分频器主要是对比较匹配输出的时序信号进行分频,可以连续选择16种不同的分频比。 定时方式:即可承担一般的定时功能,又能够与CCP模块配合形成独特的脉宽调整PWM方式。(TMR2C触发信号来自于内部系统时钟,所以当单片机处于休眠状态时,TMR2就将停止累加计数。)作为通用定时器使用时,PR2的值固定为FFH。T=P1*P2*(256-K).浮动“溢出”周期,特别在变频电机控制中,就是利用TMR2浮动“溢出”功能获得周期可调的时基发生器,可以与CCP模块配合实现PWM脉宽调制。信号周期的大小取决于周期寄存器PR2和两个分频器所设定的分频器所设定的分频比。TMR2“溢出”周期的计算式为: T=P1*P2*(PR2+1)。
|