吳葉蘭 段振剛 喬繼紅 蘇維均
摘要:Proteus仿真軟件為單片機(jī)實(shí)驗(yàn)教學(xué)提出一條仿真教學(xué)的新思路。本文通過實(shí)例介紹采用Proteus的仿真設(shè)計(jì),給出硬件原理圖、軟件流程圖和運(yùn)行結(jié)果。實(shí)驗(yàn)結(jié)果證明,與傳統(tǒng)方法相比,Proteus仿真形象直觀,節(jié)約成本,適合單片機(jī)課程教學(xué)。
關(guān)鍵詞:Proteus軟件;仿真軟件;單片機(jī)實(shí)驗(yàn)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
“單片機(jī)原理與應(yīng)用課程”是電氣與自動(dòng)化、電子技術(shù)和信息工程等專業(yè)的主干專業(yè)課,是一門實(shí)踐性很強(qiáng)的課程,其實(shí)踐教學(xué)占有重要地位。目前,單片機(jī)的實(shí)驗(yàn)大多在現(xiàn)成的實(shí)驗(yàn)箱上完成,由于這些實(shí)驗(yàn)設(shè)備昂貴,維護(hù)工作量大,學(xué)生除上課外,平時(shí)很難有機(jī)會(huì)實(shí)踐;而要想使學(xué)生學(xué)習(xí)好本課程,又必須給他們提供相應(yīng)的軟硬件環(huán)境,這就形成了矛盾。Proteus仿真軟件正好可以解決這一矛盾。它用軟件方式來模擬硬件系統(tǒng),提供了豐富的元件庫,支持匯編語言和C語言,學(xué)生不需要硬件支持就能在計(jì)算機(jī)上模擬單片機(jī)實(shí)驗(yàn),解決了設(shè)備場地等問題,降低了實(shí)驗(yàn)成本,為學(xué)生自主實(shí)驗(yàn)提供了條件。
應(yīng)用Proteus仿真軟件可以使單片機(jī)課程的實(shí)踐教學(xué)和理論教學(xué)完全同步,調(diào)動(dòng)學(xué)生學(xué)習(xí)本課程的積極性,有利于教學(xué)質(zhì)量的提高。本文論述了以Proteus為核心的單片機(jī)課程仿真實(shí)驗(yàn)的設(shè)計(jì)。
1Proteus仿真軟件簡介
Proteus軟件是英國Labcenter Electronics公司開發(fā)的EDA工具軟件。和同類軟件相比,Proteus更易操作,功能更強(qiáng)大。該軟件的特點(diǎn)是集單片機(jī)和SPICE分析于一身的仿真軟件。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)仿真等。提供了大量的仿真元件和設(shè)備,包括各種單片機(jī)、常用邏輯電路和調(diào)試工具。如示波器、邏輯分析儀、串口終端、信號(hào)發(fā)生器等各種測試儀器;模擬儀表、數(shù)字儀表、噪聲與失真信號(hào)顯示器等各種顯示設(shè)備;示波器、邏輯分析儀、信號(hào)發(fā)生器等各種虛擬儀器。
支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、ARM7等。
提供軟件調(diào)試功能。支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2 等軟件。具有強(qiáng)大的原理圖繪制功能。
2Proteus軟件仿真實(shí)驗(yàn)的特點(diǎn)
現(xiàn)有的單片機(jī)實(shí)驗(yàn)教學(xué)環(huán)節(jié)通常包括兩個(gè)部分:課內(nèi)實(shí)驗(yàn)和課程設(shè)計(jì)。其中課內(nèi)實(shí)驗(yàn)設(shè)計(jì)為10個(gè)左右,主要包括:基本的指令系統(tǒng)實(shí)驗(yàn),匯編程序設(shè)計(jì)實(shí)驗(yàn),定時(shí)/計(jì)數(shù)器實(shí)驗(yàn),中斷實(shí)驗(yàn),基本I/O口實(shí)驗(yàn),并口擴(kuò)展實(shí)驗(yàn),串口實(shí)驗(yàn),鍵盤和LED顯示實(shí)驗(yàn),A/D和D/A實(shí)驗(yàn)等,所有這些實(shí)驗(yàn)都是在51實(shí)驗(yàn)箱上完成。
由于硬件實(shí)驗(yàn)箱的結(jié)構(gòu)固定,資源有限,學(xué)生在做實(shí)驗(yàn)時(shí)雖然可以直觀的看到各種元器件,并能做一些連線,但對(duì)單片機(jī)的系統(tǒng)設(shè)計(jì)沒有概念,無法將所學(xué)的知識(shí)融會(huì)貫通。所以到課程設(shè)計(jì)階段,很多學(xué)生無法完成綜合性實(shí)驗(yàn)。采用Proteus軟件仿真可以彌補(bǔ)硬件實(shí)驗(yàn)的不足。首先,以上所有硬件實(shí)驗(yàn)都可以事先在Proteus仿真軟件上完成。由于仿真需要學(xué)生完成原理圖的設(shè)計(jì),所以該過程可以幫助學(xué)生建立起系統(tǒng)的概念,為綜合設(shè)計(jì)做準(zhǔn)備。其次,在Proteus仿真軟件實(shí)驗(yàn)的設(shè)計(jì)中,很多模塊的設(shè)計(jì)具有共性,學(xué)生在完成一個(gè)實(shí)驗(yàn)設(shè)計(jì)后,往往能舉一反三進(jìn)行類似的設(shè)計(jì),把重點(diǎn)放在新模塊的設(shè)計(jì)上,縮短了實(shí)驗(yàn)周期。第三,Proteus提供了豐富的仿真工具,包括探針、多種激勵(lì)源、虛擬儀器和曲線圖表等,這是硬件實(shí)驗(yàn)箱所不具備的,豐富了學(xué)生使用虛擬儀器和圖表分析的知識(shí)。表1列出了Proteus仿真軟件在設(shè)計(jì)一些典型實(shí)驗(yàn)時(shí)的相同和不同之處。
3單片機(jī)實(shí)驗(yàn)Proteus仿真設(shè)計(jì)
下面通過實(shí)例說明如何使用Proteus實(shí)現(xiàn)單片機(jī)實(shí)驗(yàn)的設(shè)計(jì)與仿真。
3.1實(shí)現(xiàn)功能
設(shè)計(jì)一個(gè)電子密碼鎖。要求實(shí)現(xiàn)單片機(jī)最小系統(tǒng);輸入接口有0~9數(shù)字鍵、ENTER鍵、刪除鍵;輸出接口有8位數(shù)碼管構(gòu)成顯示電路,蜂鳴器輸出報(bào)警信息。
初始狀態(tài)顯示“PE”,輸入最大6位數(shù)的密碼。當(dāng)密碼輸入完后,按下ENTER鍵,進(jìn)行密碼比較,并給出相應(yīng)的提示信息。在輸入密碼過程中,顯示器只顯示“—”。當(dāng)數(shù)字輸入超過六個(gè)時(shí),給出報(bào)警信息。在密碼輸入過程中,若輸入錯(cuò)誤,可以利用“CLR”鍵刪除剛才輸入的錯(cuò)誤數(shù)字。若密碼正確,則開鎖,用LED放光二極管1s作為提示;若密碼不正確,三秒內(nèi)禁止按鍵,同時(shí)發(fā)出“嘀、嘀”報(bào)警聲。
3.2電路設(shè)計(jì)
Proteus在繪制原理圖時(shí)與PROTEL、EWB等軟件相似,都要完成從軟件包的器件庫里取出所需的元件符號(hào),在繪圖區(qū)進(jìn)行布局,編輯好元件的參數(shù),連線并添加必要的網(wǎng)絡(luò)標(biāo)號(hào)等步驟。
3.2.1文件建立
按照設(shè)計(jì)要求,列出所需的元器件清單,如表2所示。根據(jù)清單,在繪圖區(qū)進(jìn)行布局,將元件庫中的芯片模型添加進(jìn)元件列表中,將所需的元件一一列出進(jìn)行電路設(shè)計(jì)。
3.2.2硬件原理圖
為了實(shí)現(xiàn)電子密碼鎖功能,從硬件設(shè)計(jì)上可分為CPU,復(fù)位電路,時(shí)鐘電路,鍵盤輸入模塊和LED顯示模塊等部分。其硬件原理圖如圖1所示。
本設(shè)計(jì)中CPU采用的是AT89C51,其四個(gè)并口分別實(shí)現(xiàn)不同的功能。P0口是數(shù)據(jù)口,數(shù)據(jù)經(jīng)74LS245驅(qū)動(dòng)后接LED的8個(gè)段碼;P2是地址口,分別與8個(gè)LED的位碼相連;P3口做通用I/O口和鍵盤相連,其中P3.0~P3.3提供行線,P3.4~P3.7提供列線,共提供12個(gè)鍵碼;P1口占用了2根I/O口線,P1.0輸出一個(gè)開關(guān)量開鎖,此處用發(fā)光二極管模擬;P1.7控制蜂鳴器,作為報(bào)警信號(hào)。時(shí)鐘電路由XLAT1、XLAT2構(gòu)成,晶振頻率為12MHz。復(fù)位電路由RST生成。
數(shù)碼管選用的是Proteus元件庫中的標(biāo)準(zhǔn)數(shù)碼管,是7段共陰藍(lán)色數(shù)碼管,其中段碼接74LS245的輸出端,高電平有效;位碼接P2口,低電平有效。
3.3軟件設(shè)計(jì)
程序總體結(jié)構(gòu)采用的是查詢方式,通過不斷的查詢鍵值輸入來判斷密碼的正確與否。程序設(shè)計(jì)了12個(gè)鍵值,分別是0~9十個(gè)數(shù)字鍵,ENTER確認(rèn)鍵,CLR清除鍵。程序初始化時(shí)要設(shè)置初始密碼,之后就等待鍵的輸入。如果首次輸入的是CLR鍵或ENTER鍵,發(fā)出報(bào)警信息;每輸入一個(gè)鍵,保存鍵值并左移一位;當(dāng)6位鍵值輸完,按ENTER鍵,進(jìn)行密碼比較,正確則P1.0輸出一個(gè)高電平信號(hào),錯(cuò)誤則顯示錯(cuò)誤提示信息,并發(fā)出報(bào)警信號(hào)。流程如圖2所示。
4仿真運(yùn)行
程序編制完成后,可進(jìn)行仿真運(yùn)行。這里采用的是KEIL和Proteus的聯(lián)合調(diào)用方式。方法是打開KEIL,調(diào)出工程文件,在PROJECT選項(xiàng)下打開Options for target,找到DEBUG選項(xiàng),選中Proteus項(xiàng),保證“use remote debug monitor”項(xiàng)被選中,然后編譯調(diào)試程序。調(diào)試時(shí)可利用各種單步調(diào)試命令或斷點(diǎn)命令執(zhí)行源代碼窗口的程序,并隨時(shí)通過CPU的各種窗口,如寄存器、變量窗口等觀察程序每指令執(zhí)行是否正常。若有問題,可在源代碼窗口中隨時(shí)修改。
調(diào)試完成后運(yùn)行程序,可看到密碼鎖的運(yùn)行結(jié)果,如圖3所示。當(dāng)有鍵值輸入時(shí),LED顯示密碼“—”,輸入正確時(shí),發(fā)光二極管亮;輸入錯(cuò)誤時(shí),LED顯示錯(cuò)誤信息并發(fā)出報(bào)警提示。
5結(jié)論
Proteus仿真軟件為單片機(jī)課程實(shí)驗(yàn)的改革和創(chuàng)新提供了平臺(tái)。它不存在原材料消耗和儀器件損壞等問題,豐富的元器件和儀器庫等資源不僅可以幫助學(xué)生更快、更好地掌握單片機(jī)的基本概念和原理,也使學(xué)生的綜合設(shè)計(jì)能力和創(chuàng)新能力得到了培養(yǎng),這是傳統(tǒng)實(shí)驗(yàn)教學(xué)無法做到的。相信Proteus仿真軟件在教學(xué)中的廣泛應(yīng)用,會(huì)使單片機(jī)課程的教學(xué)質(zhì)量上一個(gè)新臺(tái)階。本文的工作得到天津大學(xué)“本科實(shí)驗(yàn)教學(xué)改革與研究”項(xiàng)目的支持,在此表示感謝。
參考文獻(xiàn):
[1] 任琴,陳振威.淺談Proteus軟件與實(shí)踐教學(xué)[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2007(17):1477-1478.
[2] 袁鋒偉,趙立宏,朱慧玲,等.基于Proteus的單片機(jī)課程教學(xué)與實(shí)驗(yàn)改革[J].實(shí)驗(yàn)室研究與探索,2007,26(12):75-78.
[3] 張靖武,周靈彬. 單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真[M]. 北京:電子工業(yè)出版社,2007.
[4] 李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)(修訂本)[M]. 北京:北京航空航天大學(xué)出版社,2001.
The Application of Proteus Simulation Software in Single-chip Experiment Teaching
WU Ye-lan, DUAN Zhen-gang, QIAO Ji-hong, SU Wei-jun
(Computer & Information Engineering College, Beijing Technology and Business University, Beijing 100048, China)
Abstract: Proteus simulation software provides a new method of simulation teaching for single-chip experiments. The paper introduces a simulation design of 51 single-chip and its peripherals by Proteus. Hardware principal diagram、software flow chart and execution result are given. The test result shows that compared with traditional test method, Proteus simulation is live and intuitionist and cost saving. It suits to single-chip experiment teaching.
Key words: Proteus software; simulation software; single-chip experiment