吳永鵬
摘要:為有效解決當(dāng)前單片機中存在的定時器無法自動啟停這一問題,此次研究設(shè)計了一種全新的應(yīng)用方法。該方法主要是通過外部中斷的方式來實現(xiàn)定時器的啟停作業(yè)。其中,核心控制單元就是STC90C5RC單片機,通過按鍵申請可以向外部發(fā)出中斷信號INT0和INT1,其中INT0的中斷函數(shù)可對定時器進行TR0取反控制,以此來滿足定時器交替作業(yè)與啟停的目的。而在INT1的中斷函數(shù)中,只要按下操作按鍵,便會將計時器歸零,同時會促使TR0=1啟動定時器,以此來實現(xiàn)定時器的重啟。
關(guān)鍵詞:單片機;定時器;外部中斷;中斷函數(shù)
我國自主生產(chǎn)研發(fā)的STC90C5RC單片機性能卓越,且適用范圍極廣,在國內(nèi)市場有著絕對的領(lǐng)先地位。在該單片機的內(nèi)部構(gòu)造中,主要集成方式是利用兩個16位的可編輯定時器T0和T1設(shè)計的,這也是該點偏激中最重要的軟硬件組合配套設(shè)施以及定時部件。在此基礎(chǔ)上,可以實現(xiàn)靈活自由的定時及時以及裁判。但是因為利用T0和T1需要深入掌握單片機的定時器控制寄存器TCON以及TMOD的工作機理,所以相對來說在設(shè)計階段有一定的難度。
通過實踐表明,單片機定時器的應(yīng)用需要結(jié)合實際情況進行設(shè)計,Rubicon在田徑運動場上,需要設(shè)計為累加計時,在個人競技項目中需要設(shè)計為歸零計時等。因為單片機定時器在編輯時無法預(yù)知后期的使用領(lǐng)域,所以需要將之設(shè)計為可靈活啟停的計時器。只有這樣才能滿足在各種環(huán)境下單片機定時器在計時器當(dāng)中的高效應(yīng)用。
一、硬件設(shè)計
在此就以體育競賽的計時器進行參考與設(shè)計。在正常的體育競技計時器中,計時器的核心控制單元一般都是STC90C5RC單片機,或者在此基礎(chǔ)上再加一個微信系統(tǒng)便可實現(xiàn)精準(zhǔn)操作。為了讓LCD1602液晶顯示屏幕能夠顯示計時器提供的時間,可以把單片機中的P0端口連接在LCD1602D的數(shù)據(jù)接口上,通過這樣的方式,便可有利于數(shù)據(jù)傳輸?shù)恼w質(zhì)量,同時在數(shù)據(jù)傳輸?shù)倪^程中還可以對LCD1602進行命令和控制。另外,將單片機的P2.5、P2.6和P2.7的引腳介入到LCD1602的R/W和RS以及EN端口上,從而便可全面實現(xiàn)單片機對于LCD1602傳輸顯示的控制。同時,彈性按鍵K0是單片機P3.2引腳的控制點,可控制外部中斷INT0的輸入,K1同K0相似,屬于INT1的控制點。當(dāng)兩個彈性按鍵出發(fā)之后,便可發(fā)出外部中斷申請。
二、程序設(shè)計
在對其程序進行設(shè)計的時候,需要了解程序的各單元。其中主要包括準(zhǔn)備部分、主程序部分、定時器TO中斷函數(shù)部分、外部中斷INT0以及INT1中斷函數(shù)部分等。其中,準(zhǔn)備部分主要包括說明、延遲函數(shù)、初始化函數(shù)等內(nèi)容。主程序部分主要包括定時器T0的定時設(shè)計時間。而且在對定時器T0中斷函數(shù)進行設(shè)計的時候,需要主要預(yù)置TH0和TL0的初值,并且要修改時間數(shù)值,因為計時器的中斷時間是0.01秒,所以下修改過程中需要在程序中加0.01秒。
三、啟動與暫停按鍵功能的設(shè)計
如果計時器正在工作的過程中,操作人員按下啟動或者暫停按鍵,此時計時器就會停止工作,進入暫停狀態(tài)。而且LCD1602上所顯示的時間也是停止時間。若此時操作人員在此按下啟動與暫停按鍵,計時器便會按照之前計時停止的時間繼續(xù)計時。結(jié)合TCON以及TMOD的工作機理和原則分析,如果按下啟動與暫停按鍵之后,可以同時實現(xiàn)TR0=0,此時便可使T0計時器暫停,同時也能讓unm0的數(shù)值確定不變,另外,unm1—unm3的數(shù)值都會保持不變。因為啟動與暫停按鍵是單片機P3.2引腳的接口,而且P3.2引腳又是INT0的輸入端口,所以,啟動與暫停按鍵在按下之后,便會自動發(fā)出一次申請,如果這時候假設(shè)INT0的中斷函數(shù)是TR0=0,那么就會導(dǎo)致T0長期處于停止工作的狀態(tài)。若操作人員再次按下啟動與暫停按鍵,此時會發(fā)現(xiàn)依然無法啟動計時器。這一問題主要原因是因為:主程序的TR0=1,此時在執(zhí)行第一次中斷函數(shù)取反命令的時候,TR0=0,這是就會促使T0暫停計時。而在第二次執(zhí)行中斷函數(shù)取反命令的時候,TR0=1,此時T0可以滿足暫停的需求,通過這樣的方式,便可以完全實現(xiàn)啟動與暫停按鍵的功能。
四、重新開始按鍵功能的設(shè)計
無論計時器處在什么狀態(tài),在需要重新計時的時候,只需要按下K1按鍵即可,該按鍵便是重新開始按鍵。因為K1按鍵所連接的是單片機的P3.3引腳,所以P3.3引腳也是單片機外部中斷的輸入節(jié)點。所以,可假設(shè)INT1為中斷函數(shù),并且unm0—unm3都等于0。通過這樣的方式,便可有效實現(xiàn)按鍵功能。
綜上所述,該設(shè)計可以基本滿足大眾對于計時器的需求。通過對單片機定時器的設(shè)計,使其在現(xiàn)實操作中具有較高的靈活性,該方法不僅能滿足對計時器的高效控制,而且還能實現(xiàn)對計時器的外部中斷可控性,從而全面提高計時的效率與準(zhǔn)確率。
參考文獻
[1]葛宇輝,王偉.單片機程序控制定時器設(shè)計[J].湖北農(nóng)機化,2019(09):75.
[2]蘇晨.基于單片機的數(shù)字式通電延時時間繼電器設(shè)計[J].電子技術(shù)與軟件工程,2018(18):232-233.