石惠
(安徽水利水電職業(yè)技術學院,安徽合肥230601)
Proteus在單片機系統(tǒng)設計中的仿真應用
石惠
(安徽水利水電職業(yè)技術學院,安徽合肥230601)
Proteus是一款優(yōu)秀的EDA工具軟件,集單片機和SPICE分析于一身,功能極其強大。最主要的特點是用戶可以從工程應用的角度直接觀察程序運行和電路工作的過程與結(jié)果。避免了實驗和實際應用間脫節(jié)的現(xiàn)象。
單片機;仿真;系統(tǒng)設計;Proteus;程序
Proteus是一款電路分析與實物仿真軟件,由Labcenter electronics公司開發(fā),主要由ARES和ISIS兩個程序組成[1]。前者用于PCB布線及其電路仿真,后者主要采用原理布圖的方法繪制電路并進行仿真。Proteus最大的特點是不僅能仿真單片機的工作情況,也能仿真單片機系統(tǒng)外圍電路或其它電路的工作情況。在開發(fā)單片機系統(tǒng)時,我們可以利用其強大的仿真功能避免實驗和實際工程應用間的脫節(jié)問題。
以51系列單片機制作數(shù)碼時鐘為例進行設計,數(shù)碼時鐘的顯示格式如XX.XX.XX所示。通過本設計讓初學者對Proteus在單片機項目仿真開發(fā)有一個比較全面的了解,為以后進行復雜項目的仿真打好基礎。
(1)創(chuàng)建數(shù)碼時鐘仿真電路
打開Proteus軟件,進入ISIS仿真軟件界面。單擊元件列表區(qū)的P命令會彈出元器件選擇(Pick Devices)對話框,調(diào)入所需元件仿真庫。將電路中的所用元件從元器件庫中調(diào)出來,放到繪圖區(qū),布局并設置好參數(shù),然后連接導線,繪制完成的數(shù)碼時鐘仿真電路如圖1所示。
(2)軟件設計
本系統(tǒng)主要是使用單片機內(nèi)部計數(shù)定時器功能,需要將定時器/計數(shù)器工作方式寄存器TMOD工作方式選擇位設置為方式2;計數(shù)/定時方式選擇位設置為定時器工作方式。
利用軟件使定時器每100μs中斷一次,然后在中斷服務程序中,對中斷次數(shù)進行統(tǒng)計,每計數(shù)10000次即為1秒。同理,對秒進行計數(shù)可分別得到分鐘和小時的數(shù)值,然后將得到的數(shù)據(jù)送入顯示緩沖區(qū)。
圖1 數(shù)碼時鐘仿真電路
主程序和中斷服務程序的流程圖如圖2所示。
圖2 主程序和中斷程序流程圖
把程序編譯成功后所得的HEX目標文件與仿真電路進行關聯(lián),就可以進行系統(tǒng)的仿真。
利用Proteus軟件進行仿真時,可以根據(jù)系統(tǒng)要求設置為整體仿真運行,也可以設置成單步或斷點仿真調(diào)試。在仿真進行時對于連接到每個數(shù)字或混合網(wǎng)絡上的引腳,是用有色方塊顯示其工作狀態(tài):紅色表示高電平,藍色表示低電平,灰色表示浮空,黃色表示沖突[2](例如兩個器件同時向總線上傳送數(shù)據(jù))。用戶可以根據(jù)顏色來判斷每一步操作而產(chǎn)生的結(jié)果。
具體操作:在Proteus繪圖區(qū)中雙擊51單片機芯片,在出現(xiàn)的編輯對話框中的Program File項中加入上一步編譯成功的HEX文件后點擊OK按鈕加載。
再單擊仿真工具欄“運行”按鈕,單片機全速運行程序。單擊“調(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ù)存儲器窗口。在仿真暫停時單擊“調(diào)試”中的“8051 CPU Source Code”,可以打開源代碼調(diào)試窗口。用戶可以根據(jù)自身需要選擇打開相應的窗口來查看有關數(shù)據(jù)。
圖3所示即是數(shù)碼時鐘仿真電路運行到4分51秒時的截圖,根據(jù)圖中電路的連接情況,可以判斷出此時在六個數(shù)碼管中只有第3個數(shù)碼管處于選中狀態(tài),其他5個數(shù)碼管沒有輸出數(shù)據(jù)。但由于片選的速度快加上人眼的視覺暫停[3],所以看起來像都在顯示一樣。
圖3 數(shù)碼時鐘電路仿真時的截圖
本文介紹了Proteus仿真軟件在對數(shù)碼時鐘控制系統(tǒng)開發(fā)時的仿真應用。仿真結(jié)果表明該設計已達到理論設計要求,用戶可以利用Proteus中的ARES對設計電路圖進行PCB板設計。在仿真設計時,用戶除了可以直觀的看到外圍電路的工作情況,還可以觀察到在程序運行時內(nèi)部寄存器和存儲器等內(nèi)容的變化,將原本抽象的內(nèi)容變得清晰明了。在掌握該軟件后,用戶可以大大縮短系統(tǒng)的開發(fā)周期并可提高自身的工程開發(fā)能力。
[1]蔡駿.單片機實驗指導教程[M].合肥:安徽大學出版社,2008:21.
[2]周潤景.Proteus在MCS-51&ARM7系統(tǒng)中的應用百例[M].北京:電子工業(yè)出版社,2006:162.
[3]張靖武,周靈彬.單片機系統(tǒng)的Proteus設計與仿真[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
責任編輯:澍斌
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è)技術學院講師,研究方向:單片機系統(tǒng)開發(fā)。