|
定時(shí)/計(jì)數(shù)器
HT48R05A-1提供一個(gè)定時(shí)/計(jì)數(shù)器。定時(shí)/計(jì)數(shù)器包含一個(gè)8位可編程的向上計(jì)數(shù)的計(jì)數(shù)器,時(shí)鐘可以來自外部時(shí)鐘或系統(tǒng)時(shí)鐘。
如果采用內(nèi)部系統(tǒng)時(shí)鐘,那么只有一個(gè)參考時(shí)基信號(hào),這個(gè)內(nèi)部時(shí)鐘來自fsys。
外部時(shí)鐘輸入,允許用戶去計(jì)量外部事件,測(cè)量時(shí)間長(zhǎng)度或脈沖寬度或產(chǎn)生一個(gè)精確的時(shí)基信號(hào)。
有兩個(gè)寄存器與定時(shí)/計(jì)數(shù)器相關(guān)聯(lián)即TMR(0DH)和TMRC(0EH)。有兩個(gè)物理寄存器對(duì)應(yīng)TMR的位置,寫入TMR會(huì)將初始值裝入定時(shí)/計(jì)數(shù)器的預(yù)置寄存器中,而讀TMR則會(huì)獲得定時(shí)/計(jì)數(shù)器的內(nèi)容,TMRC是定時(shí)/計(jì)數(shù)器控制寄存器。
TM0和TM1位定義操作模式,事件計(jì)數(shù)模式用來記錄外部事件,這時(shí)時(shí)鐘來源于外部TMR引腳,定時(shí)器模式是作為一個(gè)普通的定時(shí)器功能,時(shí)鐘源來自fINT時(shí)鐘。脈沖寬度測(cè)量模式能用來計(jì)量外部引腳TMR上的高電平或低電平的寬度,計(jì)數(shù)是基于fINT時(shí)鐘。
HT48R05A-1定時(shí)/計(jì)數(shù)器
在事件計(jì)數(shù)或定時(shí)器模式中,一旦定時(shí)/計(jì)數(shù)器開始計(jì)數(shù),它將會(huì)從當(dāng)前定時(shí)/計(jì)數(shù)器中的數(shù)值開始計(jì)數(shù)到FFH,一旦產(chǎn)生溢出,計(jì)數(shù)器會(huì)從定時(shí)/計(jì)數(shù)器預(yù)置寄存器重新裝載并且同時(shí)產(chǎn)生相應(yīng)的中斷請(qǐng)求狀態(tài)位(TF:INTC的第5位)。
在脈沖寬度測(cè)量中,將TON和TE置為“1”,如果TMR接收到從低到高的電平跳變(或從高到低的變化,如果TE位被清除),就開始計(jì)數(shù)直到TMR返回到 原來的電平并且復(fù)位TON位。測(cè)量的結(jié)果被保留在定時(shí)計(jì)數(shù)器中,甚至電平跳變?cè)僖淮伟l(fā)生也不會(huì)改變,也就是,一次只能測(cè)量一個(gè)周期。直到TON再次被置 位,只要再接收到跳變信號(hào),那么測(cè)量過程會(huì)再次執(zhí)行。要注意在這個(gè)操作模式中,定時(shí)/計(jì)數(shù)器的啟動(dòng)計(jì)數(shù)不是根據(jù)邏輯電平,而是信號(hào)的邊沿跳變觸發(fā)。一旦發(fā) 生計(jì)數(shù)器溢出,計(jì)數(shù)器會(huì)從定時(shí)/計(jì)數(shù)器的預(yù)置寄存器重新裝入,并激活中斷。這種情況與其它兩個(gè)模式一樣,要使得計(jì)數(shù)運(yùn)行,只要將定時(shí)器啟動(dòng)位 (TON:TMRC的第4位)置“1”。在脈沖寬度測(cè)量模式中TON在測(cè)量周期結(jié)束后自動(dòng)被清除。但在另外兩個(gè)模式中,TON只能由指令來復(fù)位。定時(shí)/計(jì) 數(shù)器的溢出是喚醒信號(hào)之一。不管是何種模式,若寫“0”到ETI位即可禁止響應(yīng)的中斷服務(wù)。
在定時(shí)/計(jì)數(shù)器為OFF狀態(tài)下,寫數(shù)據(jù)到定時(shí)/計(jì)數(shù)器的預(yù)置寄存器中,同時(shí)也會(huì)將數(shù)據(jù)裝入定時(shí)/計(jì)數(shù)器中。但若是定時(shí)/計(jì)數(shù)器已經(jīng)開啟,寫到定時(shí)/計(jì)數(shù)器 的數(shù)據(jù)被保留在定時(shí)/計(jì)數(shù)器的預(yù)置寄存器中,直到定時(shí)/計(jì)數(shù)器發(fā)生計(jì)數(shù)溢出為止,再由預(yù)置寄存器加載新的值。當(dāng)定時(shí)/計(jì)數(shù)器的數(shù)據(jù)被讀取時(shí),會(huì)禁止時(shí)鐘輸 入以防出錯(cuò),因?yàn)榻箷r(shí)鐘輸入可能導(dǎo)致計(jì)數(shù)錯(cuò)誤,所以程序員必須加以考慮。
TMRC的0-2位被用于定義定時(shí)/計(jì)數(shù)器的內(nèi)部時(shí)鐘源的前置分頻因子。定義如下表所示,定時(shí)/計(jì)數(shù)器的溢出信號(hào)被用于產(chǎn)生驅(qū)動(dòng)蜂鳴器的PFD信號(hào)。
HT48R05A-1的TMR寄存器
|