徐春燕+汪媛



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