閆 龍, 張 鑫, 張順堂, 溫國鋒, 吳昌友
(山東工商學院 a.管理科學與工程學院; b.信息與電子工程學院,山東 煙臺 264005)
隨著科技發(fā)展,單片機技術在工業(yè)自動化、智能儀表、機器人、民用電子產(chǎn)品、汽車、航空、國防等領域被廣泛應用[1]。據(jù)統(tǒng)計,單片機在所有智能芯片類的應用中占有90%以上。
單片機應用技術是一門實踐性和綜合性都很強的課程。它是電氣、自動化控制、電子、計算機等專業(yè)的一門重要課程。前導課程包括數(shù)字電路、模擬電路、C語言程序設計、EDA,相關課程還有嵌入式原理及應用、微機原理等,在本科生培養(yǎng)過程中占據(jù)重要地位。同時,單片機在教育部和工信部舉辦的各項大學生競賽中也是必不可少的器件。經(jīng)驗表明,具有一定程度的單片機應用技術能力在就業(yè)和考研過程中往往能脫穎而出。因此,在各高校提高學生實踐能力的同時,單片機原理及應用的教學和實踐活動在整個培養(yǎng)方案中比重呈現(xiàn)上升趨勢[5~8]。
目前單片機教學基本上采用課堂授課外加實驗的方式。在此過程中發(fā)現(xiàn)有以下幾個問題[2,9-15]:
(1) 教材內(nèi)容相對古板陳舊。目前,很多高校的單片機教學中依然采用匯編語言作為主要學習內(nèi)容。匯編語言對于理解CPU運行方式、指令周期及地址和信號復用、執(zhí)行效率方面有一定的優(yōu)勢,但在CPU主頻越來越高、種類越來越多及使用者范圍越來越廣的形勢下,匯編語言無形中增加了學習成本,提高了開發(fā)的門檻。在實踐中學生更傾向于采用C51語言進行開發(fā)。C51的可讀性及可移植性遠遠超過匯編語言。而在現(xiàn)有的教材中C51的部分只是作為介紹,比例遠遠不夠。單片機內(nèi)容包括單片機內(nèi)部結(jié)構(gòu)、工作原理、硬件時序、指令周期等,該部分內(nèi)容抽象、晦澀難懂。僅僅靠圖片和教師的解說很難深入理解,寄存器內(nèi)容和堆棧等內(nèi)容和8086、8088芯片很容易混淆。雖然教材內(nèi)容也在逐步更新,但和硬件的發(fā)展速度相比要慢。
(2) 實驗箱集成度高,實驗原理難以掌握。很多高校單片機實驗室為了方便管理,實驗箱集成度很高。學生直接插拔幾根導線即可完成實驗。做完實驗后,學生對實驗的原理仍然不能充分掌握,印象不深刻。實驗設備集成度很高,實驗過程中出現(xiàn)問題不容易調(diào)試。實驗設備損壞后只能通過更換部件來解決,增加了設備維護費用。
(3) 教學和實驗脫節(jié)。傳統(tǒng)的電子教學模式是在教室里授課以后,再到相關實驗室做實驗。其中,授課與實驗時間可能相差幾天的時間,甚至是半個學期。學生在學習過程中產(chǎn)生的想法不能得到及時驗證,問題得不到解決,學習興趣也得不到提高。久而久之,積累的問題越來越多,學習熱情逐漸下降。
(4) 實踐訓練少。單片機課程是一個理論加實踐的過程,在后期學習過程中,實踐時間要遠遠大于理論學習時間。而在課程實驗計劃中,實驗時間是十分有限,限于設備的問題,學生不能充分驗證自己的想法。
在教學改革中,嘗試采用教學、實驗、實訓三位一體的教學方法,更新教學和實驗設備,充分發(fā)揮多媒體教學功能。增加學生接觸實驗設備的機會,提高學生的學習興趣。
為了滿足新的教學方法的需要,首先建設了單片機實驗室,每個實驗臺包括微機一臺和實驗箱一臺,并配有多媒體(見圖1)。購買了正版的Keil、Proteus軟件和多媒體教學軟件。實驗室微機通過聯(lián)網(wǎng)和多媒體電子教室軟件用來授課或展示,教師端顯示器的圖像可實時傳送到學生顯示器上。可實現(xiàn)文件分發(fā)與收取、統(tǒng)一測試等功能。微機和實驗設備通過com端相連,以串行方式通信,實現(xiàn)一鍵下載等功能。微機端可實現(xiàn)程序的單步運行調(diào)試、設備監(jiān)控等功能,還可獨立進行Proteus仿真。
圖1 實驗臺
在單片機原理及應用課程中,教學、實驗和實訓都在實驗室中完成。教學時通過多媒體電子教室軟件可將教師端的顯示器窗口廣播給學生端,端口引腳及導線連接更清晰,教師可以用不同顏色的線進行標識,解除了投影儀解析力不夠、學生看不清楚連線的難題。
每堂課50 min,講課時間控制在35 min左右,學生用留下的15 min進行實驗。學期開始將課程規(guī)劃發(fā)給學生,每次課的內(nèi)容及實驗要進行預習。如果不預習在15 min內(nèi)順利完成實驗會有一定難度,在接下來的實驗中教師巡回檢查實驗情況,很容易發(fā)現(xiàn)實驗和教學中存在的問題。
把實驗時間打散融入教學,使教學和實驗結(jié)合的方式既合理的利用了時間,又提高了學生學習的興趣。根據(jù)調(diào)查,學生的注意力是有限的,一般學生每堂課大概能集中注意力20~25 min左右。做試驗時,學生有了動手和思考空間,一般都能全神貫注地投入。如果每堂課講50 min,時間利用率只有50%左右,而講課35 min+實驗15 min,時間利用率可提高到80%以上。
另外,課程教學計劃中添加了C51編程與Proteus仿真[3],圖2所示為Proteus學習資源,大概占用4~6學時。鼓勵學生從實踐中學習,同時采用匯編和C51進行編程,更好地體會兩者的優(yōu)缺點。建立Proteus仿真實驗中心,從簡單實例開始到常見的應用都建立了模板,學生練習起來就像沖關玩游戲,積極性大大提高。Proteus仿真實驗室克服了實驗設備集成度高的缺點,可以從零開始自主搭建系統(tǒng),能更深入地了解實驗過程[4]。
圖2 Proteus學習資源
在完成教學和實驗內(nèi)容后,還增加了實訓環(huán)節(jié),實訓項目如表1所示。實訓由之前的課程設計演變而來,但包含的內(nèi)容更廣泛,形式也更靈活。結(jié)合學校的教學任務和發(fā)展規(guī)劃。實訓需要完成1~2個比較完整的項目。根據(jù)項目的難度評分。學生可自由選擇難度不同的項目選做。做的形式也較為靈活,可通過Proteus進行模擬和仿真,也可選擇做出實物,通常做出實物的組都能得到較高的分數(shù)。
學校還推出了以賽代練的活動,可以比賽的作品來代替課程設計,對于一些喜歡硬件設計的同學是個福音,這些同學對于硬件設計介入較早,參加過電子設計比賽或機器人大賽,可將他們的時間從課程設計中解放出來參加更多的比賽活動。
現(xiàn)就實訓項目中:“步進電動機控制與實現(xiàn)”討論單片機項目教學的具體實施過程。
表1 實訓項目列表
(1) 設計目標。使用AT89C51單片機控制步進電動機,實現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、換擋控制、顯示控制狀態(tài)等要求??紤]單拍運行和雙拍運行兩種方式顯示。
(2) 方法分析和相關知識點講解。此項目中涉及到了按鍵控制、步進電動機運行原理及控制方法、顯示器顯示等內(nèi)容。教師可以引導學生構(gòu)思實現(xiàn)方法,比如顯示是使用數(shù)碼管還是LCD,按鍵采用中斷處理還是掃描處理等,然后教師講解步進電動機的單拍、單雙拍及雙拍運行方式的區(qū)別、步進電動機的驅(qū)動電路等。
(3) 學生分組討論實施方案。學生2至3人1組,討論實施具體方案,得出各小組的設計方案。
(4) 硬件設計方案。根據(jù)設計目標與設計方案在Proteus仿真軟件中畫出如圖3所示的電路圖。各小組方案不一樣,硬件設計圖有一些差別。
圖3 Proteus仿真工作界面
(5) 軟件設計及聯(lián)合調(diào)試。根據(jù)圖4所示的程序流程圖,在Keil uvision中編寫源程序,對源程序編譯,產(chǎn)生可執(zhí)行Hex文件。將通過調(diào)試的程序加載到Proteus仿真電路中,聯(lián)合調(diào)試。
圖4 數(shù)字電壓表程序流程圖
(6) 實際作品制作。仿真調(diào)試通過后,學生在Altium Designer軟件中繪制原理圖并設計PCB,Proteus中也有類似的功能,可直接由仿真原理圖生成PCB圖。一般情況下,由于是練習作品,推薦學生用面包板或萬用板實現(xiàn)所設計的功能。
(7) 測試與評價。項目完成后,由學生之間互相檢查項目的完成情況,展示學生的成果,交流心得體會及經(jīng)驗,推薦最佳作品,并進行公開匯報,最后由教師總結(jié)并進行評價。在項目完成后,學生以項目組為單位,完成資料的編寫與整理工作,以便查詢和存檔。
在實施教學、實驗、實訓三位一體的教學方法中也給教師提出了新的挑戰(zhàn)。① 授課時間減少,要突出重點,抓住學生理解的難點。② 要在實踐過程中對各種器件和常見的應用了然于胸,對調(diào)試過程比較熟悉,而不僅僅是紙上談兵。③ 課程、實驗及實訓中,考核環(huán)節(jié)增多,增加了教師的工作量。
對學生的學習習慣也有新的要求。課前必須進行預習,帶著問題和任務來聽課,否則在有限的時間內(nèi)掌握不了課程內(nèi)容。課前要把實驗程序準備好,否則有可能在規(guī)定的時間內(nèi)完不成實驗。課程內(nèi)容當堂理解,實驗過程促使學生積極思考教學內(nèi)容,而且動手也提高了學生的學習興趣。
將教學、實驗和實訓合為一體,基本上解決了單片機教學中理論和實踐統(tǒng)一的問題。在進行本課程的過程中,學生將數(shù)字電路、模擬電路及微機原理、單片機的知識融會貫通,并對日常開發(fā)軟件Proteus、Keil C、Altium designer等都能熟練掌握,在全國大學生電子設計比賽、飛思卡爾智能車比賽和其他大學生創(chuàng)新比賽中都起到了積極的作用。