單片機(jī)定時(shí)器的應(yīng)用與誤差糾正
王暄
(陜西師范大學(xué)物理學(xué)與信息技術(shù)學(xué)院,陜西西安710062)
摘 要:對(duì)MCS-51單片機(jī)定時(shí)器的原理與使用中的幾個(gè)關(guān)鍵問(wèn)題進(jìn)行了討論,給出定時(shí)器的使用方法與誤差補(bǔ)償方法,并給出了實(shí)現(xiàn)程序。
1 前言
定時(shí)器是MCS-51單片機(jī)非常重要的組成部分,由于其應(yīng)用與單片機(jī)的其他硬件相關(guān),存在著一定的復(fù)雜性[1]。而定時(shí)器是單片機(jī)應(yīng)用中解決某類(lèi)復(fù)雜問(wèn)題的最有為效的方法,應(yīng)用非常廣泛。隨著定時(shí)要求的提高,在定時(shí)處理過(guò)程中所帶來(lái)的誤差需要校正[2],本文就MCS-51單片機(jī)的使用方法與誤差校正方法進(jìn)行了討論,并給出通用算法與程序。
2 定時(shí)器工作方式與方式設(shè)置
MCS-51單片機(jī)有兩路獨(dú)立的定時(shí)器,每路定時(shí)器有4種工作方式(0~3),方式0是13位計(jì)數(shù)結(jié)構(gòu),計(jì)數(shù)器由TH全部8位與TL的低5位構(gòu)成;方式1是16位計(jì)數(shù)結(jié)構(gòu),計(jì)數(shù)器由TH與TL全部8位共16位組成;方式2是8位計(jì)數(shù)結(jié)構(gòu)方式,計(jì)數(shù)器由TL8位組成,與其他方式不同的是,當(dāng)定時(shí)溢出時(shí),硬件自動(dòng)將TH的值裝入TL中,有自動(dòng)加載功能。前三種工作方式,兩路定時(shí)器的設(shè)置與使用完全相同,但在工作方式3下,兩路定時(shí)器有很大差別,只有0路定時(shí)器可以工作在方式3下,1路定時(shí)器只能工作在方式0~2下,在工作方式3下,0路定時(shí)器被拆分成兩個(gè)獨(dú)立的8位計(jì)數(shù)器TL0與TH1,其中0路定時(shí)器的各控制位和引腳信號(hào)全歸TL0使用,因此TH0只能做簡(jiǎn)單的定時(shí)器使用,其控制位占用了1路定時(shí)器的控制位,如果0路定時(shí)器工作在方式3下,1路定時(shí)器由于讓出了所屬控制位,通常作為串行口波特率發(fā)生器[3]。
定時(shí)器的工作方式選擇主要依靠設(shè)置TMOD寄存器的值,其各位定義如下:
位序 B7 B6 B5 B4 B3 B2 B1 B0 位符號(hào) GATE C/T M1 M0 GATE C/T M1 M0





