摘 要:筆者通過總結(jié)單片機的教學(xué)過程中的經(jīng)驗以及與同組老師交流所得關(guān)于單片機教學(xué)的方法,提出采用適當(dāng)?shù)姆椒▉斫鉀Q單片機在高職中專教學(xué)中的問題。即通過任務(wù)教學(xué)方式,讓學(xué)生學(xué)習(xí)時把理論和實際操作相結(jié)合,促進學(xué)生自主學(xué)習(xí),以更好地實現(xiàn)教學(xué)效果。
關(guān)鍵詞:單片機 任務(wù)教學(xué) 實驗演示 自主學(xué)習(xí)
自19世紀(jì)70年代第一塊單片機問世至今,單片機以其優(yōu)異的性能和低廉的價格滲透到社會生活的各個角落。而芯片制作工藝技術(shù)水平的提高以及單片機需求量的不斷加大,也為單片機的發(fā)展提供了強大的動力。隨著單片機廣泛運用于工業(yè)控制、汽車、生活用品、辦公室自動化、通信系統(tǒng)等領(lǐng)域,學(xué)生是否具有單片應(yīng)用甚至開發(fā)能力已成為相關(guān)產(chǎn)業(yè)的一個招聘衡量標(biāo)準(zhǔn)。教育當(dāng)然也要與實際需求接軌,才有可能使得培養(yǎng)出來的學(xué)生適應(yīng)目前就業(yè)市場的要求。
一、利用匯編語言結(jié)合電路理解單片機原理
在筆者學(xué)校歷年來的教學(xué)檢查中,大多數(shù)教師反映本課程難教,除了教學(xué)設(shè)備沒跟上外,很重要的一個原因是高職中技目前的生源質(zhì)量不高。很多學(xué)生特別是中技的學(xué)生對于英語的認識基于字母,所以一看到編程所用的操作碼就頭大,從而一開始就放棄了學(xué)習(xí)。111條匯編指令就令他們產(chǎn)生畏懼,更不要提什么C語言編程了。對于掌握C以及C++的人來講,采用它們來編程序易修改,使用靈活方便、可移植性強,而且不需要考慮到寄存器存儲空間,當(dāng)然比匯編來得容易。而匯編語言也有它自己的優(yōu)點:匯編語言比較貼近于硬件,而且時間比較精準(zhǔn),且學(xué)習(xí)匯編有利于更為細致地了解對程序。鑒于在校學(xué)生的知識層次和匯編語言更適合于初學(xué)者,即便111條匯編沒有C語言方便靈活,但對于學(xué)生學(xué)習(xí)單片機入門也是最好的選擇。
對于單片機的原理理解,利用匯編語言結(jié)合電路的方法是很有效的。在指令的講解中多結(jié)合實例,通過實驗板演示,以提高學(xué)生對指令的理解和興趣。如果沒有實用器材,那么采用軟件進行模擬仿真調(diào)試并觀察程序的運行結(jié)果,對于學(xué)生理解程序也會有幫助。人喜歡感觀認識,以眼見為實,見到了對于提高學(xué)習(xí)興趣就有很好的幫助。最簡單的單片機軟件是Keil uVision系列。但對于教師教學(xué)而言,應(yīng)該就是Proteus,它與Keil uVision結(jié)合給學(xué)生進行展示程序執(zhí)行結(jié)果,可謂是“兩個搭配,干活不累!”但是同時也要提醒學(xué)生,軟件的應(yīng)用和仿真不能代替實際電路。當(dāng)然如果有條件,用硬件來調(diào)試軟件是最好的,但在沒有條件的情況下,它們的組合將是不錯的選擇。
二、采用任務(wù)教學(xué)法
在教學(xué)過程中,筆者采用了任務(wù)教學(xué)法。在講解完各個指令后,會要求學(xué)生根據(jù)具體要求寫出指令通過調(diào)試,并在單片機開發(fā)實驗儀上進行簡單的實驗。按指令功能分類進行教學(xué)和實驗:例如數(shù)據(jù)傳送指令,可利用它來實現(xiàn)控制燈亮和燈滅。如下列程序:
LINE SOURCE
1 ORG 0000H;程序開始,ORG是一條偽指
令,表示程序從地址0000H開始
2 LJMP MAIN;跳轉(zhuǎn)到主程序
3 ORG 030H;主程序從地址0030H開始
4 MAIN:MOV P0,#00H;對I/0清零,即無信
號輸出,燈滅
5 MOV P1,#00H
6 MOV P2,#00H
7 MOV P3,#00H
8 ACALL DEL;調(diào)用延時子程序DEL
9 MOV P0,#0FFH;對I/0置1,即無信號輸
出,燈亮
10 MOV P1,#0FFH
11 MOV P2,#0FFH
12 MOV P3,#0FFH
13 ACALL DEL
14 AJMP MAIN;跳轉(zhuǎn)到主程序
15 ORG 0200H
16 DEL: MOV R5,#04H;以下為延時子程序
17 F3: MOV R6,#0FFH
18 F2: MOV R7,#0FFH
19 F1: DJNZ R7,F(xiàn)1
20 DJNZ R6,F(xiàn)2
21 DJNZ R5,F(xiàn)3
22 RET
23 END
該程序只是讓燈全亮全滅,把程序燒錄到單片機實驗板上,先分析程序,再演示實驗結(jié)果。讓學(xué)生從知識的理論層面到感觀層面進行認識。再給幾段差不多但燈亮燈滅不一樣的程序燒錄到單片機中實驗演示。當(dāng)學(xué)生了解了指令的格式和作用后就可以讓全班同學(xué)按8人一組進行分組,并提出想要實現(xiàn)的不同結(jié)果功能,讓學(xué)生們通過自主討論和分析寫成程序,并通過現(xiàn)場調(diào)試再演示出結(jié)果。讓組員上來講解程序以及各條指令運行的結(jié)果。學(xué)生們有了自主學(xué)習(xí)的機會,可加深其對指令語句的理解。在此,不僅讓學(xué)生鞏固指令,同時還訓(xùn)練學(xué)生的表述能力。同時要鼓勵學(xué)生在他們自己的電腦上安裝Keil uVision3,可以在平時進行軟件仿真程序的調(diào)試與運行。
雖然上面所演示的程序很簡單,而且只能算是簡單實操輔助理論課程,但它可以使剛?cè)腴T的學(xué)生在成功的結(jié)果后面產(chǎn)生更多的學(xué)習(xí)興趣,提高了學(xué)生的動手能力和參與熱情。作為一個單片機的入門程序并不是越復(fù)雜越好,而是應(yīng)該體現(xiàn)在如何引導(dǎo)學(xué)生進入該課程的學(xué)習(xí)和引發(fā)學(xué)習(xí)興趣。人往往在知道了一點后才會有想深入學(xué)習(xí)的欲望,這種欲望是學(xué)生學(xué)習(xí)好該課程的動力。因而,無論教或?qū)W都應(yīng)該由微入細,由易到難,逐步實現(xiàn)教學(xué)目的和引導(dǎo)學(xué)生進行自主學(xué)習(xí)。
在單片機的學(xué)習(xí)中,難的并不是硬件也不是接線,而在于指令學(xué)習(xí)與運用。硬件相當(dāng)于人的身體,軟件相當(dāng)于人的思想,只有強壯的身體而沒有思想是傻子。想要更好地發(fā)揮硬件的作用,就必須更好地掌握軟件。加強對指令的熟悉程度是必要的,對于44個操作碼,筆者首先用最笨的方法——背和抄,先記住它們,再與7種尋址方式相結(jié)合進行記憶;其次是多看程序,現(xiàn)在單片機的發(fā)展使它有著各色各樣的程序,從程序中了解指令的功能和應(yīng)用。對于小程序要懂得分析每一步運行結(jié)果,及其對其他寄存器內(nèi)容和各種標(biāo)志位的影響。對于較復(fù)雜的程序要學(xué)會分析出最終的結(jié)果和執(zhí)行目標(biāo)。在不斷地看程序中掌握指令。最后就是利用指令對一題用不同指令進行編程,也可以加強對指令的靈活運用。
總之,在該課程的教學(xué)中,教師要立足于學(xué)生的現(xiàn)狀進行教學(xué),通過多展示、多總結(jié)、多分析進行教學(xué)。對學(xué)生的學(xué)習(xí)要注重引導(dǎo),在掌握基礎(chǔ)知識的層面上讓學(xué)生自主編程、調(diào)試和演示,并學(xué)會與同學(xué)進行知識的交流,把自己的程序講解給同學(xué)們。而且?guī)熒g要多交流和溝通,對學(xué)習(xí)過程中的難疑點要進行一一突破。
參考文獻:
[1]陳亮,康娟,劉濤.單片機課程教學(xué)改革的幾點看法[J].技術(shù)監(jiān)督教育學(xué)刊,2006(1).
[2]林格,程鴻勛,唐曾磊.自主學(xué)習(xí)[M].北京:新世界出版社,2010.
[3]袁道香.《單片機原理與應(yīng)用》課程教學(xué)改革與探討[J].無錫南洋職業(yè)技術(shù)學(xué)院論叢,2011(10)
[4]張鑫.單片機原理及其應(yīng)用[M].北京:電子工業(yè)出版社,2010.
[5]周航慈.單片機應(yīng)用程序設(shè)計技術(shù)[M].北京航空航天大學(xué)出版社,2011.
(作者單位:廣東省國防科技高級技工學(xué)校)