摘 要:單片機技術是中職學校電子類專業的主干課程。教師在有限的教學時間內培養出掌握單片機程序設計知識的實用型人才,必須選擇適合學生學習特點和心理特點的教學方法,采取有效的教學策略,這些策略包括:將流程圖作為程序設計的突破口、提供程序運行的硬件環境等。
關鍵詞:中職;單片機技術;設計教學
中職生要成為單片機技術的應用型人才,必須掌握單片機的核心知識:程序設計。教師為了有效開展教學,不論如何重構教材內容和教學模塊,始終繞不開程序設計。教師必須采取有效的教學策略,讓學生迅速掌握單片機程序設計。
一、將流程圖作為程序設計的突破口
程序設計對數學和英語知識要求較高,但中職學生恰恰最怕數學和英語這兩門科目,數學和英語知識非常薄弱。教育部組織的研究課題組調查發現:中職學生中,59.69%沒有達到初中二年級數學水平;72.24%沒有達到初中二年級英語水平,數學和英語知識缺乏成了學生掌握單片機程序設計知識的“攔路虎”。 教師可以采用多種教學手段提高學生學習興趣,然而,學生因數學和英語基礎知識差,看程序如同看天書,設計程序時往往力不從心,學生最終還是失去了學習的興趣。
因此,教師在教授學生學習單片機程序設計這個核心知識時,必須正視學生的實際文化水平,讓學生能讀懂程序、會編寫程序。筆者經過教學實踐發現:流程圖是中職學生掌握單片機程序設計知識的實事求是的突破口。
流程圖是用中文圖解方式表示程序的步驟,揭示程序中的邏輯算法。它能將程序分成一個個順序過程或轉移過程,這些過程由箭頭相互連接。流程圖可以指導編寫程序,檢查程序的正確性,能直觀地理解程序的思路和結構。有了流程圖,程序運行情況一目了然。程序流程圖迎合了中職生的語言表達習慣和知識水平特點。教師指導學生將流程圖作為程序設計的突破口,要做好以下兩點:
(一)反復指導學生畫程序流程圖,特別是畫條件跳轉的部分。
中職單片機技術教材中,幾乎沒有關于畫程序流程圖的內容。教師要利用足夠的時間,就不同的程序對學生進行畫流程圖的訓練,這個訓練不可缺少。絕大多數情況下,程序設計前要求學生先畫出正確的流程圖,要求學生會以流程圖的思想表達實際問題。畫圖訓練中,順序過程比較容易畫出,條件轉移過程較難畫。幸運的是,常用的反映條件轉移的單片機指令不超過4種。學生只要反復訓練,就能運用這常用的4種指令,將反映數學邏輯算法的控制轉移過程畫出來。由于能夠熟練地運用條件轉移指令表達數學邏輯算法,學生數學基礎知識薄弱的問題將迎刃而解,畫程序流程圖就得心應手。
(二)要將流程圖中每個過程的程序規范化、簡單化。
流程圖已將程序分成一個個過程,這些過程獨立成塊,能完成某個具體、單一的任務。多數情況下,教師可將每個過程的程序按子程序處理。教師要匯集、編印一些典型的、常用的子程序發給學生,詳細分析,反復使用。學生對流程圖中的過程進行程序設計時,教師要指導他們盡量采用、參照已知的子程序。由于子程序的指令格式基本固定,需用到的指令少,結構和算法清晰,學生只需認識英語字母、會到課本中查閱指令的意義、知道哪些數據可以變化等,即能讀懂子程序,即能將子程序修改成新子程序,達到新過程的要求。由于有子程序作為編程的模板,學生英語基礎知識薄弱的問題也不再是學習的障礙。
二、提供程序運行的硬件環境
學生在自學、合作學習的過程中,對于自編的程序,往往信心不足,主要原因是單片機指令和程序運行非常抽象,運行的過程和結果往往只體現在數據的變化上。學生不知道該程序是否完全達到要求、是否需要改進,不知道哪個學習小組設計出的程序最科學等。
為此,可在教室中安裝一套單片機調試系統。該系統具有現場設計程序、實際觀察運行等功能。該系統外接必要的發聲、發光、轉動等器材,配備ISP單片機及軟件。有了這個系統,學生和學習小組就可在課余時間編寫程序,熟悉指令格式,觀察程序運行的效果。利用按鍵控制、軟件單步執行等功能,學生甚至可以觀察到程序每一步運行的情況。
在做好安全及保管工作的前提下,教師在教室提供程序運行的硬件環境是學生學好單片機技術的重要保障。在這個硬件環境中,學習進度及操作進度較慢的同學可以利用課余補進度、解決疑點;對程序的不同格式、參數,學生可以反復驗證、比較;學生可以在硬件上完成課外作業、前置作業。相比于在實訓室的統一實訓,教室中的硬件環境給了學生時間長、內容豐富、形式多樣的學習和實踐機會。
美國的學習專家愛德加·戴爾研究發現一個非常有名的“學習金字塔”。該金字塔形象地顯示:不同的學習方式產生巨大差異的學習效果。其中,“做中學”可以掌握75%的學習內容;“教別人學”或者“馬上應用”,可以掌握90%的學習內容,比“聽講” “閱讀” “示范”等方式的學習效果要高很多。學生在有硬件支持的環境中學習,通過自編的程序使外部設備發光、發聲或轉動,就是“做中學”或“馬上應用”,而個別優秀生還可在現場“教別人學”。 所以,提供一個能實時觀察到程序運行過程和結果的硬件環境,將極大地提高學生的學習效果和學習積極性。
例如:單片機程序中,學生經常要利用“延時程序”來控制燈光或數字的亮滅時間,利用程序延時功能達到硬件閃爍的目的。一個精簡的延時程序如下:
YS: MOV R4,#0C8H
AA: MOV R3,#0FAH
BB :DJNZ R3,BB
DJNZ R4,AA
這個程序的延時時間受程序中第一行、第二行的兩個立即數“#0C8H、#0FAH”的控制。如果沒有即時的硬件環境,學生對于這個程序的延時時間長度沒有把握,難以實際判斷燈光或數字閃爍效果是否達到要求,有的學生甚至可能對該程序的正確性也不能確定。但如果有了硬件環境,學生就能驗證理論延時時間與實際時間是否相符,通過修改立即數“#0C8H、#0FAH”的值達到更理想的閃爍效果。
中職學生學習單片機程序設計知識雖然比較困難,但教師如果采用本文所述的有效策略,那么,學生學習單片機程序設計知識將會進入一種全新的境界,他們學習單片機知識既能入門,也能提高。
(作者單位:鶴山市職業技術高級中學)
參考文獻:
[1]顏金花.中職課改:學得會用得上[N].中國教育報,2008,7.
[2]李崢,陳得寶.單片機課程教學改革探討[J].淮北師范大學學報,2010,(2).
責任編輯 賴俊辰