單片機定時器/計數(shù)器的結(jié)構(gòu)以及工作原理
定時器/計數(shù)器的結(jié)構(gòu)
本文引用地址:http://www.ex-cimer.com/article/201807/384291.htm定時器/計數(shù)器的實質(zhì)是加1計數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時器/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標(biāo)志。
計數(shù)器輸入的計數(shù)脈沖源
系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后產(chǎn)生;
T0或T1引腳輸入的外部脈沖源。
計數(shù)過程
每來一個脈沖計數(shù)器加1,當(dāng)加到計數(shù)器為全1(即FFFFH)時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時器/計數(shù)器中斷允許時)。如果定時器/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。
定時應(yīng)用
用作定時器:此時設(shè)置為定時器模式,加1計數(shù)器是對內(nèi)部機器周期計數(shù)(1個機器周期等于12個振蕩周期,即計數(shù)頻率為晶振頻率的1/12)。計數(shù)值N乘以機器周期Tcy就是定時時間t 。
計數(shù)運用
用作計數(shù)器:此時設(shè)置為計數(shù)器模式,外部事件計數(shù)脈沖由T0或T1引腳輸入到計數(shù)器。每來一個外部脈沖,計數(shù)器加1。但單片機對外部脈沖有基本要求:脈沖的高低電平持續(xù)時間都必須大于1個機器周期。
工作方式寄存器(TMOD)
GATE:門控位。
GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時器/計數(shù)器工作;(即需要一個啟動條件)
GATE=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳也為高電平時,才能啟動定時器/計數(shù)器工作,即需要兩個啟動條件。
C/T :定時/計數(shù)模式選擇位。
C/T =0為定時模式; C/T =1為計數(shù)模式。
M1M0:工作方式設(shè)置位。
計數(shù)器工作方式選擇
M1 M0 工 作 方 式 功 能 說 明
0 0 方式0 13位計數(shù)器
0 1 方式1 16位計數(shù)器
1 0 方式2 自動重裝8位計數(shù)器
1 1 方式3 定時器0:分成兩個8位
定時器1:停止計數(shù)
定時器/計數(shù)器的控制
控制寄存器TCON
TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時器/計數(shù)器的啟動和中斷申請。其格式如下:
TF1(TCON.7):T1溢出中斷請求標(biāo)志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。TR1(TCON.6):T1起/停控制位。1:啟動 0:停止
TF0(TCON.5):T0溢出中斷請求標(biāo)志位,其功能與TF1類同。
TR0(TCON.4):T0起/停控制位。1:啟動 0:停止
定時器/計數(shù)器的工作方式
方式1
方式1為13位計數(shù),由TL0的低5位(高3位未用)和TH0的8位組成TL0的低5位溢出時向TH0進位,TH0溢出時,置位TCON中的TF0標(biāo)志,向CPU發(fā)出中斷請求。
方式2
方式2的計數(shù)位數(shù)是16位,由TL0(TL1)作為低8位、TH0(TH1)作為高8位,組成了16位加1計數(shù)器 。
方式3
方式3為自動重裝初值的8位計數(shù)方式。
在方式3下,當(dāng)計數(shù)器計滿255(FFH)溢出時,CPU自動把TH 的值裝入TL中,不需用戶干預(yù)。因此特別適合于用作較精確的脈沖信號發(fā)生器。
方式4
方式4只適用于定時器/計數(shù)器T0,定時器T1方式3時相當(dāng)于TR1=0,停止計數(shù)。
工作方式4將T0分成為兩個獨立的8位計數(shù)器TL0和TH0 。
評論