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