武漢軍械士官學(xué)校 高 娟 湯 璇 崔艷萍
隨著計算機技術(shù)、微電子技術(shù)的發(fā)展,單片機技術(shù)在智能儀器儀表、智能傳感器、數(shù)據(jù)采集與處理、家電和計算機控制系統(tǒng)等領(lǐng)域廣泛應(yīng)用,除此之外,單片機在導(dǎo)彈、無人機等裝備中也有廣泛的應(yīng)用,因此,單片機作為一門專業(yè)基礎(chǔ)課在我校的10多個電類相關(guān)的大專專業(yè)中開設(shè)。作為一門實用性比較強的課程,該課程在教學(xué)過程中需要軟硬件結(jié)合,因此對講授單片機課程的教員提出了更高的要求。
如何讓學(xué)生在學(xué)好基礎(chǔ)知識的同時,又能迅速地掌握設(shè)計應(yīng)用技術(shù),這是單片機課程教學(xué)的難點所在。
目前的單片機課程教學(xué)主要由理論教學(xué)和實踐教學(xué)兩部分組成。理論教學(xué)已經(jīng)改變了傳統(tǒng)的以知識為中心的教學(xué)模式,轉(zhuǎn)變成以項目任務(wù)為驅(qū)動的教學(xué)模式,每一任務(wù)涵蓋單片機的一種應(yīng)用資源,學(xué)員在完成任務(wù)的過程中掌握了知識點。這種教學(xué)方式極大的激發(fā)了學(xué)員的學(xué)習(xí)興趣和積極性,經(jīng)過一年的運行,已經(jīng)取得了良好的效果。
在實踐教學(xué)中,改變了傳統(tǒng)的利用固定的實驗箱,圍繞有限的知識點進行驗證性實驗的方式,轉(zhuǎn)變成學(xué)員動手焊接硬件電路,再編寫程序通過編程器下載至單片機,最后根據(jù)結(jié)果現(xiàn)象判定軟、硬件是否正確,如果出現(xiàn)錯誤,需要分別檢測軟、硬件,進行調(diào)試、糾正,從而得出正確的結(jié)果。這種教學(xué)方式,增強了學(xué)員的動手能力和單片機的開發(fā)應(yīng)用能力,但在運行中也暴露出了一些問題,具體如下:
1.學(xué)員對硬件焊接比較感興趣,忽略了對軟件程序的理解和編寫,通常只能照書敲進去,最后得出結(jié)果便認為萬事大吉了,而實際上對知識的領(lǐng)悟與掌握很少,多個任務(wù)的硬件焊接也只是提高了焊接技能而已,并無太多的實際用處。
2.硬件焊接成本過高,大部分的元器件都是一次焊接就浪費了,一個學(xué)期,400多個學(xué)員,三塊電路板的焊接成本多達20000多元。
3.硬件焊接時間消耗過多,在實踐課中,大部分時間學(xué)員都用來焊接電路板,實際對知識的理解很少,對學(xué)習(xí)并無大益。
將仿真技術(shù)應(yīng)用于單片機教學(xué)中,通過仿真的直觀性和可參與性以及生動有趣的真實感,不僅可以激發(fā)學(xué)員的學(xué)習(xí)興趣,提高實踐教學(xué)效果,還可以節(jié)約時間與成本,因此本文就是探討基于仿真軟件Proteus的實踐教學(xué)改革。
圖1 基于Proteus軟件的流水燈實驗原理圖
Proteus軟件是英國Labeenter Electronics公司出版的著名的EDA工具軟件,是世界上目前唯一將電路仿真、PCB設(shè)計和虛擬模型仿真軟件三合一的設(shè)計平臺。它從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。Proteus提供的元件庫,涉及到數(shù)字和模擬、交流和直流等數(shù)千種元件,具有豐富的儀表資源,支持8051、8086、PIC、AVR、ARM和MSP430等系列的仿真。
在編譯方面采用keil軟件。該軟件是美國Keil Software公司出品的兼容單片機C語言軟件的開發(fā)系統(tǒng)。它提供了豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,采用全Windows界面,多數(shù)語句生成的匯編代碼容易理解,尤其在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。keil軟件目前已受到單片機愛好者、應(yīng)用者和開發(fā)者的青睞。Proteus和Keil各自都可以進行一定程度仿真調(diào)試,但效果不是很理想。我們采用把兩者結(jié)合起來,其相互配合發(fā)揮Proteus和Keil的優(yōu)勢使得在仿真過程中的軟件調(diào)試和硬件設(shè)計更加便捷、高效。
首先是要讓學(xué)員熟悉Proteus與Keil軟件環(huán)境,學(xué)會利用Proteus繪制原理電路圖以及用Keil軟件編寫單片機匯編源程序并生成目標程序。下載目標程序Proteus原理圖的MCU并仿真。下面以單片機控制模擬流水燈的顯示為例介紹。
在Proteus軟件中實現(xiàn)一個流水燈控制系統(tǒng)原理圖的設(shè)計,如圖1所示。再使用匯編語言對其進行程序編寫,通過keil軟件編譯產(chǎn)生HEX文件,加載到Proteus中對流水燈控制系統(tǒng)進行軟硬件結(jié)合的調(diào)試仿真。其中P1口做輸出口,控制8盞燈(P1口輸出低電平時燈被點亮);編程使燈按以下規(guī)律顯示:同一時間只有一盞燈點亮,從P1.0控制的燈開始,每盞燈亮1s后,再移向下一盞燈循環(huán)往復(fù)。
用keil軟件編輯該流水燈的控制系統(tǒng)程序如下:
本文在單片機實驗教學(xué)過程引入計算機仿真技術(shù),利用Proteus仿真功能,使學(xué)生不需硬件支持也能完成實驗內(nèi)容,能降低實驗成本,縮短實驗周期,延伸實驗內(nèi)涵。
[1]伍馮潔,謝斌.基于Proteus與Keil的實驗教學(xué)改革[J].實驗室研究與探索,2009.7.
[2]孫凌燕,張允千.Proteus與Keil的整合在單片機實驗開發(fā)中的應(yīng)用[J].實驗室研究與探索,2008.4.
[3]張宏偉,王新環(huán),王新.基于Proteus與Keil的單片機實驗教學(xué)改革[J].電氣電子教學(xué)學(xué)報,2008.6.