計(jì)數(shù)器定時(shí)器的實(shí)質(zhì)是加1計(jì)數(shù)器(16位),由高8位和低8位兩個(gè)寄存器組成。TMOD是定時(shí)器/計(jì)數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動(dòng)和停止及設(shè)置溢出標(biāo)志。
計(jì)數(shù)器定時(shí)器的工作原理:
計(jì)數(shù)器輸入的計(jì)數(shù)脈沖源
系統(tǒng)的時(shí)鐘振蕩器輸出脈沖經(jīng)12分頻后產(chǎn)生;
T0或T1引腳輸入的外部脈沖源。
計(jì)數(shù)過(guò)程:
每來(lái)一個(gè)脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1(即FFFFH)時(shí),再輸入一個(gè)脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請(qǐng)求。如果定時(shí)器/計(jì)數(shù)器工作于定時(shí)模式,則表示定時(shí)時(shí)間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。
定時(shí)應(yīng)用:
用作定時(shí)器:此時(shí)設(shè)置為定時(shí)器模式,加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。計(jì)數(shù)值N乘以機(jī)器周期Tcy就是定時(shí)時(shí)間t 。
計(jì)數(shù)運(yùn)用:
用作計(jì)數(shù)器:此時(shí)設(shè)置為計(jì)數(shù)器模式,外部事件計(jì)數(shù)脈沖由T0或T1引腳輸入到計(jì)數(shù)器。每來(lái)一個(gè)外部脈沖,計(jì)數(shù)器加1。但單片機(jī)對(duì)外部脈沖有基本要求:脈沖的高低電平持續(xù)時(shí)間都必須大于1個(gè)機(jī)器周期。