一、引言
計時器廣泛應用于日常生活和自動化工業(yè)控制中。近年來隨著單片機在實時檢測和自動控制系統(tǒng)中的應用,它的優(yōu)勢越發(fā)突出。利用單片機制作的計時器,使其更加智能化。
利用單片機制作的計時器更加智能化,當計時停止時,可發(fā)出聲光報警進行提示。本系統(tǒng)采用Proteus與Keil軟件結(jié)合構(gòu)建實驗平臺。首先在計算機上利用Proteus制作硬件電路原理圖;接著使用Keil軟件編制程序,完成系統(tǒng)的軟件設(shè)計;最后將程序編譯生成的代碼文件載入到單片機中,執(zhí)行仿真功能便可以在計算機中上看到最終的運行效果。這種設(shè)計方法既可以很好的模擬電路的運行效果又可以大大的降低設(shè)計成本、縮短設(shè)計周期,是一種非常方便的設(shè)計方法。
二、工作原理
本系統(tǒng)采用單片機控制實現(xiàn)精確計時,最小計時單位為秒,計時最大值為24小時。電路閑置時,屏幕無顯示,以最大限度節(jié)省電能。若按下啟動按鈕,系統(tǒng)便開始計時。計時時間會顯示在8位數(shù)碼管構(gòu)成的顯示屏上。當按下停止按鈕時,系統(tǒng)停止計時,并且觸發(fā)由發(fā)光二極管和蜂鳴器構(gòu)成的聲光報警電路,提示時間已到。
此時顯示屏鎖定在當前時間即已用時間,以備用戶查看。按下復位按鈕后,計時器停止報警并且關(guān)斷顯示,系統(tǒng)停止工作。
下次計時可以按下啟動按鈕重新開始。
三、硬件設(shè)計
計時器工作原理圖如圖1所示,它以單片機AT89C51為核心,由單片機最小應用系統(tǒng)、數(shù)碼管顯示電路、按鈕控制電路和聲光報警電路幾部分組成。數(shù)碼管顯示電路用于顯示計時時間,由8位共陽極數(shù)碼管及驅(qū)動電路組成,采用動態(tài)掃描顯示以簡化硬件設(shè)計和降低生產(chǎn)成本;按鈕控制電路包括啟動和停止兩個按鈕,以實現(xiàn)計時器的啟動和停止控制;聲光報警電路用于實現(xiàn)計時停止時的報警提示,由一位發(fā)光二極管和蜂鳴器組成,如圖2所示。
四、軟件設(shè)計
程序設(shè)計采用模塊化編程方法。軟件由主程序、子程序和定時中斷服務程序組成。主程序和子程序完成按鍵掃描、顯示、聲光報警功能;定時中斷服務程序用于實現(xiàn)計時功能,并實時更新顯示數(shù)據(jù)。
程序流程圖如圖3所示:
其主程序和主要部分子程序如下:
五、仿真調(diào)試
采用Proteus與Keil軟件結(jié)合構(gòu)建實驗平臺,既可以很好的模擬電路的運行效果又可以大大的降低設(shè)計成本、縮短設(shè)計周期。具體步驟如下:
1.在計算機上利用Proteus軟件制作硬件電路原理圖
Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真及一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持幾乎所有的單片機。編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus中提供了非常豐富的元件與部件,可以輕而易舉完成電路原理圖的編輯。
在Proteus中新建一個文件,依次添加原理圖中的元件進行電路繪制。當載入已編譯好的目標代碼文件:*.HEX,可以在Proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。
2.使用Keil軟件編制程序,完成系統(tǒng)的軟件設(shè)計
Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。特別是使用C語言編程,性能尤為突出。
在Keil中新建一個工程,輸入程序。
程序調(diào)試時除了可以使用Keil的軟件仿真功能,也可以啟動Keil與Proteus聯(lián)合仿真功能。聯(lián)調(diào)后,Proteus中的電路便會隨之一起啟動。Keil中的一個操作,如單步運行、全速運行、復位等,在Proteus電路中都會有所對應。
3.將程序編譯生成的代碼文件載入到單片機
進入Proteus界面,雙擊單片機AT89c51,彈出“編輯元件屬性”對話框,在“ProgramFile”欄中選擇要加載的代碼文件,然后點擊確定。如圖4所示。
最后點擊軟件左下角的“運行”控制按鈕,以執(zhí)行仿真功能。
按要求進行控制便可以在電路中上看到最終的運行效果。如圖5所示。
六、結(jié)束語
利用單片機制作的計時器通過程序控制使其更加智能化,且具有很好的性價比。采用Proteus與Keil軟件結(jié)合構(gòu)建實驗平臺進行系統(tǒng)設(shè)計,既可以很好的模擬電路的運行效果又可以大大的降低設(shè)計成本、縮短設(shè)計周期,對單片機系統(tǒng)設(shè)計有很大的幫助。