張子紅,劉鑫
(黑龍江科技學院,哈爾濱150027)
單片機課程是電子、通信、機電等專業的重要基礎課,是一門技術性和實踐性很強的課程,應用領域非常廣泛,實用性很強,且與后續專業課程、課程設計和畢業設計的聯系非常緊密。該課程的教學目標是使學生掌握單片機的結構、工作原理、尋址方式、指令系統,能進行硬件接口和應用程序的設計及對常用的單片機設備進行調試,并能設計實際應用產品。但由于多方面原因,大學單片機教學的效果并不理想,該課程的教學目標很難實現。
①單片機課程內容豐富,包括硬件資源、軟件系統、應用設計三大部分,覆蓋了硬件、軟件及應用,內容跨度大,但又相互滲透,緊密聯系。
②單片機課程應用性和實踐性非常強,這就要求單片機課程應采用課堂教學與實踐教學相結合的教學方式。
③單片機課程的很多教材內容與工程實踐的要求相比相距甚遠,這就要求教師在單片機課堂教學中將書本教學內容與工程實踐結合起來。
長期以來,單片機課程教學由理論課程教學、實驗課程教學等環節構成。單片機課程的教學采用“先原理后設計、先理論后實驗”的模式,理論教學的學時一般大大多于實驗教學的學時,而且實驗教學一般在“指令系統”講授之后才開始進行。這種教學體系的不足之處在于[1]:
①以講解大量的原理來引導學生入門,不僅使學生理解困難,而且感覺枯燥乏味。
②教學過程中以單片機原理為核心,其應用只是點綴,造成學生應用能力的培養不足。
③軟硬件介紹分離,對單片機軟硬件結合的系統設計方法強調不夠,這使得學生在構建實際的單片機應用系統時缺少系統化的思路。
④學生在學習過程中無法及時地驗證單片機的各部分功能,使學生失去了深入學習單片機的興趣。
⑤通常是在講授相關的理論之后才可以驗證實驗,使學生不能很好地掌握相關的理論。
⑥學生的動手經驗完全來自于加工成箱的實驗設備。學生主要的工作是機械地接孔連線,創造性的思維完全被禁錮在小小的實驗箱中,嚴重挫傷了學生的開發興趣。
⑦實驗箱經長期使用后,有些功能可能出現了故障,學生無法正確地驗證實驗。
⑧實驗箱設備的更新對于實驗室來說也是一筆不小的開支。
綜合以上因素,我們急需對單片機課程的教學進行改革。
自從參加單片機教學工作以來,對單片機傳統教學的情況進行了調查和分析,分別對我校計算機通信學院2003~2007學年單片機課程的教學計劃及教學效果進行了調查和統計,見表1和表2。

表1 單片機課程教學計劃調查表

表2 單片機課程教學效果調查表
根據調查結果,進行統計和分析,得出各項變化曲線,如圖1所示。

圖1 傳統單片機課程教學的效果柱形圖
根據以上調查情況,我們可以得出如下結論:
①理論教學學時逐年減少,理論考試成績不斷下降。
②實驗學時逐年增加,實驗成績逐年提高,實驗項目成功率也逐年提高。
③課程實訓的學時增加較多,因此學生的實驗成功率和應用設計作品成功率都在逐年大幅提高,而且參加全國大學生電子設計大賽的學生有多人獲得獎項。
總結這些年的變化是由于我校對學生動手能力的重視和培養,但由于總學時數有限,不得不犧牲學生理論教學的學時數,導致學生單片機理論考試成績逐年下降。綜合以上分析,有必要對單片機的教學進行改革,急需找到既能提高學生理論水平又能迅速提高學生的動手實踐能力的教學方法,以便進一步提高教學質量,提高學生綜合素質,以適應社會的競爭。單片機教改的目標是理論和實驗教學獲得雙贏的教學效果,確定了如下教改目標,如圖2所示。

圖2 教改單片機課程教學效果目標柱形圖
為了使得單片機的教改活動取得成功,我們分析單片機教學效果不理想的諸多原因并找出主要原因,見圖3。

圖3 教學效果因果圖
經過分析,導致單片機教學效果不理想的原因非常多,其中主要影響因素如下:
①資金不足。不能及時更新和添置實驗設備,導致學生的動手實踐能力不能得到很好的鍛煉。
②學生上課不認真聽講。不能較好理解單片機的教學內容,漸漸失去學習興趣。
③教學方法不得當。教師的教學方法和手段落后,教學內容枯燥,直接影響了學生的學習熱情和興趣,學生普遍缺乏學習的主動性和積極性。
針對上述影響教學效果的原因,提出利用Proteus軟件輔助單片機課程的教學,減少資金投入,提高學生學習興趣,掌握理論和實踐應用技能。
英國Labcenter公司的Proteus軟件,作為一個完整的電子設計與仿真平臺,由于其能實現電路仿真與處理器仿真的有機結合,為單片機的教學與實驗提供了革命性的手段,現在已經被越來越多的大學采用為單片機系統實驗室平臺及創新平臺[2]。隨著電子技術和計算機技術的迅猛發展,傳統的教學模式已經滿足不了現代化教學的需要,利用計算機的電子設計自動化EDA(Electronics Design Au tomatic)軟件進行多媒體輔助教學,已成為一種必然的發展趨勢。Proteus仿真軟件可以完成無實物仿真虛擬實驗,作為教學手段得到廣泛應用。
單片機教學涉及軟件和硬件兩方面的知識,在教學中應從單片機應用者的角度來講述,在工程應用的基礎上,理解和掌握單片機的硬件資源。下面以單片機驅動數碼管的靜態顯示為例來說明應用Proteus進行單片機課程教學的改革實踐與體會。[4]
單片機的I/O口和數碼管的理論知識講述比較枯燥,老師費盡口舌,學生也難以理解,而且學生自己動手應用的機會也比較少。實際上應從應用的角度出發,將軟硬件結合來講,在理論講述的同時,設計一個實例,利用Proteus仿真軟件設計硬件電路,用Keil軟件進行控制程序的編程、編譯和軟件調試,然后在Proteus中仿真實現。
首先,在Proteus仿真軟件中完成硬件電路的設計部分。硬件的設計方案有多種,可以給學生們列舉出來,選出一個作為本次課程的例子。其余的方案可以讓學生課后回去練習。這里以AT89S51單片機的P0口為例,P0口外接一上拉電阻和一個共陽數碼管,進行適當的布線后其結果如圖4所示。
其次,在Keil軟件中完成程序的設計部分。根據電路要完成的功能畫出程序流程圖,可以用匯編語言或C語言完成程序的編寫。本程序是用C語言編寫的,如圖5所示。
經過反復的調試可以看到數碼管上會循環顯示0~F這16個字符。如圖6、圖7所示。通過多媒體教學設備,

圖4 P0口驅動數碼管硬件原理圖

圖5 P0口驅動數碼管的程序

圖6 數碼管顯示數字0的效果

圖7 數碼管顯示字符F的效果
學生可以清楚地看到從硬件電路設計、編程以及軟件調試到硬件仿真的整個工程實踐的過程。學生在理論學習的同時增加了感性認識,進一步激發學生學習的興趣,更重要的是強調了單片機軟硬件結合的系統設計方法。然后在學生理解和掌握單片機并口的基本知識的基礎上,繼續引導學生在這個例子上做進一步的擴展,如實現數碼的動態顯示,按鍵的識別等。學生基本掌握了單片機的I/O口的輸入輸出功能,教學效果非常好。
同時,在單片機實驗室的教學資源比較緊張的情況下,可以使用Proteus仿真軟件來完成一些實驗的驗證[3],學生們可以根據實驗的目的和要求,獨立設計實驗的硬件電路和程序,在Proteus仿真軟件里首先調試通過。調試通過后,還可以依據原理圖,結合硬件仿真實驗箱,搭建實際的硬件實驗電路,對軟硬件進行聯機調試,然后觀察實驗現象,分析實驗結果,寫出實驗報告。在調試過程中,學生要自己動手分析解決實驗中出現的問題,在解決問題的過程中進一步加深對單片機應用系統軟硬件設計的理解。這樣不僅可以培養學生的動手實踐能力,還可以提高學生獨立分析和解決實際問題的能力。
我校2007~2008學年的單片機課程采用基于Proteus的單片機課程教學方法,統計數據如表3、表4所列。

表3 教改后教學計劃表

表4 教改后教學的效果表
將教改后的各項數據指標進行統計分析,并與教改前進行對比,見圖8。

圖8 教改前后教學效果對照柱形圖
以上數據和圖表顯示,我校2007~2008學年的單片機課程采用基于Proteus的單片機課程教學方法后,提高了學生的學習熱情,各項成績均有所提高,尤其是應用設計作品成功率大幅提高了,達到了教改的既定目標。
基于Proteus的單片機課程教學改革,從軟硬件結合、工程應用的角度講述理論知識,增強了學生的感性認識,進一步激發學生的學習興趣和主觀能動性。教學實例演示速度快,方便直觀而且形象化,體現理論教學與實踐教學的有機結合,有利于培養學生的動手能力、創新能力和綜合運用知識的能力,使學生受到更為實際、更加全面的科學研究與工程實踐訓練,提高教學質量。本次教改活動,不僅取得了較好的經濟效益,而且對于日后的教學改革提供了的嘗試。目前,還需要繼續提高學生的學習積極性和創業精神,加大教改的力度和活動范圍。
[1]汪寧.PROTEUS軟件的單片機仿真方法[J].山東輕工業學院學報,2007,21(1):24-27.
[2]李峻薇.PROTEUS在單片機教學中的應用[J].科技廣場,2007(9):179-180.
[3]劉心紅.PROTEUS仿真技術在單片機教學中的應用[J].實驗室技術與管理,2003,24(3):96-98.
[4]袁峰偉.基于PROTEUS的單片機課程教學與實驗改革[J].實驗室研究與探索,2007,26(12):75-78.