STC89C52單片機定時器2的使用
軟件定時:執(zhí)行一個循環(huán)程序進行時間延遲。定時準確,不需要外加硬件電路,但會增加CPU開銷。
專用硬件電路定時:可以實現(xiàn)請精確的定時和計數(shù),但參數(shù)調(diào)節(jié)不方波。
可編程定時器/計數(shù)器:不占用CPU時間,能與CPU并行工作,實現(xiàn)精確的定時和計數(shù),又可以通過變成設(shè)置其工作方式和其他參數(shù),使用方便。
以下說明僅試用宏晶的STC89C52!!
定時器2:
T2MOD,T2CON,TH2,TL2,RC2H,RC2L.
T2MOD:0C9H(不可位尋址)
0 | 0 | 0 | 0 | 0 | 0 | T2OE | DCEN |
T2OE:定時器輸出使能位
DECN:向上/向下計數(shù)使能位。定時器2可配制成向上/向下計數(shù)器。
0:向上計數(shù)(模式狀態(tài)) 1:向下計數(shù)(盡量不使用)
T2CON:0XC8H(可位尋址)
TF2 | EXF2 | RCLK | TCLK | EXEN2 | TR2 | C/T2 | CP/RL2 |
EXF2:6 定時器2外部標志,當EXEN2=1且T2EX的負跳變產(chǎn)生捕獲或重裝時,EXF2置位。定時器2中斷使能時,EXF2=1將使CPU從中斷向量處執(zhí)行定時器2中斷子程序。EXF2位必須用軟件清零。在遞增/遞減計數(shù)器模式(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的負跳變產(chǎn)生捕獲或重裝。EXEN2=0時,T2EX的跳變對定時器2無效。
TR2:2 定時器2 啟動/停止控制位。置1時啟動定時器。
C/T2:1 定時器/計數(shù)器選擇(定時器2)
0 = 內(nèi)部定時器(SYS_CLK/12或SYS_CLK/6)
1 = 外部事件計數(shù)器(下降沿觸發(fā))
CP/RL2:0 捕獲/重裝標志。EXEN2=1時,T2EX的負跳變產(chǎn)生捕獲。EXEN2=0時,定時器2溢出或T2EX的負跳變都可以使定時器自動重裝。RCLK=1或TCLK=1時,該位無效且定時器強制為溢出時自動重裝。
定時器2有三種操作模式:捕獲,自動重新裝載(遞增或遞減計數(shù))和波特率發(fā)生器,這三種模式由T2CON中的位進行選擇:
定時器2的工作方式:
RCLK+TCLK | CP/RL2 | TR2 | 模式 |
0 | 0 | 1 | 16位自動重裝 |
0 | 1 | 1 | 16位捕獲 |
1 | x | 1 | 波特率發(fā)生器 |
x | x | 0 | 關(guān)閉 |
評論