新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于Proteus的單片機(jī)計(jì)時器設(shè)計(jì)

基于Proteus的單片機(jī)計(jì)時器設(shè)計(jì)

作者: 時間:2013-09-23 來源:網(wǎng)絡(luò) 收藏

一、引言

本文引用地址:http://2s4d.com/article/174667.htm

計(jì)時器廣泛應(yīng)用于日常生活和自動化工業(yè)中。近年來隨著在實(shí)時檢測和自動系統(tǒng)中的應(yīng)用,它的優(yōu)勢越發(fā)突出。利用制作的計(jì)時器,使其更加智能化。

利用制作的計(jì)時器更加智能化,當(dāng)計(jì)時停止時,可發(fā)出聲光報(bào)警進(jìn)行提示。本系統(tǒng)采用Proteus與Keil軟件結(jié)合構(gòu)建實(shí)驗(yàn)平臺。首先在計(jì)算機(jī)上利用Proteus制作硬件電路原理圖;接著使用Keil軟件編制程序,完成系統(tǒng)的軟件設(shè)計(jì);最后將程序編譯生成的代碼文件載入到單片機(jī)中,執(zhí)行仿真功能便可以在計(jì)算機(jī)中上看到最終的運(yùn)行效果。這種設(shè)計(jì)方法既可以很好的模擬電路的運(yùn)行效果又可以大大的降低設(shè)計(jì)成本、縮短設(shè)計(jì)周期,是一種非常方便的設(shè)計(jì)方法。

二、工作原理

本系統(tǒng)采用單片機(jī)實(shí)現(xiàn)精確計(jì)時,最小計(jì)時單位為秒,計(jì)時最大值為24小時。電路閑置時,屏幕無顯示,以最大限度節(jié)省電能。若按下啟動按鈕,系統(tǒng)便開始計(jì)時。計(jì)時時間會顯示在8位數(shù)碼管構(gòu)成的顯示屏上。當(dāng)按下停止按鈕時,系統(tǒng)停止計(jì)時,并且觸發(fā)由發(fā)光和蜂鳴器構(gòu)成的聲光報(bào)警電路,提示時間已到。

此時顯示屏鎖定在當(dāng)前時間即已用時間,以備用戶查看。按下復(fù)位按鈕后,計(jì)時器停止報(bào)警并且關(guān)斷顯示,系統(tǒng)停止工作。

下次計(jì)時可以按下啟動按鈕重新開始。

三、硬件設(shè)計(jì)

計(jì)時器工作原理圖如圖1所示,它以單片機(jī)AT89C51為核心,由單片機(jī)最小應(yīng)用系統(tǒng)、數(shù)碼管顯示電路、按鈕控制電路和聲光報(bào)警電路幾部分組成。數(shù)碼管顯示電路用于顯示計(jì)時時間,由8位共陽極數(shù)碼管及驅(qū)動電路組成,采用動態(tài)掃描顯示以簡化硬件設(shè)計(jì)和降低生產(chǎn)成本;按鈕控制電路包括啟動和停止兩個按鈕,以實(shí)現(xiàn)計(jì)時器的啟動和停止控制;聲光報(bào)警電路用于實(shí)現(xiàn)計(jì)時停止時的報(bào)警提示,由一位發(fā)光和蜂鳴器組成,如圖2所示。

四、軟件設(shè)計(jì)

程序設(shè)計(jì)采用模塊化編程方法。軟件由主程序、子程序和定時中斷服務(wù)程序組成。主程序和子程序完成按鍵掃描、顯示、聲光報(bào)警功能;定時中斷服務(wù)程序用于實(shí)現(xiàn)計(jì)時功能,并實(shí)時更新顯示數(shù)據(jù)。

程序流程圖如圖3所示:

其主程序和主要部分子程序如下:

五、仿真調(diào)試

采用Proteus與Keil軟件結(jié)合構(gòu)建實(shí)驗(yàn)平臺,既可以很好的模擬電路的運(yùn)行效果又可以大大的降低設(shè)計(jì)成本、縮短設(shè)計(jì)周期。具體步驟如下:

1.在計(jì)算機(jī)上利用Proteus軟件制作硬件電路原理圖

Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真及一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持幾乎所有的單片機(jī)。編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。Proteus中提供了非常豐富的元件與部件,可以輕而易舉完成電路原理圖的編輯。

在Proteus中新建一個文件,依次添加原理圖中的元件進(jìn)行電路繪制。當(dāng)載入已編譯好的目標(biāo)代碼文件:*.HEX,可以在Proteus的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。

2.使用Keil軟件編制程序,完成系統(tǒng)的軟件設(shè)計(jì)

Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。特別是使用C語言編程,性能尤為突出。

在Keil中新建一個工程,輸入程序。

程序調(diào)試時除了可以使用Keil的軟件仿真功能,也可以啟動Keil與Proteus聯(lián)合仿真功能。聯(lián)調(diào)后,Proteus中的電路便會隨之一起啟動。Keil中的一個操作,如單步運(yùn)行、全速運(yùn)行、復(fù)位等,在Proteus電路中都會有所對應(yīng)。

3.將程序編譯生成的代碼文件載入到單片機(jī)

進(jìn)入Proteus界面,雙擊單片機(jī)AT89c51,彈出“編輯元件屬性”對話框,在“ProgramFile”欄中選擇要加載的代碼文件,然后點(diǎn)擊確定。如圖4所示。

最后點(diǎn)擊軟件左下角的“運(yùn)行”控制按鈕,以執(zhí)行仿真功能。

按要求進(jìn)行控制便可以在電路中上看到最終的運(yùn)行效果。如圖5所示。

六、結(jié)束語

利用單片機(jī)制作的計(jì)時器通過程序控制使其更加智能化,且具有很好的性價(jià)比。采用Proteus與Keil軟件結(jié)合構(gòu)建實(shí)驗(yàn)平臺進(jìn)行系統(tǒng)設(shè)計(jì),既可以很好的模擬電路的運(yùn)行效果又可以大大的降低設(shè)計(jì)成本、縮短設(shè)計(jì)周期,對單片機(jī)系統(tǒng)設(shè)計(jì)有很大的幫助。

二極管相關(guān)文章:二極管工作原理(史上最強(qiáng)二極管攻略)


模擬電路相關(guān)文章:模擬電路基礎(chǔ)


蜂鳴器相關(guān)文章:蜂鳴器原理


關(guān)鍵詞: 單片機(jī) 控制 二極管

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉