摘 要:單片機是一門實踐性非常強的課程,又是一門非常抽象的課程。對于這樣的一門課程,課堂演示和學生實驗有著非常重要的作用,課堂演示可以將抽象的理論、枯燥的程序分析轉化為生動的實例,而實驗則能夠培養學生的動手能力,進一步理解有關理論知識。但在傳統的單片機教學中,幾乎不能見到課堂演示,而學生實驗中也存在諸多問題。
關鍵詞:單片機;教學;實驗仿真板
課堂教學演示難以見到的原因很多,其中有一個很重要的原因:課堂教學演示太困難、效果也不理想。通常,要做一次課堂演示實驗,要用到如下設備:計算機、仿真機或編程器、電源、實驗電路板。其中仿真機或編程器要和計算機相連,電源要接到實驗電路板上,為了上一節課,要準備較長時間;如果用仿真機做實驗,那么仿真頭要和實驗電路板相連,在真正做開發工作時,電路板放置好后就不必動了,但在課堂教學中卻需要拿起來實驗電路板來展示,稍有不慎,仿真頭會從電路板中脫落而造成錯誤,甚至可能損壞仿真頭或實驗電路板;如果用編程器寫片的方法來驗證實驗結果,那么就得多次在實驗板和編程器之間撥、插芯片,很麻煩,課堂效率低;即使勉強做,由于實驗電路板上的器件較小,學生很難看清有關現象,效果有限。學生實驗中同樣存在問題,單片機除了一些驗證性實驗外,主要是通過實驗來培養學生的動手能力,并通過實驗加深對理論知識的理解,從這一意義上來說,短短的課堂實驗時間是遠遠不夠的,應該給學生創造條件在課后動手實驗。但是傳統的單片機實驗不可能做到這一點,單片機實驗所必須的仿真機、實驗板、電源等等價格不菲,專業性很強,學生不可能自行裝備;由于實驗涉及到硬件,有一定的危險性,一般必須要由專業教師在現場指導,這也很難安排;學校單片機實驗室設備陳舊,由于單片機技術發展很快,單片機仿真機一般每過2-3年即更新換代,也就是常說的學與用的脫節。
1 解決方案
針對以上的問題,作者通過深入研究,開發了“單片機實驗仿真板”這一軟件,為解決這類問題提供了一些思路。該軟件以目前最流行的80C51系列單片機開發軟件Keil C為基礎,利用其提供的AGSI接口開發而成,下面就有關技術問題加以討論。
借助于Keil軟件的強大的調試功能,可以用單步、全速、加入斷點等方式執行程序,觀察各指令執行的效果。
將該軟件用于課堂教學演示有諸多優點,第一是速度快,程序修改、編譯后馬上就可以看到效果,不需要撥片、寫片、插片這么麻煩,提高了課堂效率;第二是效果好,可以放在多媒體教室上課,投影在大屏幕上,比之真實的實驗板要大很多,非常清楚;第三是方便,由于僅僅只有一個軟件,不需要任何的硬件連線,所以課堂演示非常容易;第四是起點高,由于Keil軟件是目前最流行的單片機開發軟件,所以學生學習的起點高。
2 教學實例
該課的名稱是《定時/計數器實例分析》,是在講完單片機中定時/計數器部份的理論之后開設的,目的是使學生進一步理解單片機定時/計數器的結構,學習使用定時/計數器的一般編程方法。該課程的難點在于定時/計數器編程中的一些概念難以理解,如編程開始為何要初始化、為何在定時時間到后要重置時間常數等等。如果使用常規的教學方法,無非是對程序進行認真和細致的分析與講解,至多輔以課件,演示各種現象,但課件是死的,只能按教師預設的方案進行講解,學生卻是活的,他們會給出很多你意想不到或者即便想到也不便于在課件中表達的問題,課件也不便于學生參與學習。
首先給出以前曾作過詳細分析的用軟件延時實現LED單燈閃爍的程序,然后給出用定時/計數器的方法實現的程序,讓學生看到,使用定時/計數器的確可以實現同樣的功能。然后提問:為什么要初始化,問題提出后,學生討論,但一般不會有什么正確的結果,既然想不出,那就做一做看,由于有這么一個實驗平臺,實驗做起來很容易,只要在程序行:
MOV TMOD,#00000001B
前加一個分號,即將該行注釋掉,然后按F7功能鍵重新匯編、連接即可實驗。學生看到了不進行初始化的實驗結果,現象是“亂跳”,無規律,學生雖不知道為什么會亂跳,但是對“沒有初始化,程序工作就不正常”這一點有強烈的認同。教師因勢利導,分析亂跳的原因是由于工作方式不對(正確的應該是工作方式1,如果沒有設置,則系統在復位時默認工作方式0),學生很容易接受。
這部份的教學任務完成后,再次提問:如果在定時時間到了之后不重置初值,會有什么結果?學生討論,但沒有統一的答案,然后同樣用實驗板試一試,即把標號“NEXT:”后的兩行程序:
MOV TH0,#HIGH(65536-20000)
MOV TL0,#LOW(65536-20000)
注釋掉,然后按F7功能鍵重新匯編、鏈接即可演示。學生很容易看到,第一次閃爍(燈由暗到滅)的時間與后面的時間不同,這一次學生比較容易總結出規律,不重置初值,只有第一次的定時時間是正確的,以后都不正確了。
從上面的敘述中可以看到,這一堂課真正地實現了在老師指導下的學生的自主性學習,而不是滿堂灌,這其中該實驗仿真板起到了關鍵的作用。這一節課的課堂容量大、課堂效率高,如果沒有這樣的實驗手段,用傳統的實驗電路板,編程器寫片驗證或用仿真機演示,學生是否都能看清不說,絕不可能這么快地進行實驗。
作者簡介
程金明(1976—),男,江西南昌人,江西科技學院,本科。研究方向:通信工程。