黃 貞 李俊雄 周朱武
摘要 首先分析傳統(tǒng)單片機(jī)實(shí)驗(yàn)中存在的諸多問題,如實(shí)驗(yàn)設(shè)備費(fèi)用高、實(shí)驗(yàn)內(nèi)容呆板、缺乏靈活性、設(shè)備難維護(hù)等,提出利用Proteus軟件來進(jìn)行單片機(jī)仿真實(shí)驗(yàn)教學(xué)。設(shè)計(jì)并介紹一個(gè)典型的實(shí)例程序,表明利用Proteus仿真單片機(jī)實(shí)驗(yàn)系統(tǒng)具有搭建簡單、仿真過程直觀、操作靈活、成本低等特點(diǎn),為單片機(jī)教學(xué)提供一個(gè)良好的實(shí)驗(yàn)平臺(tái)。
關(guān)鍵詞 仿真實(shí)驗(yàn);單片機(jī);Proteus
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1671-489X(2009)09-0057-03
Application of Proteus on Experiment Teaching of MCU//Huang Zhen, Li Junxiong, Zhou Zhuwu
Abstract This paper first analyzes on the problem of experiment teaching of MCU, such as high cost of experiment equipments, poverty of content, lack of flexibility and hard maintenance. And then this paper puts forward to use Proteus on experiment teaching of MCU. In order to speak volumes for its merit and practicability, a typical example is designed and introduced. The application of Proteus on simulation for experiment teaching of MCU can reduce cost, enrich the experiment contents. Additionally, it is simple and flexible to operation, and provides a good platform for teaching of MCU.
Key words simulation experiments;MCU;Proteus
Authors address
1 Physics Science and Technology School, Zhanjiang Normal University, Zhanjiang, Guangdong 524048
2 Department of Mathematics, HuaZhou NO.1 High School, HuaZhou, Guangdong 525100
隨著嵌入式系統(tǒng)技術(shù)的迅速發(fā)展,單片機(jī)技術(shù)已經(jīng)廣泛地應(yīng)用到工業(yè)控制、醫(yī)療儀器、信息家電、通信設(shè)備等眾多領(lǐng)域。為了滿足社會(huì)的需要,國內(nèi)各院校都將單片機(jī)原理及應(yīng)用作為工科學(xué)生的必修課程。該課程是一門理論和實(shí)踐結(jié)合性很強(qiáng)的課程,在教學(xué)過程中必須軟硬件結(jié)合,理論學(xué)習(xí)和實(shí)驗(yàn)動(dòng)手相結(jié)合。為了滿足學(xué)生動(dòng)手實(shí)驗(yàn)要求,目前在傳統(tǒng)教學(xué)中大多采用硬件仿真與實(shí)驗(yàn)箱或?qū)嶒?yàn)板來配置實(shí)驗(yàn)設(shè)備,也就出現(xiàn)了采購量大、費(fèi)用高、實(shí)驗(yàn)方案更因難、設(shè)備維護(hù)復(fù)雜等弊端。Labcenter公司推出的Proteus是一種混合電路仿真工具,其最大的特點(diǎn)在于能夠?qū)崿F(xiàn)單片機(jī)及外圍電路組成的系統(tǒng)仿真(Proteus6.0中的ISI幫助文件),將該軟件引入單片機(jī)實(shí)驗(yàn)中,能夠較好地解決傳統(tǒng)教學(xué)中存在的弊端,而且可以增強(qiáng)實(shí)驗(yàn)驗(yàn)證的隨時(shí)性,使學(xué)生進(jìn)一步理解單片機(jī)的應(yīng)用,大大提高教學(xué)效果。
1 傳統(tǒng)單片機(jī)實(shí)驗(yàn)教學(xué)中存在的弊端
1.1 實(shí)驗(yàn)設(shè)備的經(jīng)費(fèi)問題實(shí)驗(yàn)設(shè)備的經(jīng)費(fèi)高。目前大多數(shù)單片機(jī)實(shí)驗(yàn)都是利用已做好的實(shí)驗(yàn)箱,然后根據(jù)其提供的實(shí)驗(yàn)教材進(jìn)行實(shí)驗(yàn)。這些實(shí)驗(yàn)設(shè)備價(jià)格一般都比較高,而且基本上學(xué)生每次使用的都是同一套硬件。但單片機(jī)的種類繁多,為使學(xué)生接觸較多的單片機(jī)芯片,就必須購買多套實(shí)驗(yàn)設(shè)備,這無疑增加了實(shí)驗(yàn)設(shè)備的經(jīng)費(fèi)。
1.2 實(shí)驗(yàn)內(nèi)容呆板、缺乏靈活性由于單片機(jī)實(shí)驗(yàn)多利用實(shí)驗(yàn)箱進(jìn)行,實(shí)驗(yàn)受到實(shí)驗(yàn)箱硬件條件限制,因此實(shí)驗(yàn)內(nèi)容固定,學(xué)生進(jìn)行實(shí)驗(yàn)只是一些驗(yàn)證性實(shí)驗(yàn),對(duì)于一些諸如數(shù)據(jù)傳送等操作型的基本實(shí)驗(yàn),一些面向外圍設(shè)備控制的實(shí)驗(yàn)無法開出,缺乏靈活性。
1.3 實(shí)驗(yàn)學(xué)時(shí)受限學(xué)生課內(nèi)實(shí)驗(yàn)時(shí)數(shù)有限,平時(shí)難有機(jī)會(huì)實(shí)踐,如讓學(xué)生個(gè)人配備單片機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng),或是自行設(shè)計(jì)實(shí)驗(yàn)電路與制作電路板,則需要花費(fèi)大量的時(shí)間和必要的資金投入,很多學(xué)生無法承受。這些都在一定程度上限制了學(xué)生動(dòng)手能力的提高,影響了學(xué)生的積極性和創(chuàng)新性[1]。
1.4 實(shí)驗(yàn)儀器的損耗與維護(hù)實(shí)驗(yàn)過程若稍有不慎,就可能損壞仿真頭等硬件設(shè)備[2];如果用燒錄器寫程序的方法來驗(yàn)證實(shí)驗(yàn)結(jié)果,由于多次插、拔芯片,既易損芯片,且效率低、教學(xué)效果不佳。同時(shí)由于實(shí)驗(yàn)過程中需要用到的儀器較多,如計(jì)算機(jī)、電源、燒錄器等,造成設(shè)備維護(hù)工作量大等問題。
針對(duì)上述弊端,本文利用Proteus仿真軟件,設(shè)計(jì)單片機(jī)仿真實(shí)驗(yàn)系統(tǒng),既減少硬件投入和設(shè)備維護(hù)量,還可以調(diào)試單片機(jī)程序,仿真單片機(jī)外圍器件的工作情況,為學(xué)生提供豐富的實(shí)驗(yàn)內(nèi)容。
2 Proteus軟件簡介
Proteus是由英國Labcenter electronics公司開發(fā)的EDA工具軟件,該軟件除了具有和其他EDA工具一樣的電路仿真(模擬電路、數(shù)字電路以及數(shù)模混合電路仿真)等功能外,其最大的特點(diǎn)是51系列、AVR系列、PIC、ARM系列等微處理器、微控制器連同外圍器件一起仿真。同時(shí)還支持PLC、匯編和C語言的程序設(shè)計(jì),使得在程序調(diào)試、系統(tǒng)仿真時(shí),不僅能觀察到程序執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器等內(nèi)容變化,而且從工程的角度直觀地看到外圍電路的工作情況,非常接近工程應(yīng)用。
該軟件有比較豐富的元器件模型,特別是在單片機(jī)系統(tǒng)設(shè)計(jì)中常用的外圍器件,如總線驅(qū)動(dòng)器74LS373、可編程外圍定時(shí)器8253、并行接口8255、LCD模塊、多種D/A和A/D轉(zhuǎn)換器等都可直接調(diào)用。這為建立基于Proteus仿真軟件的單片機(jī)實(shí)驗(yàn)系統(tǒng)提供了強(qiáng)大的器件資源。
3 Proteus仿真單片機(jī)實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)實(shí)例
根據(jù)單片機(jī)實(shí)驗(yàn)教學(xué)大綱要求,在51單片機(jī)學(xué)習(xí)的基礎(chǔ)實(shí)驗(yàn)中主要掌握單片機(jī)指令系統(tǒng)、I/O口、中斷,定時(shí)器及串行口[3]。根據(jù)這些要求,本文以走馬燈為例設(shè)計(jì)實(shí)驗(yàn)實(shí)例。如圖1所示,本實(shí)例采用AT89C52單片機(jī),實(shí)驗(yàn)電路包括時(shí)鐘和復(fù)位電路(在Proteus中可省略)、16只LED燈顯示電路、7段數(shù)碼管顯示電路及按鍵控制電路。通過掃描3個(gè)按鍵(模式鍵、加速鍵和減速鍵)的狀態(tài)來控制16只LED燈的點(diǎn)亮模式及點(diǎn)亮速度。共有7種點(diǎn)亮模式,模式序號(hào)由一只7段數(shù)碼管指示。各種模式下LED燈點(diǎn)亮狀態(tài)如表1。
在主程序中實(shí)現(xiàn)按鍵的掃描,確認(rèn)3個(gè)按鍵的按下狀態(tài),及16只LED燈與數(shù)碼管的顯示。LED燈的點(diǎn)亮或熄滅速度由定時(shí)器2定時(shí)中斷確定,采用軟件查詢方法確定走馬燈的速度。程序中的主程序、中斷服務(wù)子程序及按鍵掃描子程序流程如圖2~圖4所示。
按上述流程圖編寫走馬燈控制程序,加入到實(shí)驗(yàn)系統(tǒng)中,作為單片機(jī)的源程序。啟動(dòng)調(diào)動(dòng)功能,利用Proteus提供的單步調(diào)試命令(Step Over、Step Into、Step Out、Step To)和斷點(diǎn)命令執(zhí)行源代碼窗口的程序,并隨時(shí)通過CPU的各種窗口(變量觀察窗口、寄存器窗口、專用寄存器窗口、內(nèi)部數(shù)據(jù)存儲(chǔ)器窗口等)觀察程序每一指令執(zhí)行是否正常。若有問題,可在源代碼窗口中隨時(shí)修改。
程序調(diào)試完成后直接運(yùn)行,可看到16只LED燈的走馬燈效果。通過這個(gè)仿真可以直觀地看到按鍵對(duì)程序的控制、走馬燈運(yùn)行的結(jié)果,效果非常好。本實(shí)例中用到了單片機(jī)的I/O、定時(shí)器中斷等硬件功能,同時(shí)涉及到軟件查詢定時(shí)、中斷程序、按鍵控制、數(shù)碼管動(dòng)態(tài)顯示等主要程序的設(shè)計(jì)方法。通過本實(shí)例可使學(xué)生掌握單片機(jī)基礎(chǔ)的主要內(nèi)容。
4 結(jié)論
將Proteus軟件引入單片機(jī)實(shí)驗(yàn)教學(xué),輔助傳統(tǒng)實(shí)驗(yàn)教學(xué),是教學(xué)方法的一種改革。通過構(gòu)建基于Proteus的仿真單片機(jī)實(shí)驗(yàn)系統(tǒng),能夠很好地解決傳統(tǒng)單片機(jī)實(shí)驗(yàn)教學(xué)中存在的實(shí)驗(yàn)設(shè)備經(jīng)費(fèi)投入大、實(shí)驗(yàn)內(nèi)容呆板、缺乏靈活性、實(shí)驗(yàn)儀器設(shè)備損耗大與維護(hù)工作量大等弊端。而且由于其仿真過程直觀,操作靈活,易調(diào)動(dòng)學(xué)生的積極性和主動(dòng)性,必將收到良好的教學(xué)效果,為單片機(jī)教學(xué)提供了一個(gè)良好的實(shí)驗(yàn)平臺(tái)。
參考文獻(xiàn)
[1]沙春芳.Proteus VSM在單片機(jī)系統(tǒng)仿真中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2004(24):110-112
[2]劉心紅,郭福田,孫振興,曾麗麗.Proteus仿真技術(shù)在單片機(jī)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)技術(shù)與管理,2007,24(3):96-98
[3]吳金戌,沈慶陽,郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用[M].北京:清華大學(xué)出版社,2002:10-15