在上一節(jié)中我們提到,中斷最明顯的應(yīng)用就是定時(shí)器,接下來就介紹一下定時(shí)器,實(shí)際上定時(shí)器就是一種計(jì)數(shù)器,定時(shí)/計(jì)數(shù)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16)位,由高8位和低8位兩個(gè)寄存器組成,主要是TMOD與TCON這兩個(gè)寄存器。
本文引用地址:http://www.ex-cimer.com/article/201611/322437.htmTMOD是定時(shí)/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。
首先,說一下TMOD寄存器,它的低四位用于T0,高四位用于T1,其格式如下:
其中,GATE:門控位。GATE=0時(shí),只要用軟件使TCON中的TR0或TR1為1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;GATA=1時(shí),要用軟件使TR0或TR1為1,同時(shí)外部中斷引腳或也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。即此時(shí)定時(shí)器的啟動(dòng)多了一條件。C/T:定時(shí)/計(jì)數(shù)模式選擇位。C/T=0為定時(shí)模式;C/T=1為計(jì)數(shù)模式。M1M0:工作方式設(shè)置位。定時(shí)/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。
定時(shí)器初始化程序應(yīng)完成如下工作:
(1)、對(duì)TMOD賦值,以確定T0和T1的工作方式。
(2)、計(jì)算初值,并將其寫入TH0、TL0或TH1、TL1。
(3)、中斷方式時(shí),則對(duì)IE賦值,開放中斷。
(4)、使TR0或TR1置位,啟動(dòng)定時(shí)/計(jì)數(shù)器定時(shí)或計(jì)數(shù)。
接下來,重點(diǎn)講一下定時(shí)器初值的計(jì)算。請(qǐng)記住下面這個(gè)公式:
t=T*(2L-C)
其中,t是定時(shí)時(shí)間,一般都是機(jī)器周期的一半,T是機(jī)器周期,L是計(jì)數(shù)器的長(zhǎng)度,C是計(jì)數(shù)常數(shù),一般是我們需要求得的初值。找個(gè)實(shí)例分析一下就明白了。
當(dāng)然,這個(gè)定時(shí)器都是與其它的內(nèi)容一起應(yīng)用的,在后面還會(huì)有更詳細(xì)的介紹,非常有意思。
評(píng)論