王麗芳 李雅潔
湖北鐵道運輸職業(yè)學(xué)院(武漢鐵路技師學(xué)院) 湖北武漢 430064
單片機應(yīng)用技術(shù)是職業(yè)院校中應(yīng)用電子技術(shù)、機電一體化、電子信息等專業(yè)的一門核心課程,需要電子技術(shù)、C語言等知識為基礎(chǔ),也作為后續(xù)專業(yè)課程的敲門磚,在課程教學(xué)體系中起著承上啟下的重要作用,還是各類職業(yè)競賽電子項目中經(jīng)常使用的工具。從以往學(xué)習(xí)的51單片機,到現(xiàn)在被大眾所認(rèn)可的具有高性能、低功耗等頗多優(yōu)點的STM32單片機,單片機課程學(xué)習(xí)的內(nèi)容發(fā)生了較大的變化,那么教學(xué)模式的轉(zhuǎn)變就成為我們必須思考的一個問題。與傳統(tǒng)的以單片機實驗系統(tǒng)或開發(fā)板學(xué)習(xí)為主的教學(xué)模式不同,本文主要探究基于開發(fā)軟件的單片機教學(xué)模式,熟練使用單片機的各類開發(fā)軟件能讓我們在學(xué)習(xí)中達到事半功倍的效果。
與傳統(tǒng)的理論教學(xué)方式不同,單片機技術(shù)是一門實踐性要求較高的課程,本課程要求學(xué)生能完成基本的硬件電路設(shè)計以及熟練掌握單片機的C語言編程,學(xué)生不僅需要掌握扎實的理論知識,還要有熟練的動手能力。日新月異更新的技術(shù)和新的單片機出現(xiàn)使得教師不僅要及時更新知識儲備,對實驗設(shè)備的要求也更高,在實驗設(shè)備的配置上不僅需要滿足基礎(chǔ)知識學(xué)習(xí),還要滿足課程設(shè)計、電子競賽訓(xùn)練等多種功能需求。
1.實驗設(shè)備問題
單片機實驗室常用配置通常有三種。第一種是綜合實驗仿真系統(tǒng),它具有可靠性強、搭建硬件電路方便的特點,但它往往都是半成品,芯片、擴展和外設(shè)已經(jīng)焊接好了固定不變,只能在其基礎(chǔ)之上搭建一些常用的實驗電路,僅能用作基礎(chǔ)教學(xué)使用,并且一套完整的綜合實驗仿真系統(tǒng)普遍價格較高,通常無法做到單人單機;第二種是用萬用板焊接實驗電路,然后編寫程序,下載到電路中,觀察電路的運行狀態(tài),這種模式對于學(xué)習(xí)單片機硬件電路具有較好的效果,但對于硬件電路基礎(chǔ)要求較高;第三種是單片機開發(fā)板單片機開發(fā)板價格較便宜,但預(yù)先要花大量時間來學(xué)習(xí)開發(fā)板的底層電路原理,不適用于基礎(chǔ)教學(xué)。
2.教學(xué)過程問題
在課堂教學(xué)中,學(xué)生通過教師親身直觀的演示,可以快速地在頭腦里留下深刻的印象,但是在以開發(fā)板或?qū)嶒灧抡嫦到y(tǒng)作為實驗設(shè)備來進行教學(xué)演示時,由于課堂條件的限制,很難將具體的實驗過程及現(xiàn)象呈現(xiàn)給學(xué)生,并且難以顧及每個學(xué)生的情況,可能會造成學(xué)生寫錯程序或操作失誤燒壞實驗設(shè)備的情況,這樣會大大降低教學(xué)質(zhì)量,也使得學(xué)生在學(xué)習(xí)的過程中產(chǎn)生挫敗感。
傳統(tǒng)的單片機實踐教學(xué)環(huán)節(jié)必須在實驗室里用指定的實驗設(shè)備完成,如果實驗室資源不足,就會使我們的教學(xué)陷入被動。而用仿真軟件僅需一臺電腦即可實現(xiàn)硬件電路的搭建,再用編程軟件編寫程序?qū)敕抡孳浖?,就可以在仿真窗口看到實驗現(xiàn)象,也可以隨時根據(jù)實驗現(xiàn)象在線修改硬件電路或者程序。在實際操作上,可減少對實驗設(shè)備的依賴性。
采用綜合仿真平臺或者開發(fā)板作為實踐教學(xué)的工具,教師在進行教學(xué)演示和指導(dǎo)中會遇到諸多困難,而采用仿真軟件教師在多媒體教室里面可以通過控制學(xué)生電腦桌面進行演示和指導(dǎo)。在實際教學(xué)中,這種方式能達到更好的教學(xué)效果,并且在學(xué)生課后學(xué)習(xí)遇到困難時,也可以通過遠程桌面幫助學(xué)生解決實際問題。
用開發(fā)軟件學(xué)習(xí)單片機不僅有利于學(xué)生的硬件電路原理的學(xué)習(xí),還可以提高學(xué)生軟件操作的能力,并且在實際教學(xué)中,應(yīng)盡可能要求學(xué)生使用原版軟件而非漢化版軟件,更多地使用英文界面的軟件可以提高學(xué)生的專業(yè)英文水平,為后續(xù)學(xué)習(xí)其他開發(fā)軟件或者專業(yè)的應(yīng)用軟件打下基礎(chǔ)。
以單片機最小系統(tǒng)的設(shè)計與仿真為例,單片機最小系統(tǒng)是指僅包含必需的元器件、僅可運行最基本軟件的簡化系統(tǒng)。最小系統(tǒng)是嵌入式系統(tǒng)硬件設(shè)計中復(fù)用率最高,也是最基本的功能單元。單片機最小系統(tǒng)的設(shè)計與仿真是單片機教學(xué)的一個典型學(xué)習(xí)任務(wù)。任務(wù)過程如下:
Proteus仿真軟件是英國Lab Center Electronics公司出版的EDA(仿真)工具軟件,是目前應(yīng)用最廣泛且最優(yōu)秀的單片機及外圍器件工具的仿真軟件之一。它不僅能仿真單片機外圍電路或沒有單片機的其他電子電路的工作情況,還能從工程的角度驗證程序運行和電路工作的過程和結(jié)果,可以改善課堂實踐和工程應(yīng)用脫節(jié)的現(xiàn)象。在實際教學(xué)中,應(yīng)用Proteus仿真軟件具有以下優(yōu)點:第一,Proteus仿真軟件有豐富的內(nèi)部資源,提供了多達三十多個元件庫,數(shù)千種不同種類、不同規(guī)格的元件可供選擇,支持大部分STM32單片機芯片,且自帶的編譯軟件能夠自動識別目前大眾比較認(rèn)可的Keil MDK編程軟件,還向用戶提供了友好的仿真調(diào)試界面。第二,Proteus仿真軟件具有較強的靈活性,在理論教學(xué)中,根據(jù)講授的理論知識靈活地搭建實驗電路,用數(shù)碼管、LED等虛擬顯示元件和虛擬示波器作為輔助,將一些復(fù)雜且抽象的理論知識用仿真平臺生動形象地呈現(xiàn)給學(xué)生。第三,Proteus仿真軟件具有較強的實踐性,在實踐教學(xué)中,如果用焊接的方式組建實驗電路,在學(xué)生不熟悉電路時會經(jīng)常出現(xiàn)結(jié)果與預(yù)期不符的情況,不斷出現(xiàn)問題和拆改硬件電路還會造成資源的浪費。而用Proteus仿真軟件可以輕松在線修改電路,給學(xué)生留出了充分的時間對實驗中出現(xiàn)的問題進行分析和思考,提出改進措施,促進學(xué)生對實驗電路原理和實驗過程的內(nèi)化。實際教學(xué)中,經(jīng)過教師的指導(dǎo),學(xué)生通常能夠完成在Proteus仿真軟件里創(chuàng)建工程、搜索芯片和元件、電源配置和一些基本連線,可以獨立繪制出單片機最小系統(tǒng),如圖1所示。
圖1 Proteus繪制單片機最小系統(tǒng)圖
STM32CubeMX是ST意法半導(dǎo)體近幾年推出的STM32芯片圖形化配置工具,它主要用來做單片機接口定義、外設(shè)定義、時鐘配置、系統(tǒng)配置等。配置界面采用直觀的圖形化設(shè)置,配置完成后直接生成初始化代碼導(dǎo)成C語言格式文件,減少在編程軟件中編寫接口定義、外設(shè)定義等各類煩瑣的定義程序,可以較大程度縮短開發(fā)時間,提高開發(fā)的效率。在實際教學(xué)中,單片機編程的學(xué)習(xí)一直是個棘手的問題,傳統(tǒng)的單片機編程實踐教學(xué)都是以寄存器編程或使用標(biāo)準(zhǔn)庫編程,需要花費較多時間查閱STM32的數(shù)據(jù)手冊,尋找對應(yīng)寄存器的地址,這個過程煩瑣且容易出錯,定義的程序?qū)W生大多也難以理解,通常只能死記硬背。而STM32CubeMX圖形化配置軟件能解決這個難題,更大程度上鍛煉學(xué)生編程的能力。STM32CubeMX圖形化配置軟件界面如圖2所示。
圖2 STM32CubeMX配置界面
Keil MDK編程軟件是德國知名軟件公司Keil(現(xiàn)已并入ARM公司)開發(fā)的基于ARM內(nèi)核的微控制器軟件開發(fā)平臺,是目前ARM內(nèi)核單片機開發(fā)的主流工具,Keil提供了包括C編譯器、宏匯編、連接器、庫函數(shù)管理和一個功能完備的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,編程調(diào)試界面友好,用Keil MDK編程軟件編寫的程序編譯成HEX代碼文件可以很方便地在Proteus仿真軟件里進行仿真。STM32CubeMX生成的C代碼文件直接用Keil MDK編程軟件打開,如圖3所示,可以看到定義好的配置文件,在此基礎(chǔ)之上編寫用戶程序,編寫完成后生成HEX文件導(dǎo)入Proteus仿真軟件觀察實驗現(xiàn)象。
圖3 Keil MDK編程界面
通過新的教學(xué)模式探索,在我校單片機課程的實際教學(xué)中起到了明顯的作用,教學(xué)效率和質(zhì)量得到了明顯的提高,只需要電腦和一整套開發(fā)軟件就可以進行實時在線仿真和調(diào)試,有助于培養(yǎng)學(xué)生通過不斷學(xué)習(xí)解決實際問題的能力。同時這種新的教學(xué)模式也給我們一個啟示,科技和技術(shù)在不斷進步,我們也要緊跟時代潮流,多學(xué)習(xí)新的知識,不僅有助于鍛煉教師的教學(xué)能力和學(xué)生的學(xué)習(xí)能力,也盡可能避免了學(xué)生在學(xué)校學(xué)習(xí)的知識與踏入社會后的實際應(yīng)用脫節(jié)的現(xiàn)象。