江蘇 張紅霞
基于項目導向的單片機實踐教學設計的實踐與思考
江蘇 張紅霞
單片機近年來是使用最簡單、應用最普遍的嵌入式智能芯片,被廣泛用于儀器儀表、自動控制、通信和家用電器等領域。目前各類高職院校都開設了該課程。本文針對目前高職教育中單片機實踐教學的特點及存在的問題,提出了基于項目導向的教學方法,提倡將仿真技術用于單片機課程實訓中,激發學生的學習興趣,培養學生的動手能力,提高教學質量。
項目導向;單片機;實踐教學;Proteus;Keil
引言
隨著計算機及其相關技術的發展,單片機在工業控制中的機電一體化系統、電氣自動化控制系統、嵌入式系統以及智能儀表、家用電器等方面的應用不斷深入,對高職學生單片機技術及應用能力的要求越來越高,單片機技術也成為機電一體化、電子技術應用、電氣自動化等專業的重要課程。該課程涉及數字電路、模擬電路、計算機語言等多方面知識。單片機不像傳統電子線路那樣直觀,它是一門軟硬件相結合的技術。學生既要懂單片機的硬件結構,又要懂軟件編程,必須具備這兩方面的準備知識,才能很好的理解單片機的工作過程。通過學習,不僅使學生掌握單片機技術的基本理論、開發設計的基本方法,而且要全面培養學生分析系統、設計系統的能力,培養學生對單片機、嵌入式系統再學習的能力,為本專業后續有關知識和課程的學習打下良好的基礎。
該課程是一門理論性與實踐性相結合的課程。通過課程的教學和實踐,既要使學生初步掌握有關單片機、嵌入式的基本概念,理解單片機的硬件結構及接口技術,對單片機系統的組成、原理、應用及開發設計過程從整體上有一個清晰的認識;還要使學生掌握單片機仿真開發系統的應用,掌握單片機應用系統軟、硬件的調試開發方法;了解簡單的單片機C語言程序的結構特點和編譯過程,熟練使用仿真軟件進行系統的設計與仿真。但目前教學中還存在以下幾個問題:
傳統的單片機理論教學,均是按照教材的內容以單片機的結構為主線,按單片機的內部結構、指令系統、軟件編程、單片機的中斷系統、各種外圍設備接口電路的順序來講授,最后再對應用系統做簡單介紹。這樣的教學模式,側重了課程本身的理論邏輯體系,但對于理論基礎和理解能力較差的高職學生來講感覺抽象,難以理解,更談不上應用。現有的教材或偏重于理論教學,或僅側重于實踐能力培養而忽略系統的基本知識的掌握,缺乏符合理實一體、學做合一的系統的課程教學資源。
目前很多院校在做單片機實驗時,往往采用高度集成的實驗箱,不僅學校在資金投入上花費很大,而且學生實驗中的效果也不太理想。因為現有的實驗箱硬件電路固定,實驗內容難改動,學生做實驗時只需連接幾根導線,然后輸入相關程序,最后等待觀看實驗結果。實驗基本以驗證性的實驗為主,設計性、綜合性、啟發性的實驗較少,各個實驗之間幾乎沒有什么聯系,學生只是片面地掌握某一方面知識,不能將整體內容貫穿起來,實驗項目已經越來越無法滿足教學和實際需求。
傳統的單片機課程考核方法主要采用以卷面理論考試為主,其余結合一定比例的平時成績。由于實驗成績只作為占比例較小的平時成績記入,這種考核辦法不能全面反映學生對該課程的掌握情況,尤其是學生的應用能力、動手能力和創新能力很難從試卷上反映出來。學生的實際應用能力不能得到客觀的反映,違背了高職教育培養應用型、技能型人才的目標。
基于以上情況,結合多年的教學經驗,筆者提出了基于項目導向的單片機實踐教學設計,將單片機的理論知識圍繞項目展開分解,融合到不同的實訓項目中,引導學生邊做邊學,在實踐中完成知識的學習。
以項目為導向的單片機實踐教學,打破課堂教學按教材章節順序進行的方式,改為按預先設計的實驗項目任務所需來安排教學內容,項目能夠涵蓋所有知識點,充分體現了“理論服務于實踐”的思想。教師首先根據教學大綱要求的知識點,設計出有針對性的實訓項目。然后圍繞項目來確立教學目標,確定出每個項目包含的教學重點,設計與教材各部分內容相適應的實驗內容,并編寫出所配套的講義和實驗指導書。
項目由淺入深,循序漸進,由簡單的基本項目逐步過渡到復雜的綜合項目,通過比較項目之間的聯系與區別,讓學生更好地掌握知識。例如在介紹流水燈程序這一項目時,我們剛開始學習時可以使用簡單的延時程序。在講到定時計數器時,我們可以使用定時器設定流水點亮的延時時間間隔。當講到中斷技術時,我們可以讓學生嘗試使用中斷程序來完成流水點亮的效果。通過這一系列具有連貫性的項目,我們可以將不同的知識點融會貫通,使學生在完成的項目過程中體會到成就感,獲得激勵,產生興趣。在所有基礎項目完成后,以完成一些貼近日常生活且具有實用性綜合應用項目(如交通燈、數字溫度計等)來檢驗學生的學習效果,真正做到學以致用。

?
針對課程“實踐難”的特點,我們使用Proteus和Keil仿真軟件搭建的實驗虛擬平臺幾乎不作任何硬件投資,就能獲得一個非常真實的實驗環境。Proteus帶有大量的庫元件和仿真儀器及分析工具,因此可以隨意更改硬件電路圖,克服了用實驗箱硬件固定的問題。通過選擇不同類型的芯片,學生能夠緊跟市場步伐,學習到最先進的技術,彌補了實驗器材不足的問題。學生不用到實驗室,不用花時間和金錢購買元器件,就可以自己設計硬件電路,將程序載入仿真系統后驗證自己設計的電路和程序的正確性。利用軟件仿真,學生不需要任何的硬件連線程序修改,編譯后馬上就可以看到效果。學生通過仿真實驗熟悉了單片機系統的開發方法,對進一步培養學生的綜合分析能力,排除故障能力和開發,創新能力具有重要意義。
Proteus ISIS是英國Labcenter公司開發的電路設計、分析與仿真軟件。功能極其強大,該軟件的主要特點是:①可以完成從繪制原理圖、仿真分析到生成印刷電路板圖的整個硬件開發過程。②提供幾千種電子元件、分立元件和集成電路、模擬和數字電路的電路符號、仿真模型和外形封裝③支持大多數單片機系統以及各種外圍芯片的仿真④提供各種虛擬儀器,如各種測量儀表、示波器、邏輯分析儀、信號發生器等。⑤支持第三方的軟件編譯和調試環境,可與Keil C51μVision2等軟件進行聯調。
Keil軟件是目前最流行的開發MCS-51系列單片機軟件,近年來各仿真機廠商紛紛宣布全面支持Keil。Keil支持匯編語言和C語言的程序設計,易學易用。
基于項目導向的單片機課程教學主要分為基礎知識教學、項目演示、項目實施、項目拓展四個階段。
1.基礎知識教學階段:由教師講授本項目相關的基礎知識,突出重點,提綱挈領。為了達到教學目的,提高教學效果,提倡教師提前給出教學項目的基本要求,引領學生有目的地進行預習。
2.項目演示階段:教師通過局域網廣播教學,演示關鍵知識點的應用實例,增加課堂信息量。對整個實驗過程及難點加以說明,這一階段可在仿真環境中讓學生看到系統最后運行的結果,提升學生參與實踐的欲望。
3.項目實施階段,讓學生自己動手獨立完成硬件電路圖的繪制、軟件程序的編寫、調試和驗證,并嘗試改變某些語句觀察運行結果,實現對相關知識點的應用和創新能力的培養。本環節要求教師有較強的現場指導能力和課堂掌控能力。
4.項目拓展階段,鼓勵學生在完成教師布置的基礎實訓項目后,自主設計題目,并完成調試工作。如:對源程序進行修改,完成自己設計的新功能。這個訓練可以培養學生的勇于實踐、大膽創新的意識,培養學生應用單片機綜合設計與開發系統的能力,為后面的綜合應用技術的項目訓練奠定基礎。
下面通過項目實例流水燈(廣告燈)來介紹如何在單片機教學中應用Proteus和keil軟件實現仿真效果。首先,在Proteus軟件中繪制如圖1所示的硬件電路原理圖,然后,在keil軟件中根據項目要求編寫流水點亮LED的軟件程序,編譯成功后生成hex文件。最后,在電路圖中載入程序并運行程序,觀察仿真結果。程序設計是學生學習單片機的難點。在教學中,我們巧妙設計項目的每個階段,從簡單到復雜,讓學生在潛移默化中掌握技能。例如流水燈的項目層次分為3個階段:第一個階段讓學生編寫一個燈點亮的程序;第二個階段編寫一個燈閃爍的程序,利用在閃爍燈項目中學習到的延時子程序;第三個階段才完成8個燈流水點亮的程序;第四個階段完成8個燈分組流水點亮。當達到第三個階段時,學生學習單片機的水平已經可以完成一個簡單的項目。通過循序漸進的修改程序和電路圖,逐步實現功能由簡單到復雜的過渡,使學生更容易理解和掌握知識。
通過基于項目導向的單片機教學實踐,98%的學生掌握了運用仿真開發環境進行單片機應用系統開發的過程,普遍反映對單片機結構及工作原理有了更深的理解,課程的及格率達到99%。在較好完成本課程學習任務的同時,學生的自學能力、實踐能力、創新能力也得到不斷提高,收到了較好的教學效果。
實踐證明,讓學生帶著問題去學習和實驗,能夠提高自身主動思考和創造性思維能力;完善自身的知識體系,程序開發環節可實現看、聽、做、思、練的有機結合,鍛煉學生電路設計、程序調試、分析、解決問題的能力等各個方面的能力。學生通過主動參與和親自實踐,加深對新知識的理解。基于項目導向的在單片機實踐教學設計,有助于學生快速掌握知識,大大提高了教學效率,對單片機教學具有指導意義。
(作者單位:南通市廣播電視大學)
(編輯 李艷華)