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