
對(duì)于剛開(kāi)始接觸單片機(jī)定時(shí)器知識(shí)學(xué)習(xí)的新人工程師來(lái)說(shuō),牢固鞏固知識(shí)基礎(chǔ)只是邁出的第一步,更重要的是要結(jié)合單片機(jī)的設(shè)計(jì)實(shí)例,靈活利用單片機(jī)定時(shí)器來(lái)完成相關(guān)的程序設(shè)計(jì)。在今天的文章中,我們將會(huì)通過(guò)一個(gè)實(shí)際案例,來(lái)為大家解析一下單片機(jī)定時(shí)器在實(shí)際應(yīng)用中的一些設(shè)計(jì)步驟和技巧。
在本案例中,我們所提出的條件是利用單片機(jī)定時(shí)器定時(shí)50毫秒,使用定時(shí)器0,工作方式1模式。50毫秒一到,即點(diǎn)亮指示燈D1。按照這一設(shè)計(jì)要求,我們可以按照下列兩個(gè)大步驟來(lái)進(jìn)行單片機(jī)程序的設(shè)置。
我們要做的第一個(gè)步驟就是確定定時(shí)器0初始化程序。這一部分的設(shè)計(jì)是非常重要的,按照單片機(jī)的正常使用程序,我們可以從四個(gè)方面出發(fā),來(lái)進(jìn)行相應(yīng)的設(shè)置。
第一步是要完成對(duì)TMOD的賦值設(shè)置,以此來(lái)確定T0和T1的工作方式。
在本案例中,我們已經(jīng)從前文所提及的設(shè)計(jì)要求上明確了這一方案中需要使用定時(shí)器0工作方式,因此這一步的工作就簡(jiǎn)單了很多。此時(shí),TMOD=0X01,因此設(shè)置定時(shí)器0為工作方式1。具體設(shè)置過(guò)程在一些單片機(jī)基礎(chǔ)教程上已經(jīng)講解的非常敘述,因此在本案例的設(shè)計(jì)過(guò)程中,我們不再做過(guò)多的贅述。
在完成了對(duì)單片機(jī)定時(shí)器的對(duì)TMOD的賦值設(shè)置之后,接下來(lái)的工作就是精確計(jì)算計(jì)數(shù)初值X,并在得出相應(yīng)數(shù)值后將其按照要求寫(xiě)入TH0、TL0,或?qū)懭隩H1、TL1。在本案例中,由于晶振給出的條件為12MHz,所以我們所選取的機(jī)器周期Tcy為1ms。因此,定時(shí)器要計(jì)數(shù)50000個(gè)就是50毫秒,其換算比例為:
N=t/Tcy=50000/1=50000個(gè)
TH0=(65536-50000)/256(求模的意思)
TL0=(65536-50000)%256(求余的意思)
完成了計(jì)數(shù)初值X的計(jì)算和寫(xiě)入工作后,第三個(gè)步驟就是在進(jìn)行單片機(jī)定時(shí)器的中斷方式設(shè)置時(shí),同時(shí)對(duì)IE賦值,開(kāi)放中斷。在這一案例中,我們結(jié)合設(shè)計(jì)要求,設(shè)置為當(dāng)EA=1時(shí),總中斷打開(kāi);當(dāng)ET0=1時(shí),定時(shí)器0中斷打開(kāi)。
在完成了上面三個(gè)步驟的設(shè)置后,接下來(lái)就是本環(huán)節(jié)中的最后一個(gè)步驟,即使TR0或TR1置位,啟動(dòng)定時(shí)/計(jì)數(shù)器定時(shí)或計(jì)數(shù)。在這里我們?cè)O(shè)置TRO=1,啟動(dòng)定時(shí)器0開(kāi)始計(jì)時(shí)。
在已經(jīng)確定了定時(shí)器0初始化程序的前提下,接下來(lái)我們就需要完成對(duì)定時(shí)器0的中斷服務(wù)程序的編寫(xiě),這一部分的中斷服務(wù)程序可按照下圖進(jìn)行編寫(xiě):
在我們所編寫(xiě)的這一中斷程序中,由于單片機(jī)是根據(jù)interrupt后的數(shù)字來(lái)確定是哪個(gè)定時(shí)器產(chǎn)生的中斷,因外部中斷序號(hào)是0,因此我們這里的定時(shí)器0中斷序號(hào)是1。這里需要注意,再次裝入初值是為了防止下次計(jì)數(shù)出錯(cuò),這一步驟是不可隨意省略的。
以上就是本文針對(duì)一個(gè)單片機(jī)定時(shí)器應(yīng)用實(shí)例所進(jìn)行的解讀和分析,希望通過(guò)本文的介紹,對(duì)各位新人工程師的設(shè)計(jì)工作提供一定的幫助。
聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請(qǐng)注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開(kāi)的文章或圖片,未能及時(shí)和您確認(rèn),避免給雙方造成不必要的經(jīng)濟(jì)損失,請(qǐng)電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
解疑答惑 單片機(jī)定時(shí)器常見(jiàn)兩大應(yīng)用問(wèn)題解析 | 15-12-10 09:25 |
---|---|
新人小白必看 單片機(jī)定時(shí)器基礎(chǔ)概念科普 | 15-12-03 09:37 |
基于51單片機(jī)定時(shí)器的電子時(shí)鐘設(shè)計(jì)方案分享 | 15-11-26 09:41 |
兩大單片機(jī)定時(shí)器中斷時(shí)間誤差原因總結(jié)分析 | 15-11-19 09:25 |
單片機(jī)定時(shí)器延時(shí)程序其實(shí)可以這么設(shè)定 | 15-11-12 09:27 |
微信關(guān)注 | ||
![]() |
技術(shù)專題 | 更多>> | |
![]() |
技術(shù)專題之EMC |
![]() |
技術(shù)專題之PCB |