金 紅,蔣存波
(桂林理工大學信息科學與工程學院,廣西桂林 541004)
“單片機原理與應用”是我校電氣信息類專業(yè)的一門重要課程,該課程的特點是理論與應用相結(jié)合,硬件與軟件并重。但由于涉及多個學科,信息量大且課時少,其教學難度較大。我國各高校在開展該課程的優(yōu)化課程體系結(jié)構(gòu)教學和案例教學等方面都取得了一定成績[1-3]。我校開設該課程共有5個專業(yè)涉及12個班級,從2006年開始進行該課程教學改革試點,取得了一點經(jīng)驗和教訓。
我校單片機教學主要包括課堂教學和實驗教學兩部分,總課時為48學時,其中課堂理論教學為36學時,實驗教學為12學時。課堂理論教學,按照單片機內(nèi)部結(jié)構(gòu)、引腳、最小系統(tǒng)硬件、指令系統(tǒng)、匯編語言程序設計、存儲器擴展、鍵盤與LED等IO接口擴展、AD和DA接口擴展、單片機應用舉例順序講解相關的概念、知識與應用方法。實驗教學中配置了愛迪克AEDK-EAT598單片機實驗箱。學生使用該實驗箱時,由于實驗項目均具有實驗程序源代碼,教師容易進行指導,學生容易完成實驗,許多實驗不需要連線。但存在硬件資料不完整和實驗系統(tǒng)占用部分資源等缺點,且實驗與工程應用相對脫節(jié),學生實際上并未掌握硬件和程序設計方法[4]。他們遇到某個具體的設計題目時,往往不能靈活運用自己所學的知識。
我校單片機課程教學團隊長期從事相關技術的教學及應用研究工作,具有較豐富的單片機應用系統(tǒng)設計經(jīng)驗與成功案例。改革傳統(tǒng)教學的試點就是從這些成功的應用系統(tǒng)中選用一個難度適中且較典型的案例[5],將其按功能分解為若干個子任務和設計問題,建立一個案例模型。我們圍繞這個模型由淺入深地來講解相關概念、理論和設計方法,課后作業(yè)圍繞著各個設計任務布置。實驗教學不再利用實驗箱,而是利用案例硬件環(huán)境圍繞著設計任務,并用工程設計方法由淺入深、從模仿到自主設計逐步進行。
案例模型由主模塊和若干附加功能模塊組成,其硬件結(jié)構(gòu)如圖1所示。
圖1 案例模型硬件結(jié)構(gòu)框圖
該模型以現(xiàn)場總線式過程檢測與控制模塊為基礎,融合了教學團隊開發(fā)的與信號檢測與處理、智能控制、現(xiàn)場總線控制、信號傳輸與通信協(xié)議、嵌入式操作系統(tǒng)及應用等多個案例作為模塊,形成模塊化的硬件結(jié)構(gòu)。我們根據(jù)專業(yè)特點及實驗需要,利用這些模塊構(gòu)成與工程設計極其貼近的硬件環(huán)境。提供典型的應用程序構(gòu)建及結(jié)構(gòu)作為軟件案例。實例程序功能劃分如圖2所示。一個以溫度檢測與控制的案例主程序的流程如圖3所示,圖中虛線框的溫度控制對非控制類專業(yè)可不做要求。任課教師可提供圖3所示程序的全部目標代碼供演示,源代碼則按需要提供一部分,另一部分要求學生由淺入深逐步完成。
圖2 程序功能結(jié)構(gòu)框圖
圖3 主程序流程框圖
我們在介紹單片機的特點和應用后,根據(jù)專業(yè)特色展示1~2個工程案例樣機以及案例模型。并利用案例模型下載運行不同的軟件,實現(xiàn)不同的功能,包括所展示工程案例樣機以及一些教學實驗內(nèi)容。然后進行案例解剖,從總體結(jié)構(gòu)和設計思路開始介紹案例系統(tǒng)的功能、硬件和軟件特點,利用硬/軟件功能結(jié)構(gòu)框圖介紹硬件和軟件基本結(jié)構(gòu),并將系統(tǒng)按功能與結(jié)構(gòu)分解成若干子任務。按照從具體的局部設計到整體設計的步驟,從簡單到復雜逐步深入,在解決設計問題過程中講解其中的概念、原理和設計方法。
我們在每次課結(jié)束前提出下次課需要解決的問題,作為作業(yè)要求學生在課外閱讀資料并進行設計工作。下次課通過提問和(或)課堂小作業(yè)的形式檢查任務的完成情況并計入平時成績,通過點評學生的設計或給出一個參考設計來講解相關概念和基本原理。
整個課堂教學從硬件及設計階段開始,掌握單片機的結(jié)構(gòu)與引腳、存儲器與IO接口擴展等硬件設計相關概念、知識與方法,然后進行一次硬件認識實驗,按照實驗指導書的提示,利用案例模型構(gòu)造一個基本應用系統(tǒng),編譯一個示例程序并下載到所構(gòu)建的系統(tǒng)中運行。
軟件設計階段教學采用如下順序。
(1)軟件的概念、基本結(jié)構(gòu)、設計流程以及程序流程的圖示表示方法;
(2)程序設計的基本方法與步驟;
(3)提出設計任務,引導學生尋找解決程序設計問題的方法并繪制流程圖,根據(jù)流程圖討論完成案例程序的功能需要什么操作指令,介紹指令的基本概念和機內(nèi)表示方式,數(shù)據(jù)的存放與尋址;
(4)介紹匯編語言指令的書寫格式,匯編語言程序設計的基本知識,代碼與數(shù)據(jù)存放地址的定義方式以及相關偽指令;
(5)指令功能及應用,在對指令進行講解過程中,除基本應用外,直接引導學生完成案例各功能程序的設計。第一次給出具體的設計思路,帶著學生繪制流程圖,依據(jù)流程圖寫代碼。學生從模仿開始,逐步過渡到修改程序和獨立編寫程序。
全部實驗在案例模型上模仿工程設計應用系統(tǒng)方法進行,實驗項目選擇案例功能中比較典型的、難度適中的設計任務,分為基礎實驗和提高性實驗等不同層次,基礎實驗必須完成,提高性實驗由學生按興趣自由選擇。
第一階段為系統(tǒng)認識實驗,給出主程序、存儲器讀寫(測試)程序、信號燈控制和按鍵檢測功能程序(包括設計思路、程序流程圖、示例代碼,進行演示與詳細講解),以此學習編譯及下載運行方法、獲得對硬件軟件的初步認識;
第二階段實驗完成模擬信號檢測及LED數(shù)字顯示實驗,指導書給出硬件圖、程序設計思路和流程圖,學生模仿著進行程序設計,完成調(diào)試與下載運行;其后從模仿逐步過渡到獨立完成設計與調(diào)試。
第三階段,由教師提供除要求學生完成的功能之外的其它功能程序,指導學生裝配成一個完整的應用程序,并進行系統(tǒng)軟硬件整體測試。
近三年來,我校利用案例和任務驅(qū)動方法開展了“單片機原理與應用”課程教學改革試點。從試點班與傳統(tǒng)教學班的對比上看到,課程結(jié)束后,學生對基本概念、原理的掌握并無差異,但試點班較大一部分學生的硬件調(diào)試和程序設計能力有較大提高。
我們利用案例模型,在不脫離工程背景的條件下,比直接使用工程案例,其教學活動特別是實驗教學更易開展,且更具典型性和靈活性,能兼顧不同專業(yè)學生的不同要求與興趣。如能適當增加課時,將嵌入式操作系統(tǒng)及應用添加到該課程中,將提升該課程的價值。
[1] 莫莉,趙悅,董萬福等.“單片機原理”課程教改探析-以成都大學工業(yè)制造學院為例[J].成都:教育與教學研究,2010,1(24)
[2] 陳艷麗,劉小燕.“單片機原理與應用”教學改革探討[J].北京:中國電力教育,2010,4
[3] 史恒亮,劉中華,楊賀麗.《單片機原理與接口技術》教學改革的研究與實踐[J].洛陽:洛陽師范學院學報,2010,2
[4] 吳定會,紀志成.單片機原理與應用課程教學的改革與實踐創(chuàng)新[J].無錫: 江南大學學報(教育科學版),2008,6(28)
[5] 蔣存波,陳小琴,金紅.提高單片機教學效果的實驗教學方法探討[J].南京:電氣電子教學學報,2006,6(28)