好文档 - 专业文书写作范文服务资料分享网站

第九讲 定时器T2的用法

天下 分享 时间: 加入收藏 我要投稿 点赞

第九讲 定时器T2的用法

定时器

声明,定时器T2只有52以上的芯片才有,51没有的。

1 C- D- I; e# z7 i9 Y8 {:

, X- ?' h- F- |' f P\

捕捉模式

在捕捉模式时,两种操作模式由T2CON中的EXEN2位选择。如果EXEN2=0,Timer2作为一个16位向上定时或计数器,当溢出时将T2CON中的TF2置1。这个标志位可以产生一个中断。如果EXEN2=1,Timer2起同样的作用,但是,外部输入端T2EX上的下降延也可以使TH2和TL2中的值捕捉到RCAP2H和RCAP2L中,另外,T2EX上的下降延可以将EXF2置1,像TF2一样,也可以产生一个中断。捕捉模式详见图5。

自动重载模式

Timer2在指定为16为自动重载模式时可以编程为加计数或减计数,此功能由T2MOD

中的DCEN位决定。DCEN=0,计数器向上计数,默认置为0,DCEN=1时,Timer2的加或减由T2EX的值决定。

& H* p: |* l# t/ m1 W7 [7 t& Y

图6显示Timer2在DCEN=0时自动向上计数。在这个模式时,T2CON的EXEN2为可以选择两种操作。EXEN2=0,Timer2向上计数到0FFFFH时将TF2为置1,溢出可以把RCAP2H和RCAP2L中的16为值重新加载到定时寄存器中。捕捉模式时RCAP2H和RCAP2L中的值由软件预先设定。EXEN2=1,既可以由溢出重载也可以由T2EX引脚的下降延触发重载。TF2和EXF2都可以产生中断。设置DCEN为可以时Timer2向上或向下计数,如图6所示,此模式下,T2EX脚控制计数方向。T2EX如果为1,Timer2向上计数。计数器到0FFFFH时溢出并将TF2置1。溢出可以使RCAP2H和RCAP2L中的16为值重新加载到定时寄存器中。T2EX如果为0,Timer2向下计数,当TH2和TL2中的值和RCAP2H和RCAP2L相等时向下溢出。溢出使TF2置1并

将0FFFFH重新加载到计时寄存器中。

- s0 @5 E8 |2 N4 4 v- y: ^# ?/ f\q: O/ z) O8 k0 i

波特率发生器

通过设置T2CON中TCLK或RCLK位选择Timer2位波特窥测发生器Timer2作为发送和接收时可以应用早不同的波特率,设置TCLK或RCLK位使Timer2工作在波特率发生器模式,

如图8所示。

波特率发生器模式和重载模式相似,TH2中值的溢出将使软件预设的16位寄存器值重载到计数器中。

波特率1、3模式由Timer2的溢出速率决定,由下面的等式表示 模式1、3波特率=(Timer2计数值)/16

定时器可以指定为计数或定时模式,在许多应用中,被设置成定时模式,Timer2的定时操作和波特率发生器的操作不同,作为定时器,它每机器周期(1/12个晶振周期)增加1,作为波特率发生器它每个状态时间(1/2晶振周期)增加1。波特率公式如下:

- k& K3 h# z2 ]$ g$

模式1、3 =

; f. M2 i4 F: ]! u) H; q' H1 J; b7 D! ]

晶振频率

* w& A: @( \\7 |3 O8 s* z4

波特率

32×(65536-RCAP2H,RCAP2L)

这里(RCAP2H,RCAP2L)是RCAP2H和RCAP2L作为16为无符号整数。

Timer2作为波特率发生器如图8,这个只有在TCLK或者RCLK=1是才有效。需要注意的是TH2的的溢出不会将TF2置1,也不会产生中断,如果这时EXEN2置1,T2EX引脚的下降延将会使TF2置1并不会引发(RCAP2H,RCAP2L)到(TH2,TL2)的重载,那样,当Timer2作为波特率发生器时,T2EX可以作为一个外部中断使用。

当Timer2在波特率发生器模式作为定时器运行时(TR1=1),TH2,TL2不能进行读写,在这种情况下,计时器每个状态时间增加1,对其读写的结果将会不正确RACAP2寄存器可以读不可以写,因为写可能引起交迭重载或者重载出错。在处理Timer2的RACAP2寄存器前必须停止计时(TR2=0)。

第九讲 定时器T2的用法

第九讲定时器T2的用法定时器声明,定时器T2只有52以上的芯片才有,51没有的。1C-D-I;e#z7i9Y8{:,X-?'h-F-|'fP\捕捉模式在捕捉模式时,两种操作模式由T2CON中的EXEN2位选择。如果EXEN2=0,Timer2作为一个
推荐度:
点击下载文档文档为doc格式
01kqn2u9vo7916095czy
领取福利

微信扫码领取福利

微信扫码分享