單片機虛擬實驗室的構(gòu)建分析

時間:2022-02-28 11:28:47

導(dǎo)語:單片機虛擬實驗室的構(gòu)建分析一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

單片機虛擬實驗室的構(gòu)建分析

摘要:高校單片機課程教學(xué)存在課堂與實驗脫節(jié)、實驗室維護成本高、學(xué)生學(xué)習(xí)效果不高等缺點,在教學(xué)改革中有必要引入基于Proteus和Keil技術(shù)為核心的虛擬實驗室教學(xué)手段。本文簡單介紹單片機虛擬實驗室的構(gòu)建模式,從教材的選擇、仿真模型的設(shè)計、實驗操作的開展、自主性與創(chuàng)新性實驗的探索等方面作出相應(yīng)的改革,提升了教學(xué)質(zhì)量與效果,得到師生的充分肯定。并列舉教學(xué)實例說明。

關(guān)鍵詞:單片機;虛擬實驗室;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.1Proteus軟件。Proteus是英國LabCenterElectronics公司開發(fā)的E-DA程序(仿真軟件),是目前業(yè)界技術(shù)含量最高、型號最齊全的微控系統(tǒng)仿真平臺軟件。與同類產(chǎn)品相比,Proteus除了具備仿真功能外,還可以實現(xiàn)仿真單片機以及附屬外部設(shè)備[3]。該軟件從框架結(jié)構(gòu)設(shè)計、參數(shù)調(diào)試到單片機與外接設(shè)備協(xié)同仿真,快速轉(zhuǎn)換到PCB(PrintedCircuitBoard印刷線路板)設(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)新思維。這是過去的“灌輸式”課堂與“模仿式”實驗所無法達到的效果的。2.2Keil軟件。Keil是使用最廣泛的采用C語言的單片機開發(fā)軟件,由美國KeilSoftware公司出品。與匯編語言相比,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é)生都能夠更直觀的理解單片機、親自動手進行操作,達到事半功倍的學(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.

作者:劉云朋 王春霞 單位:焦作大學(xué)