服務(wù)熱線: 0755-83261303
郵箱:ht@htsemi.com
地址:深圳市龍華區(qū)大浪街道浪口社區(qū)華昌路315號華昌工業(yè)園
速覽!一文了解MCU單片機(jī)的定時器(TImer)功能
之前我們有了解過,MCU單片機(jī)相當(dāng)于一個微控制器,和其他芯片相比,最大的特點(diǎn)就是可編程特性。由于它的可編程特點(diǎn),讓它得以廣泛的應(yīng)用在生活的方方面面,比如手機(jī)、PC外圍、遙控器,汽車、電子、智能家居等,但這些都是使用MCU單片機(jī)配合不同電路去實(shí)現(xiàn)的。
那MCU單片機(jī)的基本功能有哪些呢?金譽(yù)半導(dǎo)體帶大家來了解一下,包括:定時器(TImer)、IO口、外部中斷、通訊接口、A/D轉(zhuǎn)換、PWM功能等。其中定時器(TImer)功能可以說是MCU單片機(jī)最基本的功能,那定時器(TImer)功能使如何實(shí)現(xiàn)的呢?
定時器是由兩個寄存器組成的,其中一個寄存器是用來確定計(jì)數(shù)器的工作形式和功能的,另外一個計(jì)時器是用來控制單片機(jī)的啟動和停止的,同時它也是設(shè)置溢出的一個標(biāo)志?! ?/span>
TImer的種類雖然比較多,但可歸納為兩大類:
一類是固定時間間隔的TImer:即其定時的時間是由系統(tǒng)設(shè)定的,用戶程序不可控制,系統(tǒng)只提供幾種固定的時間間隔給用戶程序進(jìn)行選擇,如32Hz,16Hz,8Hz等,此類TImer在4位MCU中比較常見,因此可以用來實(shí)現(xiàn)時鐘、計(jì)時等相關(guān)的功能。
固定時間間隔的TImer在工業(yè)、家用電氣設(shè)備的控制中有很多應(yīng)用,例如,可以用單片機(jī)實(shí)現(xiàn)一個具有一個按鈕的樓道燈開關(guān),該開關(guān)在按鈕按下一次后,燈亮3分鐘后自動滅,當(dāng)按鈕連續(xù)按下兩次后,燈常亮不滅,當(dāng)按鈕按下時間超過2s,則燈滅。
另一類則是可編程定時器(Programmable Timer),顧名思義,該類Timer的定時時間是可以由用戶的程序來控制的,控制的方式包括:時鐘源的選擇、分頻數(shù)(Prescale)選擇及預(yù)制數(shù)的設(shè)定等,有的MCU三者都同時具備,而有的則可能是其中的一種或兩種。此類Timer應(yīng)用非常靈活,實(shí)際的使用也千變?nèi)f化,由于時鐘源可以自由選擇,因此,此類Timer一般均與Event Counter(事件計(jì)數(shù)器)合在一起。
MCU單片機(jī)計(jì)數(shù)過程
每來一個脈沖計(jì)數(shù)器加1,當(dāng)加到計(jì)數(shù)器為全1(即FFFFH)時,再輸入一個脈沖就使計(jì)數(shù)器回零,且計(jì)數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時器/計(jì)數(shù)器中斷允許時)。如果定時器/計(jì)數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計(jì)數(shù)模式,則表示計(jì)數(shù)值已滿。
其實(shí)數(shù)字集成電路也可以實(shí)現(xiàn)時序電路,可編程邏輯器件(PLD)可以實(shí)現(xiàn)時序電路,可編程控制器(PLC)可以實(shí)現(xiàn)時序電路,但是只有單片機(jī)實(shí)現(xiàn)起來最簡單,成本最低。因此單片機(jī)定時器的使用是非常重要的,掌握邏輯加時間控制的編程是學(xué)習(xí)使用單片機(jī)的基礎(chǔ)。
*此文來源網(wǎng)絡(luò)資料整理后內(nèi)容,如有侵權(quán)請聯(lián)系刪除