【电子基础】单片机定时器实用方法总结

单片机定时器实用方法总结

第一部分:51系列定时器

定时/计数器 0 和定时/计数器1都有4种定时模式。

   16位定时器对内部机器周期进行技术,机器周期加1,定时器值加1,1MHZ模式下,一个机器周期为1us 。

   定时器工作模式寄存器TMOD,不可位寻址,需整体赋值,高4位用于定时器1,第四位用于定时器0。

 

   C/T:为定时器功能选择位,C/T=0对机器周期计数,C/T=1,对外部脉冲计数。

   GATE:门控位,GATE=0,软件置位TRn即可启动计时器,GATE=1需外部中断引脚为高电平时才能软件置位TRn启动计时器,一般取GATE=0。

 

 


定时器控制寄存器TCON:

 

   TFn:Tn溢出标志位,当定时器溢出时,硬件置位TFn,中断使能的情况下,申请中断,CPU响应中断后,硬件自动清除TFn。中断屏蔽时,该位一般作为软件查询标志,由于不进入中断程序,硬件不会自动清除标志位,可软件清除。

   TRn:计时器启动控制位,软件置位TRn即可启动定时器,软件清除TRn关闭标志位。

   IEn:外部中断请求标志位。

   ITn:外部中断出发模式控制位,ITn=0为低电平触发,ITn=1为下降沿触发。

 

 


   中断允许控制寄存器IE

 

   EA(IE.7):全局中断控制位。EA=1开全局中断,EA=0关闭全局中断。

   ETn:定时器中断使能控制位。置位允许中断,清除禁止中断。

   ES:串行接收/发送中断控制位,置位允许中断。

   EXn:外部中断使能控制位。置1允许,清0禁止

 

 


中断优先级控制寄存器IP

 

   复位后为00H

   PT2:定时器2中断优先级控制,置1设为高优先级,清0置位低优先级。

   PS:串行中断优先级控制位。

   PT1/0:定时器1/0优先级控制位,置1高,清0低。

   PXn:外部中断优先级控制位。

   当有同级中断同时响应,按IE0->TF0->IE1->TF1-IE0->RI+TI->TF2顺序依次响应。

 

   定时器模式0的使用 TMOD&=0xf0/TMOD&=0x0f

 

TL0高3位不用,低5位溢出时,直接向TH0进位。

   通过设置TH0和TL0初值(0~8191),使计数器从初值开始加1,溢出后申请中断,溢出后需重新设置初值,否则将从0开始加1计数。

   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来决定。

 

 

本文出自 “成鹏致远” 博客,请务必保留此出处http://infohacker.blog.51cto.com/6751239/1155434

你可能感兴趣的:(定时器)