单片机定时器实用方法总结
T=(模值-初值)*机器周期,初值为8191位技术最小值1,初值为0为计数最大值8191。
定时器模式1(TMOD=0xf1/TMOD=0x1f)
模式1和模式0功能相同,但模式1位16位。
定时器模式2(TMOD=0x2f/0xf2)
模式2构成自动重装的8位定时器,计数器的范围为0~256
TH作为初值寄存器,TL作为计数寄存器。TL溢出时,置位中断标志位,并且把TH中的值自动装入TL。
定时器模式3,模式3只适用于定时器0
模式3时定时器构成2个独立的8位计数器。
此模式下,TL0和模式0,1状态一样可以做计数和定时。TH0只能用于定时不能用于计数,并占用T1的资源TF1和TR1。
定时器2的使用
在AT89S52,AT89S53和AT89S8253中增加了定时器2的使用。
T2和TH2,TL2,T2CON,T2MOD,捕捉重装寄存器RCAP2L和RCAP2H
T2控制寄存器
TF2:溢出中断标志位。
RCLK:串行口接收时钟选择位,用它可以选择T1或T2作为串行口发送时钟。RCLK=1,T2作为串行口时钟,RCLK=1,T1作为串口发送时钟。
EXEN2:T2外部允许控制位,EXEN2=1,若T2未用于波特率发生器,T2EX引脚出现负跳变时将导致T2发生捕获或充装载。并置位EXF2标志位请求中断。该位清0,外部引脚无效。
C/T2:定时或技术方式选择位。
CP/RL2:T2捕获或重装控制位,该位为1,选择捕获功能,此时若EXEN2=1,T2EN引脚出现负跳变将发生捕获操作,即把T2H和T2L内容传送给RCAP2H和RCAP2L。该位为0,选择重装功能,此时若T2溢出,或EXEN2=1且T2EN引脚上出现负跳变,都会把RCAP2H和RCAP2L的值送入T2H和T2L。
T2模式控制位
T2OE:T2输出允许控制位。T2OE=1允许时钟输出到T2/P1.0引脚,T2OE=0禁止输出。
DECN:加/减计数控制位,该位为1,允许T2作为加减计数器使用,方向由T2EN控制,T2EN为1,进行加计数,T2EN位0进行减计数。该位置0,T2自动向上计数。
T2工作模式的选择由RCLK,TCLK,CP/RL2,T2OE,CT2,和TR2来决定。
评论