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