專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

STC89C52單片機定時器2的使用

作者:劉大允   來源:本站原創(chuàng)   點擊數:  更新時間:2014年03月25日   【字體:

實現定時和計數的方法一般有:軟件定時、專用電路和可編程定時器/計數器 三種方法。

軟件定時:執(zhí)行一個循環(huán)程序進行時間延遲。定時準確,不需要外加硬件電路,但會增加CPU開銷。
專用硬件電路定時:可以實現請精確的定時和計數,但參數調節(jié)不方波。
可編程定時器/計數器:不占用CPU時間,能與CPU并行工作,實現精確的定時和計數,又可以通過變成設置其工作方式和其他參數,使用方便。

以下說明僅試用宏晶的STC89C52!!

 
定時器2:
T2MOD,T2CON,TH2,TL2,RC2H,RC2L.

 
T2MOD:0C9H (不可位尋址)
0 0 0 0 0 0 T2OE DCEN
T2OE:定時器輸出使能位
DECN:向上/向下計數使能位。定時器2可配制成向上/向下計數器。
              0:向上計數(模式狀態(tài))   1:向下計數(盡量不使用)

 

 
T2CON:0XC8H(可位尋址)
TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
TF2:7          上/下 溢出標志位,定時器2溢出時置位,必須有用軟件清零!當RCLK或TCLK=1時,TF2將不會置位。
EXF2:6         定時器2外部標志,當EXEN2=1且T2EX的負跳變產生捕獲或重裝時,EXF2置位。定時器2中斷使能時,EXF2=1將使CPU從中斷向量處執(zhí)行定時器2中斷子程序。EXF2位必須用軟件清零。在遞增/遞減計數器模式(DCEN=1)中,EXF2位不會引起中斷。
RCLK:5         接收時鐘標志。RCLK置位時,定時器2的溢出脈沖作為串口模式1和模式3的接收時鐘。RCLK=0時,將定時器1的溢出脈沖作為串口模式1和模式3的接收時鐘。 
TCLK:4          發(fā)送時鐘標志位。TCLK置位時,定時器2的溢出脈沖作為串口模式1和模式3的發(fā)送時鐘。TCLK=0時,將定時器1的溢出脈沖作為串口模式1和模式3發(fā)送時鐘。         
EXEN2:3          定時器2外部使能標志。當其置位且定時器2未作為串口時鐘時,允許T2EX的負跳變產生捕獲或重裝。EXEN2=0時,T2EX的跳變對定時器2無效。
TR2:2          定時器2 啟動/停止控制位。置1時啟動定時器。
C/T2:1          定時器/計數器選擇(定時器2)
                    0 = 內部定時器(SYS_CLK/12或SYS_CLK/6)
                    1 = 外部事件計數器(下降沿觸發(fā))
CP/RL2:0     捕獲/重裝標志。EXEN2=1時,T2EX的負跳變產生捕獲。EXEN2=0時,定時器2溢出或T2EX的負跳變都可以使定時器自動重裝。RCLK=1或TCLK=1時,該位無效且定時器強制為溢出時自動重裝。

 
定時器2有三種操作模式:捕獲,自動重新裝載(遞增或遞減計數)和波特率發(fā)生器,這三種模式由T2CON中的位進行選擇:
定時器2的工作方式:
RCLK+TCLK CP/RL2 TR2 模式
0 0 1 16位自動重裝
0 1 1 16位捕獲
1 x 1 波特率發(fā)生器
x x 0 關閉
 
關閉窗口

相關文章