徐春燕+汪媛
【摘 要】本文首先介紹了Proteus 與Keil仿真軟件的特點(diǎn),然后以“矩陣式鍵盤控制數(shù)碼管顯示設(shè)計(jì)”為例介紹如何在Proteus與Keil軟件中構(gòu)建虛擬平臺(tái)進(jìn)行硬件電路和軟件代碼的仿真設(shè)計(jì)與調(diào)試,最后介紹單片機(jī)課程教學(xué)中如何引導(dǎo)并推進(jìn)學(xué)生學(xué)習(xí)應(yīng)用Proteus與Keil仿真調(diào)試,從而激發(fā)了學(xué)生濃厚的學(xué)習(xí)興趣,促進(jìn)了課程培養(yǎng)目標(biāo)以及專業(yè)核心能力的達(dá)成。
【關(guān)鍵詞】虛擬平臺(tái);仿真調(diào)試;培養(yǎng)目標(biāo);核心能力
一、引言
單片機(jī)課程是電氣工程及其自動(dòng)化專業(yè)、自動(dòng)化專業(yè)一門重要的技術(shù)類課,具有抽象、邏輯性強(qiáng)、實(shí)踐性強(qiáng)的特點(diǎn),學(xué)生要掌握好單片機(jī)原理及接口應(yīng)用技術(shù),具備小系統(tǒng)開(kāi)發(fā)能力,一定需要進(jìn)行硬件設(shè)計(jì)和軟件編程,并且需要進(jìn)行硬件和軟件調(diào)試,以調(diào)試結(jié)果來(lái)論證硬件方案和軟件程序的可行性與否。以武昌首義學(xué)院電氣工程及其自動(dòng)化專業(yè)為例的實(shí)際情況為:(1)單片機(jī)實(shí)訓(xùn)教學(xué)環(huán)節(jié)有:實(shí)驗(yàn)課、課外實(shí)踐作業(yè)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì);(2)目前單片機(jī)實(shí)驗(yàn)室硬件實(shí)訓(xùn)教學(xué)平臺(tái)為40套(我專業(yè)學(xué)生規(guī)模為:2012級(jí)學(xué)生為9個(gè)自然班、2013級(jí)學(xué)生均為9個(gè)自然班,2014級(jí)學(xué)生有8個(gè)自然班);(3)學(xué)生個(gè)人配備單片機(jī)實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)需200元人民幣左右;(4)④硬件設(shè)備跟新?lián)Q代以及元器件故障率會(huì)導(dǎo)致資金投入大;(5)⑤硬件設(shè)計(jì)方案變更會(huì)導(dǎo)致項(xiàng)目周期延長(zhǎng)以及硬件投入增大等。
基于以上問(wèn)題,課程組圍繞課程教學(xué)目標(biāo),以專業(yè)核心能力三(核心能力三:以PLC、單片機(jī)為核心的電氣控制系統(tǒng)的設(shè)計(jì)、應(yīng)用及維護(hù)能力)為導(dǎo)向,積極進(jìn)行教學(xué)研究與探索,在單片機(jī)教學(xué)中引導(dǎo)并推進(jìn)學(xué)生學(xué)用Proteus 與Keil仿真軟件整合構(gòu)建單片機(jī)虛擬實(shí)訓(xùn)室,進(jìn)而在虛擬平臺(tái)上開(kāi)展硬件和軟件仿真調(diào)試工作。
二、Proteus 與Keil軟件介紹
(一) Proteus 軟件介紹
Proteus是英國(guó)Labcenter公司開(kāi)發(fā)的電路仿真軟件,Proteus 軟件提供了 3O 多個(gè)元件庫(kù),數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。該軟件的仿真功能和調(diào)試程序的功能很強(qiáng)大。其特點(diǎn)有:(1)用戶可以實(shí)時(shí)采用 RAM,ROM,LED,LCD,鍵盤,A D/D A,部分SPI、I2C等資源;(2)可仿真5l系列、ARM 、PIC、AVR等常用主流單片機(jī);(3)可以直接在繪制的原理圖上,配合虛擬示波器、信號(hào)發(fā)生器、電流表、電壓表等器件,結(jié)合程序運(yùn)行后看到輸入輸出的效果 。此外,Proteus還具備以下功能:(1)原理布圖功能;(2)SPICE 電路仿真功能:(3)PCB自動(dòng)或人工布線功能。
(二) Keil軟件介紹
K eil軟件是目前最流行的單片機(jī)C語(yǔ)言開(kāi)發(fā)軟件,Keil軟件中能新建工程項(xiàng)目、編寫C語(yǔ)言程序、編譯及調(diào)試程序,有存儲(chǔ)器和變量觀察窗口等。Keil uVision4就是一款功能強(qiáng)大的51單片機(jī)C語(yǔ)言開(kāi)發(fā)利器,其開(kāi)發(fā)的程序無(wú)論是在功能上還是在可讀上都比C語(yǔ)言具有明顯的優(yōu)勢(shì),而且易用易學(xué),支持C編程+匯編編程混合編程,內(nèi)置豐富的函數(shù)庫(kù)。
三、虛擬實(shí)訓(xùn)平臺(tái)構(gòu)建
單片機(jī)控制系統(tǒng)是軟、硬件結(jié)合的應(yīng)用系統(tǒng),我們引導(dǎo)學(xué)生在電腦上學(xué)習(xí)Proteus和Keil仿真軟件,利用仿真優(yōu)勢(shì),構(gòu)建一個(gè)適合“教、學(xué)、做”一體化的單片機(jī)虛擬實(shí)訓(xùn)平臺(tái),下面以“矩陣式鍵盤控制數(shù)碼管顯示設(shè)計(jì)”課題為例講解虛擬實(shí)訓(xùn)平臺(tái)的構(gòu)建。
(一)硬件電路的設(shè)計(jì)、制作
第一步,運(yùn)行 Proteus 的ISIS 程序后,即進(jìn)入該仿真軟件的主界面,如圖1所示 ;第二步,通過(guò)主界面左下方P/L/DEVICES選項(xiàng) ,選擇并放置所需元器件并調(diào)整其相對(duì)位置,如圖2所示;第三步,對(duì)元器件進(jìn)行參數(shù)設(shè)置,并依據(jù)硬件設(shè)計(jì)方案完成元器件間連線,即完成硬件電路圖設(shè)計(jì),如圖3所示,之后,保存該文件(.DSN)。
(二)程序代碼(軟件)的編寫與調(diào)試
打開(kāi)Keil uVision軟件,第一步,依次完成“建立工程項(xiàng)目、選擇仿真單片機(jī)、編寫單片機(jī)C語(yǔ)言程序,添加文件到源代碼組,配置閃存工具、創(chuàng)建目標(biāo)文件、編譯當(dāng)前文件”等工作,若編譯結(jié)果顯示“0個(gè)錯(cuò)誤0個(gè)警告”,如圖4所示,則說(shuō)明所編寫的軟件代碼沒(méi)有語(yǔ)法錯(cuò)誤,可進(jìn)行第二步,反之,則需根據(jù)提示查找并解決軟件代碼語(yǔ)法問(wèn)題(或Keil uVision軟件設(shè)置類問(wèn)題);第二步,對(duì)軟件代碼進(jìn)行功能調(diào)試,對(duì)應(yīng)的重要功能菜單分別是“調(diào)試”和“視圖”,調(diào)試模式可以選擇的有“連續(xù)運(yùn)行、步進(jìn)、步越、運(yùn)行到光標(biāo)處、斷點(diǎn)運(yùn)行”等多種,調(diào)試過(guò)程中,為了跟蹤變量或觀察存儲(chǔ)器內(nèi)容的變化,可以打開(kāi)“監(jiān)視和調(diào)用堆棧窗口”和“存儲(chǔ)器窗口”進(jìn)行數(shù)據(jù)觀察,如圖5所示,根據(jù)觀察情況,做軟件代碼的修改或完善工作,完成軟件代碼所要達(dá)到的功能后,對(duì)應(yīng)生成.HEX文件并保存。
(三)硬件和軟件聯(lián)合調(diào)試
第一步,在ISIS軟件中打開(kāi)之前保存的.DSN文件;第二步,打開(kāi)菜單“源代碼-添加源代碼”,然后找到.HEX文件添加后點(diǎn)擊“確定”,如圖6所示;第三步,打開(kāi)“調(diào)試”菜單,選擇“開(kāi)始仿真”,仿真調(diào)試有多種模式可以選擇,若聯(lián)合調(diào)試成功,即可直觀看到課題要到達(dá)的效果,如圖7所示為仿真調(diào)試成功效果。
四、單片機(jī)仿真的引導(dǎo)與實(shí)踐
課程組在單片機(jī)課程教學(xué)中引導(dǎo)并推進(jìn)學(xué)生學(xué)習(xí)應(yīng)用Proteus 與Keil兩款軟件的步驟如下:
第一步,教師在課堂教學(xué)中介紹 Proteus 與Keil兩款軟件的特點(diǎn),讓學(xué)生建立它們可以幫助大家學(xué)好學(xué)通單片機(jī)課程的概念,同時(shí)在課堂教學(xué)中把Proteus 與Keil仿真設(shè)計(jì)案例演示給學(xué)生看,仿真設(shè)計(jì)案例演示使單片機(jī)控制應(yīng)用變得直觀和生動(dòng),大大激發(fā)了學(xué)生學(xué)習(xí)單片機(jī)的興趣。
第二步,推進(jìn)所有學(xué)生自主學(xué)習(xí)并熟練掌握Proteus 與Keil兩款仿真軟件的用法及聯(lián)合調(diào)試方法。具體實(shí)施細(xì)節(jié)為:(1)布置檢測(cè)測(cè)試題。要求學(xué)生4人左右自行分組交流討論學(xué)習(xí),3周后進(jìn)行驗(yàn)收。檢測(cè)測(cè)試題為教材P90中例【5-1】:設(shè)計(jì)一電路,監(jiān)視某開(kāi)關(guān)K,用發(fā)光二極管LED顯示開(kāi)關(guān)狀態(tài),如果開(kāi)關(guān)合上,LED亮;開(kāi)關(guān)打開(kāi),LED熄滅。圖8和圖9均為教材例題中已經(jīng)給出的硬件電路設(shè)計(jì)圖和軟件代碼;(2)抽查考核。3周后檢查學(xué)生測(cè)試題仿真作業(yè)完成情況。學(xué)生只要是認(rèn)真完成了該例題的仿真調(diào)試,就可說(shuō)明初步掌握了Proteus 與Keil兩款仿真軟件的基本用法及聯(lián)合調(diào)試方法,因?yàn)闇y(cè)試題是例題,均已給出了硬件設(shè)計(jì)方案和軟件代碼,所以完成測(cè)試題的工作主要是學(xué)習(xí)與掌握這兩款仿真軟件的基本用法及聯(lián)合調(diào)試方法。為了更好的了解學(xué)生掌握該軟件的基本用法及調(diào)試方法情況,教師利用課外時(shí)間抽查2/3學(xué)生進(jìn)行考核(如硬件中元器件的選取、放置、連線、設(shè)置以及軟件中項(xiàng)目工程的建立、語(yǔ)法調(diào)試和功能調(diào)試方法等等),考核成績(jī)重比例計(jì)入平時(shí)成績(jī); (3)翻轉(zhuǎn)課堂教學(xué)課。在學(xué)生能用 Proteus 與Keil完成仿真測(cè)試題后,單片機(jī)教學(xué)中布置的所有課后作業(yè)均要求學(xué)生進(jìn)行仿真調(diào)試,并將調(diào)試成功后的作業(yè)發(fā)送給任課教師檢查。學(xué)生在完成這些仿真作業(yè)的過(guò)程中會(huì)碰到較多問(wèn)題,他們會(huì)以與同學(xué)交流、查資料、網(wǎng)上求助等多種方式解決,當(dāng)然學(xué)生學(xué)習(xí)能力的差異會(huì)導(dǎo)致仿真作業(yè)的完成順利與否情況。針對(duì)此差異,在仿真作業(yè)完成了3~4道題左右,教師根據(jù)與學(xué)生的交流及他們提交的仿真作業(yè)完成情況,選取并通知了3~5名學(xué)生做好準(zhǔn)備講習(xí)題,習(xí)題課時(shí)間總共為2節(jié)課,以翻轉(zhuǎn)課堂形式開(kāi)展。預(yù)先做好準(zhǔn)備的學(xué)生需備課充分,從“軟件基本應(yīng)用與調(diào)試方法”、“習(xí)題解題與設(shè)計(jì)思路”、“調(diào)試常見(jiàn)問(wèn)題匯總與解決”等方面為臺(tái)下同學(xué)展開(kāi)講解,教師和臺(tái)下同學(xué)均認(rèn)真聽(tīng)講,積極思考并向臺(tái)上同學(xué)提問(wèn)。經(jīng)實(shí)踐,該措施對(duì)“推進(jìn)大面積學(xué)生掌握Proteus 與Keil的應(yīng)用與調(diào)試方法”取得的效果非常好。
有了第一步和第二步的實(shí)踐,學(xué)生掌握了Proteus 與Keil的應(yīng)用與調(diào)試后,可以利用 Proteus 與Keil仿真調(diào)試環(huán)境,來(lái)驗(yàn)證設(shè)計(jì)方案的可行性,在仿真調(diào)試成功的基礎(chǔ)上,覺(jué)得有必要時(shí),再搭建實(shí)物電路進(jìn)行調(diào)試,這樣可以減少硬件設(shè)計(jì)過(guò)程中浪費(fèi)。
五、結(jié)束語(yǔ)
武昌首義學(xué)院電氣工程及其自動(dòng)化12級(jí)、13級(jí)、14級(jí)學(xué)生實(shí)踐證明,Proteus與Keil仿真調(diào)試手段的應(yīng)用,使大部分學(xué)生對(duì)單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)有一個(gè)完整性的認(rèn)識(shí)和掌握,對(duì)單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)產(chǎn)生了濃厚的學(xué)習(xí)興趣,學(xué)生在課題拓展、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、電賽實(shí)訓(xùn)等環(huán)節(jié)中用仿真調(diào)試縮短了開(kāi)發(fā)周期、減少了元器件的損耗,尤其在硬件平臺(tái)不夠或硬件投入跟不上的情況下、該仿真調(diào)試手段促進(jìn)了課程培養(yǎng)目標(biāo)以及專業(yè)核心能力的達(dá)成。當(dāng)然,軟件仿真并不能達(dá)到與實(shí)際硬件完全一致的情況,也不考慮實(shí)際應(yīng)用中存在元器件參數(shù)的分散性、誤差和干擾等現(xiàn)象,這需要學(xué)生在實(shí)物試驗(yàn)中去進(jìn)一步體會(huì)和掌握。
參考文獻(xiàn):
[1]李群芳,肖看,張士軍. 單片機(jī)微型計(jì)算機(jī)與接口技術(shù)[M]. 北京:電子工業(yè)出版社,2012.
[2]徐愛(ài)鈞. 單片機(jī)原理與應(yīng)用:基于Proteus虛擬仿真技術(shù)[M].北京:機(jī)械工業(yè)出版社,2010.
[3]劉 丹.Protues與K eil聯(lián)合仿真在單片機(jī)教學(xué)中的應(yīng)用[J].科教導(dǎo)刊.2013.(8):120-121.
[4] 趙巧妮.Proteus在單片機(jī)仿真中的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用 ,2009 (6 ) :113 一l14.
作者簡(jiǎn)介:
徐春燕:1978年出生、女、漢族、湖北鄂州、武昌首義學(xué)院、副教授、研究生。
汪媛: 1982年出生、女、漢族、湖北武漢、武昌首義學(xué)院、講師、研究生。endprint