蘇州建設(shè)交通高等職業(yè)技術(shù)學(xué)校 李 英
任務(wù)驅(qū)動法在高職單片機課程教學(xué)中的應(yīng)用
蘇州建設(shè)交通高等職業(yè)技術(shù)學(xué)校 李 英
單片機課程在我校從高職三年級下學(xué)期開始學(xué)習(xí),學(xué)習(xí)兩學(xué)期。高職生本身的特點是沒有經(jīng)過高中階段,學(xué)習(xí)積極性不是很高,好奇心強,不太喜歡理論學(xué)習(xí),尤其是深奧的專業(yè)理論,但是喜歡動腦筋,喜歡自己操作。而單片機課程作為電子信息工程專業(yè)主要的專業(yè)課之一,本身的特點是內(nèi)容較多,且多是看不著摸不到的知識,因此,一般高職生認為單片機課程較為深奧,很難聽懂學(xué)會。筆者個人在單片機課程的教學(xué)過程中,根據(jù)學(xué)生的特點,第一學(xué)期主要采用理論講授,打好理論基礎(chǔ),第二學(xué)期主要是實踐操作。在第一學(xué)期的理論講授過程中,任務(wù)驅(qū)動法帶來了較好的教學(xué)效果。
以定時器/計數(shù)器部分內(nèi)容為例,按照單片機教材本身的安排,先是半頁介紹定時器/計數(shù)器的結(jié)構(gòu),然后兩頁介紹定時器/計數(shù)器的方式寄存器和控制寄存器(TMOD和TCON),接著三頁介紹定時器/計數(shù)器的工作方式,最后介紹定時器/計數(shù)器的初始化程序設(shè)計,在程序設(shè)計中才牽涉定時器初值的計算公式和例題。也就是說,普通的教學(xué)時間每節(jié)課45分鐘,需要整整一節(jié)課才能介紹完定時器/計數(shù)器所牽涉的理論知識,這一節(jié)課只需要學(xué)生認真聽講,然后第二節(jié)課才開始引入計算??上攵覀兊膶W(xué)生在第一節(jié)課只是小部分同學(xué)睡著了,極個別同學(xué)發(fā)呆,還有一部分在掙扎著盡量不睡,其實什么也沒聽進去。這樣的教學(xué)效果顯然背離了我們教學(xué)的初衷。因此,筆者采取了任務(wù)驅(qū)動法教學(xué)。
首先介紹定時器/計數(shù)器在實際生活中的應(yīng)用,比如,學(xué)校里提示上下課的自動鈴聲,自動洗衣機相關(guān)的洗滌時間、脫水時間,二極管的閃亮、彩燈循環(huán)等,通過這些應(yīng)用引導(dǎo)學(xué)生的思考和興趣,然后和單片機芯片定時器/計數(shù)器聯(lián)系起來。最后設(shè)置問題——如何實現(xiàn)定時功能?帶著問題,引導(dǎo)學(xué)生認真學(xué)習(xí)實現(xiàn)定時所需要的大概過程:首先進行定時器的初始化。通俗講就是給定時器設(shè)置初值,因為單片機復(fù)位之后除了SP為07H,P0~P3口為0FFH之外,其余寄存器都是OOH。因此如果想定時,必須先設(shè)定初值,比如隔1秒二極管閃亮一次,那么就應(yīng)該設(shè)置好1秒。另外,定時器的初始化還包括工作方式的設(shè)置,工作方式不同卻可以同樣實現(xiàn)定時的功能。接著啟動定時器。然后判斷定時器定時時間是否到,時間到后如何操作就可以完全按照實際需要去做了。那么,我們首先是要講清楚,如何設(shè)置定時器工作方式,從而引出TMOD,進行詳細介紹(圖1)。
其中,M1M0的組合決定了工作方式:00,對應(yīng)為方式0,01對應(yīng)方式1,10對應(yīng)方式2,11對應(yīng)方式3。接著,是定時器初值的計算,先給出公式:定時時間t=(2N-X)×機器周期,其中,X為定時器的初值,從而可以推出初值X=2N-t/機器周期。而常見的機器周期只有兩種,晶振為12MHz時,機器周期為1μs;晶振為6MHz時,機器周期為2μs。比如,定時器常用的工作方式只有方式0和方式1(應(yīng)用最多),方式0對應(yīng)的μ為13,方式1對應(yīng)的n為16,從而只要知道定時時間就可以計算出初值。
設(shè)定時器T0選擇工作方式0,求最長定時時間,如果要實現(xiàn)定時時間為1ms,fosc=6MHz,試確定T0的初值。并編程實現(xiàn),當定時時間到后將P1.4取反。
解:晶振fosc=6MHz 時,機器周期為2μs,T0處于工作模式0時,設(shè)定時時間為1ms時的初值為X,則X = 213-1ms/2μs = 8192-500 =7 692=1 111 000 001 100B。(1)
T0的高8位TH0= 11110000B,即F0H。
程序清單如下:
整整兩節(jié)課的時間,安排的內(nèi)容較多,而除了第一節(jié)課剛開始的十幾分鐘內(nèi)主要是教師本人在簡單講述,其他時間內(nèi)幾乎全體同學(xué)都在積極地參與計算、思考。當然,這期間教師要穿插提問和學(xué)生板演。事實證明,這兩節(jié)課不僅學(xué)生的參與率很高,而且內(nèi)容多,學(xué)生吸收的東西也多,甚至到下課時,仍有學(xué)生在討論對方計算有失誤,最后趁熱打鐵,布置的作業(yè)跟教學(xué)內(nèi)容非常相似,既包括了理論知識的鞏固,又有計算題目。筆者認為,這次打破傳統(tǒng)的理論講授,以提高學(xué)生積極性為目標,以學(xué)生參與為主線,采用任務(wù)驅(qū)動法的學(xué)習(xí)方法在實際教學(xué)中取得了明顯的教學(xué)效果。