朱高峰,張艷蕾
(湖南人文科技學院 物理與信息工程系,湖南 婁底 417000)
項目教學法是指師生通過共同實施一個個完整的“項目”工作而進行的教學活動,是“以項目為主線、教師為引導、學生為主體”的新型教學模式。將其應(yīng)用在我校電子信息科學與技術(shù)專業(yè)的單片機課程教學中,結(jié)果表明能顯著提高學生學習積極性,提高學生對單片機系統(tǒng)的分析、軟硬件開發(fā)和團體協(xié)作能力。
項目任務(wù)的設(shè)計是運用項目教學法的前提和基礎(chǔ)。授課教師既要考慮教學內(nèi)容和教學課時,又要注意學生的興趣愛好和可操作性,對單片機課程教學內(nèi)容和知識結(jié)構(gòu)進行設(shè)置和歸納,所規(guī)劃的項目要根據(jù)教學大綱由淺入深,循序漸進,由簡單的基本項目逐步過渡到復(fù)雜的綜合項目。湖南人文科技學院電子信息科學與技術(shù)專業(yè)結(jié)合Proteus 和Keil 軟件,編寫出了單片機項目實施課程講義,其項目任務(wù)如表1 所示。
表1 單片機教學項目任務(wù)分配表
現(xiàn)以“LED 顯示原理”的教學內(nèi)容為例,闡述項目教學法在單片機課程中的具體實施過程。
本課堂的教學目的是理解LED 顯示器的結(jié)構(gòu)和顯示原理,掌握單片機控制多位數(shù)碼管顯示的設(shè)計方法。將班級學生進行分組,每組2 人,教學場地定在裝有Proteus 和Keil 軟件的計算機房。教學時間為4 課時,第一課時安排為主要知識點講解、項目布置,第二課時安排為項目資料搜集、總體設(shè)計方案、硬件設(shè)計,第三課時安排為系統(tǒng)軟件設(shè)計,第四課時安排為系統(tǒng)仿真調(diào)試、綜合評價。其中知識點的講解主要包括LED 顯示器的結(jié)構(gòu)及相關(guān)驅(qū)動碼,多個LED 顯示的2 種顯示方式,講授時間約40 分鐘。接下來布置項目,設(shè)計的基本任務(wù)為要求學生利用51 單片機驅(qū)動4 個七段數(shù)碼管同時顯示數(shù)字,學生可以根據(jù)自己所學知識和興趣進行功能擴充,同時鼓勵學生采用多種方法和不同的編程語言來完成設(shè)計。
充分發(fā)揮學生的主動意識,引導學生進行項目分析和資料查詢。首先要確定所用的數(shù)碼管是共陰極還是共陽極,共陰極的位線接地,共陽極的位線接高電平5V。同時為了使數(shù)碼管足夠亮,可考慮段碼線外接三級管或其他邏輯門驅(qū)動,接下來要思考單片機的驅(qū)動方式。
方式一最基本的驅(qū)動方法是單片機的4 個8 位的I/O 口分別連接4 個數(shù)碼管,由于各位的數(shù)據(jù)輸出口不同,在同一時間里,每一位顯示的數(shù)據(jù)也可以不同。但實際開發(fā)表明,當此方式顯示變化的數(shù)據(jù)時,LED 有閃爍感,且亮度不夠。
方式二在方式一的基礎(chǔ)上考慮增加鎖存器,同樣采用靜態(tài)顯示方式,如在每路I/O 口線上增加一片74LS373,LED 顯示的字符驅(qū)動碼一經(jīng)送出,相應(yīng)鎖存器將鎖存其段碼而維持不變,直至送入另一個字符的段碼為止。但仍然無法克服占用單片機口線太多的缺點,在實際應(yīng)用中也不可取。
方式三采用前面講授過的LED 動態(tài)顯示方式,這樣能簡化硬件電路。將所有位的段碼線相應(yīng)段并聯(lián)在一起,由單片機的1 個8 位I/O 口控制,形成段碼線的多路復(fù)用,而各位的共陽極或共陰極引腳分別由單片機相應(yīng)的I/O 線控制,形成段碼線的分時選通。即在任一時刻,只讓其中一個數(shù)碼管的位選線處于選通狀態(tài),字符驅(qū)動碼同時送往段碼線而顯示相應(yīng)的字符,其他3 位是熄滅的。而在其下一個時刻讓下一個數(shù)碼管的位選線處于選通狀態(tài),相應(yīng)的字符驅(qū)動碼也送往段碼線,則下一個數(shù)碼管被點亮,其他3 位是熄滅的。由于LED 的余暉和人眼的視覺惰性,當各位顯示的時間間隔足夠的短,則可以達到同時顯示的假象[1]。
方式四還有一種更經(jīng)濟有效的方式是利用串行口擴充輸出,通過移位寄存器如74LS164 實現(xiàn)串并轉(zhuǎn)換。單片機的串口由P30(RXD)和P31(TXD)組成,當串口以方式0 工作的時候就是以SPI 的方式工作。用此方式來拓展低速的I/O 口,尤其是作為顯示的控制,可以節(jié)省大量的P 口。為了擴充教學知識點,可以在設(shè)計好的電路圖中再加入中斷電路,由按鈕BUTTON1、BUTTON2 來產(chǎn)生不同的中斷信號,顯現(xiàn)出不同的數(shù)值。
在查閱和論證了相關(guān)資料后,學生要針對自己所選用的系統(tǒng)設(shè)計方案,用Proteus 仿真軟件繪制電路原理圖。接下來的關(guān)鍵就是進行軟件設(shè)計,對于知識掌握扎實的學生,鼓勵他們用匯編語言和C語言分別進行編程。先根據(jù)所采用的驅(qū)動方式和項目要求,約定好輸出形式和速度,確定算法。其次再將任務(wù)具體化,畫出程序流程圖。最后編程前還要進行資源分配,如內(nèi)存工作區(qū)、變量名稱、堆棧區(qū)等。用Keil 軟件編寫好源代碼后進行調(diào)試,調(diào)試范圍可以由小到大、逐步增加,通常交叉使用單步運行、斷點運行、連續(xù)運行等。每次調(diào)試過程中要注意RAM 中的相關(guān)內(nèi)容、I/O 口的狀態(tài)是否正確,最后結(jié)合Proteus 進行系統(tǒng)仿真[2]。對于提前完成基本功能的同學可以適當進行功能擴展,比如用方式四進行數(shù)碼管驅(qū)動,采用共陰極的數(shù)碼管,再加入按鍵觸發(fā)中斷的知識點,從而提高學生的綜合能力。系統(tǒng)仿真結(jié)果如圖1 所示,按下BUTTON1 后將顯示2008,按下BUTTON2 后將顯示0808,項目任務(wù)順利完成。
圖1 系統(tǒng)仿真圖
為增加學生的成就感和學生的鑒定能力,顧及“知識與技能”、“過程與方法”、“情感態(tài)度和價值觀”三個方面[3],項目總評采用學生自評(30%)、互評(30%)和教師總評(40%)相結(jié)合的方式。項目評分細節(jié)可考慮資料收集是否準確(5%)、系統(tǒng)方案是否可行(10%)、硬件電路是否正確(15%)、程序調(diào)試是否成功(15%)、實現(xiàn)方法是否單一(15%)、系統(tǒng)功能是否多樣(20%)、項目完成是否及時(10%)、回答問題是否正確(10%)。
實踐證明,將項目教學法應(yīng)用在我校電子信息科學與技術(shù)專業(yè)的單片機課程教學中,最終提高了學生應(yīng)用知識的能力和綜合素質(zhì),滿足了社會需求。但同時對教師有了更高的要求,要求教師在精通項目設(shè)計的同時能有機聯(lián)系理論知識點,不斷總結(jié)項目實施過程中的經(jīng)驗教訓,與傳統(tǒng)教學相互補充,才能達到更好的教學效果。
[1]張毅剛.單片機原理及應(yīng)用[M].北京:高等教育出版社,2003.
[2]李學禮.基于Proteus 的8051 單片機實例教程[M].北京:電子工業(yè)出版社,2008.
[3]孫凱.項目教學法在電氣控制技術(shù)教學中的應(yīng)用[J].信息系統(tǒng)工程,2011(12):138-139.