段廣云
《單片機原理及接口技術》作為工科院校相關專業的重要專業必修課,也是一門實踐性很強的課程。但是由于該課程理論知識較為抽象,實驗教學與工程實際開發脫節,導致學生掛科率高居不下,學生的實際動手能力沒有得到有效鍛煉,面對工程實際開發項目時束手無策。筆者從事單片機教學多年,了解該課程的實驗教學現狀,本文旨在分析利用傳統實驗箱進行實驗教學的不足之處,并提出了將單片機開發板和仿真軟件相結合的實驗教學模式。
傳統實驗箱教學模式的弊端
實驗箱設計過于死板
筆者所在高校對于單片機實驗教學采用的還是傳統的實驗箱模式,這種實驗箱的硬件電路和各項參數在出廠時均已設置好,而電路的連線方式往往與實際電路的連接方式不同,學生進行實驗時只需連接幾根線即可,每一個實驗項目都已給出硬件的連接方式,甚至都已經明確哪個接口跟哪個接口連接,所以很容易完美呈現實驗結果。實驗時,學生通過PC機上的仿真軟件把匯編程序輸到PC機上(有時甚至無需輸入,直接從PC機調用即可),然后在仿真軟件上直接進行匯編和調試,再通過串口通信接口把由匯編語言的源程序編譯好的機器碼直接輸入實驗箱系統。由于實驗箱配套的仿真軟件具有專用性,調試程序時跟實際開發過程相距甚遠,語法規則設計也較為死板,即使學生把實驗內容吃透,在面對實際工程開發時依然沒有經驗。這種實驗與實際的單片機開發在過程上存在很大的差異,學生基本沒有了解硬件系統,更是沒有了解軟件的編程、匯編和寫入單片機的整個過程。實驗完成后,很多學生還是對實驗內容知之甚少,只是浮于表面地觀察實驗現象。這樣的實驗很難引起學生的興趣,更無法對單片機課程的學習起到較好的促進作用。
綜合性實驗無法開展
由于實驗箱設置的死板和單一,這種利用實驗箱的實驗教學模式通常以驗證性的實驗為主,主要內容為匯編指令的使用及程序的簡單編程,單片機外部擴展電路的知識涉及甚少,因此難以開展包含硬件開發及外圍接口電路編程的綜合設計實驗,導致學生的實驗知識綜合能力較差,學生的自主設計和創造能力也普遍存在問題。而在單片機的應用過程中,硬件開發及針對外圍接口電路的編程最為廣泛。不積極開展綜合性實驗,既不利于發揮學生的學習主動性,也不利于培養學生的工程意識及解決實際問題的能力。
工程實踐能力得不到鍛煉
實驗箱實驗內容的單一以及與工程實際開發過程相距甚遠,導致學生做實驗時沒有興趣,實驗結束后隨便寫個實驗報告應付了事,而且實驗箱性能穩定,實驗過程很少出現差錯,學生雖然可以很好地完成實驗,但是面對實際工程項目中的問題時不知出錯的原因,這樣的實驗教學模式不利于培養學生的實際動手能力,工程實踐能力也得不到很好的鍛煉,偏離了本科生的培養目標。
將單片機開發板與仿真軟件相結合進行實驗教學
單片機開發板
單片機開發板采用方便、易學的設計理念,以單片機為核心,輔以靈活的外圍電路設計而成,具有靈活的USB調試模式,與實際的工程開發過程一致,再配套相應的實驗模塊,可以開展綜合性實驗,各功能模塊相互獨立,模塊之間用排線快速連接。實驗時,學生可利用開發板上的模塊資源,根據自身需要構建一個單片機系統,使學生有自由發揮的空間,有助于學生利用自己的理論知識,并在實踐中得到應用,體會到實踐帶來的樂趣,在引起學生興趣的同時,還鍛煉了學生的動手能力。
單片機開發板具有ISP可在線編程功能,無需編程器,可以通過軟件從USB接口直接下載程序,完成對單片機程序的燒錄,幾秒鐘即可完成,為實驗教學中的調試提供了極大的方便。
另外,單片機開發板體積小,由USB供電,攜帶方便,在辦公室及個人電腦上均可操作,不用再拘泥于實驗室做實驗。
Keil軟件的使用
Keil 軟件是美國Keil Software公司(ARM公司之一)出品的51系列兼容單片機軟件開發系統,支持8051微控制器體系結構的Keil開發工具,適合每個階段的開發人員,如專業的應用工程師、剛學習嵌入式軟件開發的學生。同時,支持匯編語言和C語言的編程。匯編語言具有可讀性強、執行速度快、工控領域應用廣泛等諸多優點,所以如今各大高校依然將匯編語言作為本科生必須掌握的一門語言,單片機教學內容以匯編語言為主線進行設置,因此學生需要掌握匯編語言的編程技術;與匯編語言相比,C語言在功能、結構性、可讀性、可維護性上有明顯的優勢,而且易學易用,兩種語言都需要學生掌握。而Keil軟件提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境將這些部分組合在一起。利用單片機開發板進行實驗教學時,配合Keil軟件進行編程,可以同時體會匯編和C語言的調試過程,可使用戶的目標板直接具有仿真功能,從而將單片機的易用性推向一個新的高度。
引導學生提升課外實踐能力
課堂教學和實驗教學對于學生的單片機學習來說還是有所欠缺,學生依然沒有機會親手制作一塊單片機控制系統的電路板,而這對于提高學生的實踐能力來說非常重要。在單片機課程的學習過程中,讓學生體會一次單片機系統的設計、制作全過程,從自己設計硬件電路開始,自己編寫控制程序,進行仿真驗證,購買元器件,自己動手用電烙鐵焊接電路板,進行軟硬件的聯合調試,最終做出一套符合設計要求的單片機系統,這對學生而言,將是學習過程中的莫大收獲。
學習使用 Proteus仿真軟件
學生設計硬件電路時可以采用Proteus仿真軟件,它是一款硬件電路設計的仿真軟件,學生可以很方便地設計以單片機為核心的外圍控制電路,且有多種型號的單片機可供選擇,再結合集成開發軟件Keil,能直接在單片機虛擬系統上對單片機進行編程,學生能夠觀察到虛擬硬件系統在軟件中運行的全過程。Keil軟件同時支持匯編語言和C語言的程序開發,學生設計控制程序時還可以用兩種語言同時編程。使用時,把用Keil軟件編寫的程序生成Hex文件,并嵌入到Proteus仿真軟件中,學生就可以在Proteus仿真軟件中觀察并驗證仿真結果,實現了對學生同時進行匯編語言和C語言的雙重訓練,提高了學生的工程實踐能力。
完成一項單片機實際系統的開發,鍛煉工程實際開發能力
在開始單片機的課程學習時,教師應該引導學生學習仿真軟件和編程軟件。隨著課程的進一步深入,教師可以向學生布置一個開發一套單片機控制系統的項目任務,項目大小不限,根據自身能力而定,教師可只提出一個設計的范圍要求,鼓勵學生大膽思考和創新,設計出新穎的作品。課程組事先準備好大量的單片機實際工程開發的相關芯片、焊接工具、面包板、導線、排阻以及調試儀器等耗材,支持學生進行單片機系統的實際開發。學生在課余進行實際系統開發時,教師可以隨時指導,學期結束時,每位學生上交一件單片機控制系統的作品。
經歷一學期的摸索,學生們參與熱情高漲,不少學生都交出了以單片機為平臺的高質量作品。實踐證明,通過硬件設計,可以有效地激發學生學習單片機的積極性,鍛煉學生的工程實際開發能力。
結語
實驗教學是單片機課程的學習過程中重要的一環,通過以單片機開發板來代替傳統實驗箱教學,再輔以仿真軟件的使用,能夠讓學生自己動手完成單片機系統的開發,充分調動了學生們學習單片機課程的積極性。實踐證明,這種實驗教學模式效果良好,學生的工程實際開發能力得到了進一步提升。
基金項目:青海大學本科專業核心課程建設項目“單片機原理及接口技術”(項目編號:ZY17012)