石惠
(安徽水利水電職業(yè)技術(shù)學(xué)院,安徽合肥230601)
Proteus在單片機(jī)系統(tǒng)設(shè)計(jì)中的仿真應(yīng)用
石惠
(安徽水利水電職業(yè)技術(shù)學(xué)院,安徽合肥230601)
Proteus是一款優(yōu)秀的EDA工具軟件,集單片機(jī)和SPICE分析于一身,功能極其強(qiáng)大。最主要的特點(diǎn)是用戶可以從工程應(yīng)用的角度直接觀察程序運(yùn)行和電路工作的過程與結(jié)果。避免了實(shí)驗(yàn)和實(shí)際應(yīng)用間脫節(jié)的現(xiàn)象。
單片機(jī);仿真;系統(tǒng)設(shè)計(jì);Proteus;程序
Proteus是一款電路分析與實(shí)物仿真軟件,由Labcenter electronics公司開發(fā),主要由ARES和ISIS兩個(gè)程序組成[1]。前者用于PCB布線及其電路仿真,后者主要采用原理布圖的方法繪制電路并進(jìn)行仿真。Proteus最大的特點(diǎn)是不僅能仿真單片機(jī)的工作情況,也能仿真單片機(jī)系統(tǒng)外圍電路或其它電路的工作情況。在開發(fā)單片機(jī)系統(tǒng)時(shí),我們可以利用其強(qiáng)大的仿真功能避免實(shí)驗(yàn)和實(shí)際工程應(yīng)用間的脫節(jié)問題。
以51系列單片機(jī)制作數(shù)碼時(shí)鐘為例進(jìn)行設(shè)計(jì),數(shù)碼時(shí)鐘的顯示格式如XX.XX.XX所示。通過本設(shè)計(jì)讓初學(xué)者對Proteus在單片機(jī)項(xiàng)目仿真開發(fā)有一個(gè)比較全面的了解,為以后進(jìn)行復(fù)雜項(xiàng)目的仿真打好基礎(chǔ)。
(1)創(chuàng)建數(shù)碼時(shí)鐘仿真電路
打開Proteus軟件,進(jìn)入ISIS仿真軟件界面。單擊元件列表區(qū)的P命令會(huì)彈出元器件選擇(Pick Devices)對話框,調(diào)入所需元件仿真庫。將電路中的所用元件從元器件庫中調(diào)出來,放到繪圖區(qū),布局并設(shè)置好參數(shù),然后連接導(dǎo)線,繪制完成的數(shù)碼時(shí)鐘仿真電路如圖1所示。
(2)軟件設(shè)計(jì)
本系統(tǒng)主要是使用單片機(jī)內(nèi)部計(jì)數(shù)定時(shí)器功能,需要將定時(shí)器/計(jì)數(shù)器工作方式寄存器TMOD工作方式選擇位設(shè)置為方式2;計(jì)數(shù)/定時(shí)方式選擇位設(shè)置為定時(shí)器工作方式。
利用軟件使定時(shí)器每100μs中斷一次,然后在中斷服務(wù)程序中,對中斷次數(shù)進(jìn)行統(tǒng)計(jì),每計(jì)數(shù)10000次即為1秒。同理,對秒進(jìn)行計(jì)數(shù)可分別得到分鐘和小時(shí)的數(shù)值,然后將得到的數(shù)據(jù)送入顯示緩沖區(qū)。
圖1 數(shù)碼時(shí)鐘仿真電路
主程序和中斷服務(wù)程序的流程圖如圖2所示。
圖2 主程序和中斷程序流程圖
把程序編譯成功后所得的HEX目標(biāo)文件與仿真電路進(jìn)行關(guān)聯(lián),就可以進(jìn)行系統(tǒng)的仿真。
利用Proteus軟件進(jìn)行仿真時(shí),可以根據(jù)系統(tǒng)要求設(shè)置為整體仿真運(yùn)行,也可以設(shè)置成單步或斷點(diǎn)仿真調(diào)試。在仿真進(jìn)行時(shí)對于連接到每個(gè)數(shù)字或混合網(wǎng)絡(luò)上的引腳,是用有色方塊顯示其工作狀態(tài):紅色表示高電平,藍(lán)色表示低電平,灰色表示浮空,黃色表示沖突[2](例如兩個(gè)器件同時(shí)向總線上傳送數(shù)據(jù))。用戶可以根據(jù)顏色來判斷每一步操作而產(chǎn)生的結(jié)果。
具體操作:在Proteus繪圖區(qū)中雙擊51單片機(jī)芯片,在出現(xiàn)的編輯對話框中的Program File項(xiàng)中加入上一步編譯成功的HEX文件后點(diǎn)擊OK按鈕加載。
再單擊仿真工具欄“運(yùn)行”按鈕,單片機(jī)全速運(yùn)行程序。單擊“調(diào)試”中的“Watch Windows”、“調(diào)試”中的“8051 CPU Registers”、“調(diào)試”中的“8051 CPU SFR Memory”、“調(diào)試”中的“8051 CPU Internal(IDATA)Memory”,可以分別打開觀察窗口、工作寄存器窗口、特殊功能寄存器窗口和片內(nèi)數(shù)據(jù)存儲(chǔ)器窗口。在仿真暫停時(shí)單擊“調(diào)試”中的“8051 CPU Source Code”,可以打開源代碼調(diào)試窗口。用戶可以根據(jù)自身需要選擇打開相應(yīng)的窗口來查看有關(guān)數(shù)據(jù)。
圖3所示即是數(shù)碼時(shí)鐘仿真電路運(yùn)行到4分51秒時(shí)的截圖,根據(jù)圖中電路的連接情況,可以判斷出此時(shí)在六個(gè)數(shù)碼管中只有第3個(gè)數(shù)碼管處于選中狀態(tài),其他5個(gè)數(shù)碼管沒有輸出數(shù)據(jù)。但由于片選的速度快加上人眼的視覺暫停[3],所以看起來像都在顯示一樣。
圖3 數(shù)碼時(shí)鐘電路仿真時(shí)的截圖
本文介紹了Proteus仿真軟件在對數(shù)碼時(shí)鐘控制系統(tǒng)開發(fā)時(shí)的仿真應(yīng)用。仿真結(jié)果表明該設(shè)計(jì)已達(dá)到理論設(shè)計(jì)要求,用戶可以利用Proteus中的ARES對設(shè)計(jì)電路圖進(jìn)行PCB板設(shè)計(jì)。在仿真設(shè)計(jì)時(shí),用戶除了可以直觀的看到外圍電路的工作情況,還可以觀察到在程序運(yùn)行時(shí)內(nèi)部寄存器和存儲(chǔ)器等內(nèi)容的變化,將原本抽象的內(nèi)容變得清晰明了。在掌握該軟件后,用戶可以大大縮短系統(tǒng)的開發(fā)周期并可提高自身的工程開發(fā)能力。
[1]蔡駿.單片機(jī)實(shí)驗(yàn)指導(dǎo)教程[M].合肥:安徽大學(xué)出版社,2008:21.
[2]周潤景.Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例[M].北京:電子工業(yè)出版社,2006:162.
[3]張靖武,周靈彬.單片機(jī)系統(tǒng)的Proteus設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2007:79.
Abstract:Proteus is an excellent EDA software and has powerful functions for combing Single-Chip computer and SPICE analysis in one.The main feature is that users can directly observe the process and results of program-running and circuit work in view of engineering application,which avoids the separation between experiments and practical application.
Key words:chip;simulation;system design;Proteus;program
責(zé)任編輯:澍斌
SIMULATION APPLICATION OF PROTEUS IN THE DESIGN OF CHIP SYSTEM
SHIHui
(Anhui Technical College of Water Resources and Hydroelectric Power,Hefei Anhui 230601)
TN43
A
1672-2868(2010)03-0073-03
2010-02-20
石惠(1976-),女,安徽桐城人。安徽水利水電職業(yè)技術(shù)學(xué)院講師,研究方向:單片機(jī)系統(tǒng)開發(fā)。