姚存治
(鄭州鐵路職業(yè)技術(shù)學(xué)院,河南 鄭州 450052)
單片機(jī)應(yīng)用技術(shù)是各工科院校電類專業(yè)的一門很重要的專業(yè)基礎(chǔ)課,主要內(nèi)容包括單片機(jī)存儲(chǔ)器結(jié)構(gòu)、片內(nèi)資源(如中斷系統(tǒng))、定時(shí)計(jì)數(shù)器、串行口、匯編語言、C51 編程語言以及單片機(jī)接口技術(shù),是一門理論性和實(shí)踐性都很強(qiáng)的課程。
傳統(tǒng)的單片機(jī)教學(xué)中,理論教學(xué)和實(shí)驗(yàn)教學(xué)一般是在不同的場(chǎng)地進(jìn)行:在教室進(jìn)行理論教學(xué),頂多是借助于多媒體,輔以一定的動(dòng)畫教學(xué);在實(shí)驗(yàn)室進(jìn)行實(shí)驗(yàn),一般是用現(xiàn)成的實(shí)驗(yàn)箱,只需進(jìn)行少量的硬件連線,輸入程序即可進(jìn)行驗(yàn)證性實(shí)驗(yàn)。長期以來,這樣的理論教學(xué)方法單一,抽象枯燥難懂;實(shí)驗(yàn)教學(xué)可操作性差,課程設(shè)計(jì)缺乏創(chuàng)新,加之學(xué)生基礎(chǔ)薄弱,導(dǎo)致教學(xué)效果欠佳。單片機(jī)課程枯燥深?yuàn)W,致使很多學(xué)生由最初對(duì)專業(yè)的滿腔熱情變得失去興趣,考試不及格、繼而荒廢學(xué)業(yè)。
針對(duì)單片機(jī)課程的特點(diǎn)以及在教學(xué)中發(fā)現(xiàn)的難點(diǎn),筆者逐漸摸索出一套行之有效的方法:在教室上課時(shí),使用多媒體投影,進(jìn)行理論講授時(shí),比較抽象的地方用自己做的FLASH 動(dòng)畫幫助學(xué)生理解,需要看程序運(yùn)行后硬件實(shí)驗(yàn)現(xiàn)象的利用Proteus 軟件進(jìn)行原理圖設(shè)計(jì),利用Keil 軟件進(jìn)行匯編程序或C51程序的編寫和編譯,然后將編譯后的HEX 文件和原理圖中的單片機(jī)關(guān)聯(lián)起來,進(jìn)行硬件和軟件的聯(lián)合調(diào)試,可直觀形象地看到和實(shí)際試驗(yàn)設(shè)備一樣的結(jié)果。單片機(jī)是一門實(shí)踐性非常強(qiáng)的課程,里面涉及到的硬件和軟件綜合的例子非常多,只在課堂上進(jìn)行理論講授學(xué)生是很難理解接受的。采用這個(gè)模式,方便靈活,隨時(shí)可以畫出需要的硬件電路,隨時(shí)可以編寫出相應(yīng)的程序,然后聯(lián)合調(diào)試看運(yùn)行結(jié)果。這就徹底改變了傳統(tǒng)的單片機(jī)教學(xué)中理論教學(xué)和實(shí)驗(yàn)實(shí)訓(xùn)教學(xué)場(chǎng)地分開的模式。經(jīng)過幾個(gè)學(xué)期的嘗試,取得了非常好的教學(xué)效果。
Proteus 軟件是英國Labcenter electronics 公司出版的EDA 工具軟件(仿真軟件)。它不僅具有其它EDA 工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB 設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB 設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和MSP430 等,2010 年又增加了Cortex 和DSP 系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil 和MPLAB 等多種編譯器。
Keil 公司是一家業(yè)界領(lǐng)先的微控制器(MCU)軟件開發(fā)工具的獨(dú)立供應(yīng)商。Keil 公司由兩家私人公司聯(lián)合運(yùn)營,分別是德國慕尼黑的Keil Elektronik GmbH 和美國德克薩斯的Keil Software Inc。Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機(jī)C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil 提供了包括C 編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。在這個(gè)集成環(huán)境中,用戶可使用C 語言或匯編語言編程。
筆者將EDA 軟件Proteus 仿真技術(shù)引入教學(xué),使用Proteus 軟件中的ISIS 畫出單片機(jī)的硬件系統(tǒng)原理圖,通過多媒體直觀地展示電路的仿真,形象逼真地講解單片機(jī)各應(yīng)用系統(tǒng)的搭建;使用Keil 軟件編寫C 語言或匯編語言程序并編譯輸出HEX 文件,讓原理圖中的單片機(jī)和HEX 文件關(guān)聯(lián),可以在ISIS 中進(jìn)行聯(lián)合仿真調(diào)試,控制單片機(jī)應(yīng)用系統(tǒng)工作。學(xué)生可以清晰直觀地觀察到程序運(yùn)行后的現(xiàn)象、單片機(jī)的管腳輸出狀態(tài)及各種指示燈情形,從感性上加深對(duì)單片機(jī)應(yīng)用系統(tǒng)的理解,直觀地掌握教學(xué)內(nèi)容,提高教學(xué)效果與效率。
下面以筆者講授LED8 段數(shù)碼管接口技術(shù)為例來展現(xiàn)這嶄新的課堂授課模式。
首先,借助自己制作的FLASH 課件,進(jìn)行LED顯示器結(jié)構(gòu)、工作原理、靜態(tài)顯示和動(dòng)態(tài)顯示的講述。圖1 是課件中的一個(gè)頁面,講述的是動(dòng)態(tài)顯示的結(jié)構(gòu)和分時(shí)顯示原理。
圖1 LED 顯示器的動(dòng)態(tài)掃描顯示
接下來,在Proteus 中畫出一個(gè)具體例子:帶年、月、日、時(shí)、分、秒的16 位LED 電子鐘。ISIS 的一個(gè)顯著特點(diǎn)是可以虛擬模型仿真,里面有大量的非常逼真的虛擬模型,具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)仿真、動(dòng)態(tài)仿真、IIC 調(diào)試器、SPI 調(diào)試器、鍵盤和LED、LCD 系統(tǒng)仿真的功能;提供了多種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等;多種顯示設(shè)備,如模擬儀表、數(shù)字儀表、串口終端、噪聲與失真信號(hào)顯示器等;還有各種調(diào)試信號(hào),直流、交流、脈沖及各種變化信號(hào)等,極大地方便了仿真調(diào)試。
圖2 16 位LED 顯示器硬件原理圖
然后,在Keil 中進(jìn)行匯編程序的設(shè)計(jì)。Keil 中可非常方便地進(jìn)行C51 語言和匯編語言程序的編寫和編譯。如圖3 所示。
圖3 Keil 輸入程序界面
對(duì)應(yīng)的部分程序如下:
將程序編譯后得到HEX 文件,在ISIS 中將單片機(jī)和此文件關(guān)聯(lián)。如圖4 所示。
圖4 ISIS 中單片機(jī)關(guān)聯(lián)HEX 文件界面
最后,點(diǎn)擊Debug 工具條上的Play 按鈕,可非常直觀地看到程序運(yùn)行后LED 的顯示情況。如圖5 所示。能看到單片機(jī)管腳電平的實(shí)時(shí)變化情況。
圖5 程序運(yùn)行后LED 的顯示界面
在調(diào)試過程若不滿足預(yù)定的功能,則需要進(jìn)行修改,硬件方面的修改可以直接在Proteus 中進(jìn)行,軟件問題則需要返回到Keil 中進(jìn)行修改,再次進(jìn)行編譯調(diào)試,然后重新導(dǎo)入、運(yùn)行觀察現(xiàn)象,如此反復(fù),直到滿足控制要求為止。在這個(gè)單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程中,因?yàn)橛布娐肥鞘褂肞roteus 仿真環(huán)境搭建的,可以隨意修改,這比以往的實(shí)際硬件連接改變接線、更換元器件容易得多,且不需要成本,并且可以在教室里進(jìn)行,這是使用Proteus 進(jìn)行單片機(jī)教學(xué)的最大優(yōu)勢(shì)。
使用Proteus 軟件進(jìn)行原理圖設(shè)計(jì),用Keil 軟件進(jìn)行C51 程序或匯編程序的編寫和編譯,在ISIS中將原理圖中的單片機(jī)和編譯后的HEX 文件關(guān)聯(lián)起來,進(jìn)行硬件和軟件的聯(lián)合調(diào)試,使學(xué)生直觀形象地看到一個(gè)個(gè)應(yīng)用系統(tǒng)的運(yùn)行結(jié)果,很好地解決了單片機(jī)教學(xué)中理論教學(xué)和實(shí)驗(yàn)實(shí)訓(xùn)教學(xué)場(chǎng)地分開的弊端,方便靈活,只要有投影儀的教室都可實(shí)現(xiàn)這樣的教學(xué)模式。實(shí)踐證明,此教學(xué)模式極大地改變了學(xué)生對(duì)抽象復(fù)雜的單片機(jī)理論知識(shí)和應(yīng)用系統(tǒng)的理解程度,取得了非常好的教學(xué)效果。
[1]侯秀麗.基于Proteus 仿真的高職單片機(jī)應(yīng)用技術(shù)課程教學(xué)改革[J].中國科技縱橫,2011(21):292-293.
[2]許超,吳新杰,張丹.基于Proteus 和Keil 的單片機(jī)課程教學(xué)改革[J].遼寧大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,38(1):27-29.
[3]殷士勇.keil 和proteus 在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,26(6):567-570.
[4]萬勝前.proteus 在單片機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].鄂州大學(xué)學(xué)報(bào),2008,15(2):15-17.
[5]伍馮潔,謝斌.基于proteus 與keil 的單片機(jī)實(shí)驗(yàn)教學(xué)改革[J].實(shí)驗(yàn)室研究與探索,2009,28(7):125-127.