劉云朋 王春霞
摘? 要:高校單片機課程教學存在課堂與實驗脫節、實驗室維護成本高、學生學習效果不高等缺點,在教學改革中有必要引入基于Proteus和Keil技術為核心的虛擬實驗室教學手段。本文簡單介紹單片機虛擬實驗室的構建模式,從教材的選擇、仿真模型的設計、實驗操作的開展、自主性與創新性實驗的探索等方面作出相應的改革,提升了教學質量與效果,得到師生的充分肯定。并列舉教學實例說明。
關鍵詞:單片機;虛擬實驗室;Proteus;Keil
中圖分類號:TP368.1? ? ? ?文獻標志碼:A? ? ? ? ?文章編號:2095-2945(2020)07-0081-03
Abstract: The teaching of single-chip microcomputer course in Colleges and universities has the disadvantages of disconnection between classroom and experiment, high cost of laboratory maintenance, and low learning effect of students. It is necessary to introduce virtual laboratory teaching method based on Proteus and Keil technology in the teaching reform. This paper briefly introduces the construction mode of single-chip virtual laboratory, and makes corresponding reform from the selection of teaching materials, the design of simulation model, the development of experimental operation, the exploration of independent and innovative experiments, which improves the teaching quality and effect, and gets the full consent of teachers and students. Finally, the teaching examples are listed.
Keywords: single chip microcomputer; MCU; virtual laboratory, Proteus; Keil
1 概述
1.1 課程介紹
單片機作為一種最基礎的電氣智能化控制部件,被廣泛應用在數碼控制、汽車制造、通訊、電器電子等方面,大到飛機郵輪,小到空調遙控器。目前單片機有關課程已經是高校信息工程、電氣工程、自動化工程、應用電子技術等專業的一門專業核心課程,該課程注重理論與實踐的綜合培養,強調學生動手能力與創新思維的培養,該課程的開展為培養工程技術人員奠定了良好的理論和實踐基礎[1]。
1.2 教學改革的必要性
在實際的學習過程中,學生反映這門課程過于抽象、晦澀難懂,理論課程中,僅通過書本與幻燈片無法理解單片機內部結構、框架流程、工作原理;實驗課上,學生只會按照既定步驟,機械的去重復實驗操作,對于其中原理知之甚少,也無法與理論融會貫通。溯其根源,還是因為單片機是一門硬件與軟件、理論與實踐高度結合的課程,需要同時進行學習與驗證。只學習理論,會覺得過于抽象、無法理解;只學習實驗,則變成機械模仿,無法掌握理論知識。
同時由于實驗室承載能力與課程學時限制,學生動手操作機會比較有限。再加上實驗室設備的有形損耗(包括老化、故障、誤差過大等)與無形損耗(技術的進步導致設備落后),這都增加了實驗室的運行與維護成本。另外,出于對師生人身安全與設備安全的考慮,課程多為驗證性的實驗,無法開展自主與創新性的實驗。這種情況下,課堂的創新氛圍與學生的興趣也難以提高,最終導致該課程枯燥乏味。
為提升教學質量,國內外很多高校都在采用圖形化、仿真模擬與虛擬現實等方法推動虛擬實驗室建設[2],操作者可以在計算機上模擬真實實驗室條件下的實驗操作,可以更加直觀的了解內部結構、任意變更參數重復實驗、降低成本、提高人身與設備安全性。這項技術已經廣泛運用在機械、電子、物理、化學、醫學等學科。
2 核心技術
虛擬實驗室在單片機領域主要包含以下兩個核心技術:
2.1 Proteus軟件
Proteus是英國Lab Center Electronics公司開發的EDA程序(仿真軟件),是目前業界技術含量最高、型號最齊全的微控系統仿真平臺軟件。與同類產品相比,Proteus除了具備仿真功能外,還可以實現仿真單片機以及附屬外部設備[3]。該軟件從框架結構設計、參數調試到單片機與外接設備協同仿真,快速轉換到PCB(Printed Circuit Board印刷線路板)設計,可以將思路與產品完美銜接。該軟件不僅支持采用PLM(計算機編程語言)、匯編與C語言進行程序開發,同時支持多窗口、多文件編輯,支持兼容市面上常見芯片模型。Proteus主要包括設計圖輸入系統ISIS、動態原件庫、混合仿真器、以及印刷線路板編輯器ARES等。元件庫包括數字與模擬、直流與交流、信號發生器、示波器等多種虛擬設備。
Proteus軟件不只是一個單片機的仿真環境,更是一個擁有無窮擴展范圍與創新空間的實驗平臺。在缺乏必要的輸入、輸出、顯示、調試等硬件設備的條件下,依然可以利用該軟件,清晰形象的了解單片機的結構原理、方便快捷的展示實驗過程與結果。既克服了硬件與學時上的困難,又提高了學生的掌握水平,培養了學習興趣,擴展了創新思維。這是過去的“灌輸式”課堂與“模仿式”實驗所無法達到的效果的。
2.2 Keil軟件
Keil是使用最廣泛的采用C語言的單片機開發軟件,由美國Keil Software公司出品。與匯編語言相比,C語言功能強大、結構簡單、可讀性強、維護方便。同時Keil擁有一整套開發程序,包括C語言編譯、宏匯編、項目鏈接、數據運行庫管理以及仿真調試模擬器等等,這些功能都被組合成一個集成開發軟件。該軟件安裝簡單、功能完善、調試準確、工作效率高、生成匯編代碼緊湊、便于理解與糾錯[4]。
2.3 協同作用
為了建設虛擬實驗室,需要將二者緊密聯系在一起。Proteus不僅支持MCS系列以及派生系列的單片機,同時也支持AVR和PIC核心的單片機。Proteus軟件可采用模擬與數字、直流與交流等數千種元器件,以及數據庫中沒有的型號,也可以根據實驗需求進行創建。這就需要將C語言與匯編語言進行編譯,然后進行軟件與硬件的仿真模擬。解決了這個框架問題后,采用Proteus建設虛擬實驗室就水到渠成了。
3 虛擬實驗室的建設
構建單片機虛擬實驗室,硬件上需要計算機與互聯網或者局域網,軟件上需要計算機操作系統、Proteus和Keil軟件,外觀上就像一個普通的計算機房。虛擬實驗室將電腦網絡、虛擬現實與多媒體交互等技術融合在一起,學生通過計算機接入互聯網或者局域網內的虛擬實驗室系統,通過輸入終端與虛擬軟件進行交互,輸入參數,設定程序,就可以方便快捷的得到相應的結果。[5]每個學生都有足夠的時間和親自動手的機會,來進行實驗,這在傳統的真實實驗室中是很難做到的。
3.1 虛擬實驗室的框架
從結構上看,單片機虛擬實驗室分為管理模組和教學模組。管理模組分為教師、學生、管理員三個功能,在系統登陸與權限上予以區別,是為了方便教師授課、學生學習、管理員維護系統而設置。通過網絡的連接,教師可以將實驗任務與內容快速發送到學生界面、學生實驗操作也可以及時反饋到教師終端,提高了學習效率,活躍了課堂氣氛。教學模組提供了豐富的單片機結構與原理教學課程,學生可以預習課程內容、開展虛擬實驗以及生成與修改實驗報告。見圖1。
從教學內容上看,單片機虛擬實驗分為驗證性與創新開發性實驗兩種。實驗模板結構通常由教師提前設定統一格式,并下發給學生終端。模板包括:實驗名稱、元器件庫、實驗工作區與提示項等內容。實驗名稱指明本次實驗的目的,元器件庫限定本實驗所需的元器件、實驗工作區為學生實驗的主要活動區域、提示項則包含實驗要求、程序設計難點、如何排除故障等。
3.2 虛擬實驗教學過程
實驗教學可以采用投影儀演示操作,也可使用局域網同步演示、或者播放視頻操作,講解實驗原理以及具體操作。學生實驗操作,包括:Proteus軟件中設計電路流程圖、Keil軟件中編寫程序并編譯、項目裝載到虛擬單片機、程序調試、驗證結果正確性、輸出實驗結果。如果結果錯誤,則重新編寫Keil程序。
實驗完成后,學生將實驗結果輸入到電子實驗報告系統中,通過局域網或者互聯網上傳到教師終端,完成本節課的實驗任務??梢钥闯?,與傳統實驗室操作相比,虛擬實驗室能夠提供標準化、形象化、易操作、界面互動性強的實驗課程,每個學生都能夠更直觀的理解單片機、親自動手進行操作,達到事半功倍的學習效果。
在自主創新性試驗中,由于虛擬實驗室擺脫了對實驗室硬件、人身安全、設備維護檢修等限制條件,學生們可以更加開放的去設計電路,充分發揮學生的主觀能動性,調動學生的學習興趣,在今后走向工作崗位中,打下了良好的專業基礎。
4 教學實例
下面以“控制秒表的啟動、停止和清零”為例,介紹如何用protues和keil實現單片機虛擬實驗的完成。任務要求:單片機系統的振蕩頻率fosc=11.0592MHz,設計一個啟動、停止和清零受按鍵控制的秒表。S0鍵作啟動鍵,按S0鍵,啟動秒表走時。S1鍵為停止鍵,按S1鍵,秒表停止走時,顯示時間一直保持不變。S2鍵為清0鍵,按S2鍵,秒表停止走時,顯示數值為0。上電時,秒表停止計時,數碼管顯示0秒。
本任務中,數碼管采用動態顯示,用P1和P2口控制顯示。P1口作段選口,P2口作位選口。鍵盤采用獨立式按鍵,P3口鍵盤的控制口,P3.0、 P3.1 、P3.2分別連接S0、S1、S2三個按鍵。T0、T1都做定時器使用。T0控制鍵盤掃描和數碼管掃描的時間間隔。T1做秒表的定時器。
首先在protues建立如圖2的硬件電路圖。
在keil環境中建立項目文件,進行相應設置后新建scdclock.c,經編譯后生成二進制目標文件scdclock.hex,在protues環境下將程序載入單片機,運行電路后就可以看到任務要求的實驗效果。[6]
本任務中需要對定時計數器的TH0、TH1、TMOD、TCON以及中斷寄存器IE、中斷優先級寄存器IP進行設置,也用到了鍵盤掃描、鍵碼識別、鍵盤去抖等相關知識,還用到了數碼管的連接、動態顯示等相關知識。通過對本任務的學習,可以使學生及時而準確的掌握所學知識、掌握單片機軟硬件綜合開發能力。
5 結束語
單片機虛擬實驗室的構建,不僅可以對單片機課程改革注入了強大的活力,提升教學質量,減少了實驗室硬件維護開發成本,更重要的是將單片機這門抽象復雜的專業核心課程以另一種直觀、形象、具體的形式展現在了學生面前,使得學生學習效果得到很大的提高,為今后的學習工作打下了堅實的基礎。
參考文獻:
[1]張蘭華,鄒華,劉純利.單片機原理及應用[M].北京:機械工業出版社,2012.
[2]李昌.基于虛擬實驗軟件的高職單片機教學改革[J].中國教育信息化,2013(24):35-36.
[3]劉炳堯.KeilC+Proteu6.9-搭建自己的單片機仿真實驗室[J].電子制作,2013(8):52-54.
[4]許超,吳新杰,張丹.基于Proteus和Keil的單片機課程教學改革[J].遼寧大學學報(自然科學版),2011(1):27-29.
[5]朱韶平.基于虛擬實驗的《單片機原理與應用》實驗教學改革研究[J].赤峰學院學報,2015(31):34-36.
[6]李文華,單片機應用技術[M].大連:大連理工出版社,2018.