邱丹 曹冬梅
摘要
Proteus是全球范圍內(nèi)廣泛使用的EDA工具軟件,除了能進(jìn)行模擬、數(shù)字和模/數(shù)混合電路的設(shè)計(jì)與仿真外,也是目前較先進(jìn)的多種型號(hào)微控制器系統(tǒng)的設(shè)計(jì)與仿真平臺(tái)。本文介紹了單片機(jī)課程教學(xué)中的實(shí)踐項(xiàng)目一車輛速度里程表應(yīng)用系統(tǒng)的軟件仿真案例,并詳述了基于此應(yīng)用系統(tǒng)的Proteus軟件的仿真電路設(shè)計(jì)和仿真結(jié)果。
【關(guān)鍵詞】Proteus 單片機(jī) Keil 霍爾傳感器
單片機(jī)課程是一門理論性很強(qiáng)的課程,高等學(xué)校的很多電類、信息類工科專業(yè)的都已開展。單片機(jī)課程又是一門實(shí)踐性很強(qiáng)的課程,需要一定的實(shí)踐環(huán)節(jié)作為輔助,因而需要大量的實(shí)驗(yàn)儀器和設(shè)備,硬件投入大,經(jīng)費(fèi)通常投入不足,難以達(dá)到預(yù)期教學(xué)效果。為此本文提出了一種利用當(dāng)前比較先進(jìn)的EDA軟件——Proteus進(jìn)行單片機(jī)系統(tǒng)軟件仿真的設(shè)計(jì)和實(shí)踐的方法,構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)設(shè)備,為解決上述問題提供一些新思路。
Proteus是英國(guó)Labcenter Electronics公司開發(fā)的電路分析仿真軟件,運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬元器件、集成電路和眾多單片機(jī)系統(tǒng)。既可用于設(shè)計(jì)電路原理圖,又可以畫印制電路板(PCB)圖,并可以實(shí)現(xiàn)交互可視化仿真;還可以與常用的單片機(jī)編譯調(diào)試軟件Keil C51進(jìn)行聯(lián)合調(diào)試。用該軟件進(jìn)行開發(fā)的優(yōu)勢(shì)主要在于,避免了用傳統(tǒng)方法開發(fā)時(shí)方案更換所帶來的多次購(gòu)買元器件及制作PCB板的麻煩,節(jié)約了設(shè)計(jì)時(shí)間,降低了設(shè)計(jì)經(jīng)費(fèi),也降低了學(xué)生學(xué)習(xí)單片機(jī)應(yīng)用技術(shù)的門檻。
1 系統(tǒng)的硬件電路設(shè)計(jì)
本文提出一種速度里程表的實(shí)現(xiàn)方案,在車輛行駛過程中,可以實(shí)時(shí)測(cè)量并顯示速度和里程兩個(gè)參數(shù);當(dāng)超速行駛時(shí)還提供自動(dòng)報(bào)警功能。系統(tǒng)硬件部分包括單片機(jī)控制模塊、供電模塊、數(shù)碼顯示模塊、測(cè)量模塊、功能選擇模塊、狀態(tài)指示模塊構(gòu)成。
2 系統(tǒng)的仿真設(shè)計(jì)
本系統(tǒng)的測(cè)量模塊中采用的是開關(guān)型霍爾傳感器來測(cè)量速度和里程。但Proteus中沒有此類霍爾元件,因此采用軟件中的虛擬儀表——信號(hào)發(fā)生器產(chǎn)生的方波下降沿來模擬車輛每行駛一圈由霍爾元件輸出的低電平;為了對(duì)信號(hào)發(fā)生器產(chǎn)生的方波進(jìn)行監(jiān)控,本系統(tǒng)還使用了虛擬儀表——示波器和計(jì)數(shù)器,示波器監(jiān)控信號(hào)發(fā)生器所產(chǎn)生的波形,計(jì)數(shù)器對(duì)信號(hào)發(fā)生器輸出的方波個(gè)數(shù)進(jìn)行計(jì)數(shù),也作為驗(yàn)證系統(tǒng)所顯示的行駛里程正確與否的依據(jù)。
當(dāng)單片機(jī)系統(tǒng)仿真電路原理圖和配套程序都完成后,即可進(jìn)行仿真調(diào)試了。本系統(tǒng)采用Keil C51與Proteus聯(lián)合調(diào)試的方法,軟件Keit C51負(fù)責(zé)執(zhí)行程序,而Proteus負(fù)責(zé)顯示原理圖的變化情況,兩種軟件分工合作,各盡其責(zé)。Keil C51每調(diào)試一次,Proteus就會(huì)做出相應(yīng)動(dòng)作,也可根據(jù)系統(tǒng)需要進(jìn)行跟蹤調(diào)試,調(diào)試方法靈活多樣,效果最好。
2.1 里程和速度顯示界面
圖1和圖2中,功能按鍵S3是用來控制數(shù)碼管顯示內(nèi)容的,當(dāng)S3抬起時(shí)顯示的是里程數(shù),仿真結(jié)果如圖1所示,此時(shí)車輪行駛了254圈,程序設(shè)置車輪周長(zhǎng)為1.8米,則行駛里程為457.2米。當(dāng)S3按下時(shí)顯示的是速度,仿真結(jié)果如圖2所示,此時(shí)表示車輪行駛了95圈時(shí),行駛的即時(shí)速度為5.1m/s。
2.2 速度太慢報(bào)警界面
當(dāng)系統(tǒng)檢測(cè)到車輛行駛速度太慢(<0.5m/s)的情況下,狀態(tài)燈D3閃爍,表示警告,同時(shí)數(shù)碼管交替顯示當(dāng)前速度、“Sudu”、“Erro”。
3 結(jié)論
Proteus在單片機(jī)系統(tǒng)的開發(fā)和仿真中功能十分強(qiáng)大,能提供虛擬且直觀的硬件和軟件設(shè)計(jì)環(huán)境,即使不畫出復(fù)位電路與振蕩電路,只要畫好主控芯片和外圍電路,并將擴(kuò)展名為HEX的十六進(jìn)制文件下載到主控芯片中,即可進(jìn)行仿真調(diào)試。當(dāng)然,如果在系統(tǒng)設(shè)計(jì)過程中,Proteus本身沒有個(gè)別元器件的原型,則需要對(duì)仿真電路做適當(dāng)調(diào)整或?qū)δ承┰骷M(jìn)行替換。軟件仿真并不能完全替代實(shí)際的硬件電路,計(jì)算機(jī)本身性能等因素同樣會(huì)影響到仿真結(jié)果,這時(shí)需要依靠軟件程序設(shè)計(jì)上的適當(dāng)調(diào)整解決此類問題,但要注意調(diào)整時(shí)不要改變程序的本質(zhì),否則可能會(huì)仿真不成功,達(dá)不到實(shí)驗(yàn)的目的。
本文提出了基于軟件Proteus的仿真技術(shù)進(jìn)行單片機(jī)系統(tǒng)開發(fā)的實(shí)踐案例和方法,并給出了關(guān)鍵性的仿真結(jié)果,其仿真環(huán)境和相關(guān)技術(shù)可以作為學(xué)生學(xué)習(xí)電路分析、電子電路、單片機(jī)系統(tǒng)和嵌入式系統(tǒng)等課程的輔助工具。該虛擬仿真的演示系統(tǒng)也可為其相關(guān)項(xiàng)目的推廣和應(yīng)用起到相當(dāng)?shù)淖饔谩?/p>
參考文獻(xiàn)
[1]杜樹春.基于Proteus和KeilC51的單片機(jī)設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2012.
[2]陳忠平.基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真(第2版)[M].北京:電子工業(yè)出版社,2012.
[3]盧建華.Proteus在交通燈控制系統(tǒng)中的應(yīng)用[J]數(shù)碼設(shè)計(jì),2018(01).
[4]李偉,李紅海.基于車輛速度里程表的Proteus仿真[J].機(jī)電工程技術(shù),2010(05).
[5]王超,楊蓮紅.Proteus仿真軟件在單片機(jī)實(shí)踐教學(xué)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2014(07).