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