單片機(jī)虛擬實(shí)驗(yàn)室的構(gòu)建分析

時(shí)間:2022-02-28 11:28:47

導(dǎo)語(yǔ):?jiǎn)纹瑱C(jī)虛擬實(shí)驗(yàn)室的構(gòu)建分析一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

單片機(jī)虛擬實(shí)驗(yàn)室的構(gòu)建分析

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

關(guān)鍵詞:?jiǎn)纹瑱C(jī);虛擬實(shí)驗(yàn)室;Proteus;Keil

1概述

1.1課程介紹。單片機(jī)作為一種最基礎(chǔ)的電氣智能化控制部件,被廣泛應(yīng)用在數(shù)碼控制、汽車(chē)制造、通訊、電器電子等方面,大到飛機(jī)郵輪,小到空調(diào)遙控器。目前單片機(jī)有關(guān)課程已經(jīng)是高校信息工程、電氣工程、自動(dòng)化工程、應(yīng)用電子技術(shù)等專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)核心課程,該課程注重理論與實(shí)踐的綜合培養(yǎng),強(qiáng)調(diào)學(xué)生動(dòng)手能力與創(chuàng)新思維的培養(yǎng),該課程的開(kāi)展為培養(yǎng)工程技術(shù)人員奠定了良好的理論和實(shí)踐基礎(chǔ)[1]。1.2教學(xué)改革的必要性。在實(shí)際的學(xué)習(xí)過(guò)程中,學(xué)生反映這門(mén)課程過(guò)于抽象、晦澀難懂,理論課程中,僅通過(guò)書(shū)本與幻燈片無(wú)法理解單片機(jī)內(nèi)部結(jié)構(gòu)、框架流程、工作原理;實(shí)驗(yàn)課上,學(xué)生只會(huì)按照既定步驟,機(jī)械的去重復(fù)實(shí)驗(yàn)操作,對(duì)于其中原理知之甚少,也無(wú)法與理論融會(huì)貫通。溯其根源,還是因?yàn)閱纹瑱C(jī)是一門(mén)硬件與軟件、理論與實(shí)踐高度結(jié)合的課程,需要同時(shí)進(jìn)行學(xué)習(xí)與驗(yàn)證。只學(xué)習(xí)理論,會(huì)覺(jué)得過(guò)于抽象、無(wú)法理解;只學(xué)習(xí)實(shí)驗(yàn),則變成機(jī)械模仿,無(wú)法掌握理論知識(shí)。同時(shí)由于實(shí)驗(yàn)室承載能力與課程學(xué)時(shí)限制,學(xué)生動(dòng)手操作機(jī)會(huì)比較有限。再加上實(shí)驗(yàn)室設(shè)備的有形損耗(包括老化、故障、誤差過(guò)大等)與無(wú)形損耗(技術(shù)的進(jìn)步導(dǎo)致設(shè)備落后),這都增加了實(shí)驗(yàn)室的運(yùn)行與維護(hù)成本。另外,出于對(duì)師生人身安全與設(shè)備安全的考慮,課程多為驗(yàn)證性的實(shí)驗(yàn),無(wú)法開(kāi)展自主與創(chuàng)新性的實(shí)驗(yàn)。這種情況下,課堂的創(chuàng)新氛圍與學(xué)生的興趣也難以提高,最終導(dǎo)致該課程枯燥乏味。為提升教學(xué)質(zhì)量,國(guó)內(nèi)外很多高校都在采用圖形化、仿真模擬與虛擬現(xiàn)實(shí)等方法推動(dòng)虛擬實(shí)驗(yàn)室建設(shè)[2],操作者可以在計(jì)算機(jī)上模擬真實(shí)實(shí)驗(yàn)室條件下的實(shí)驗(yàn)操作,可以更加直觀的了解內(nèi)部結(jié)構(gòu)、任意變更參數(shù)重復(fù)實(shí)驗(yàn)、降低成本、提高人身與設(shè)備安全性。這項(xiàng)技術(shù)已經(jīng)廣泛運(yùn)用在機(jī)械、電子、物理、化學(xué)、醫(yī)學(xué)等學(xué)科。

2核心技術(shù)

虛擬實(shí)驗(yàn)室在單片機(jī)領(lǐng)域主要包含以下兩個(gè)核心技術(shù):2.1Proteus軟件。Proteus是英國(guó)LabCenterElectronics公司開(kāi)發(fā)的E-DA程序(仿真軟件),是目前業(yè)界技術(shù)含量最高、型號(hào)最齊全的微控系統(tǒng)仿真平臺(tái)軟件。與同類(lèi)產(chǎn)品相比,Proteus除了具備仿真功能外,還可以實(shí)現(xiàn)仿真單片機(jī)以及附屬外部設(shè)備[3]。該軟件從框架結(jié)構(gòu)設(shè)計(jì)、參數(shù)調(diào)試到單片機(jī)與外接設(shè)備協(xié)同仿真,快速轉(zhuǎn)換到PCB(PrintedCircuitBoard印刷線路板)設(shè)計(jì),可以將思路與產(chǎn)品完美銜接。該軟件不僅支持采用PLM(計(jì)算機(jī)編程語(yǔ)言)、匯編與C語(yǔ)言進(jìn)行程序開(kāi)發(fā),同時(shí)支持多窗口、多文件編輯,支持兼容市面上常見(jiàn)芯片模型。Proteus主要包括設(shè)計(jì)圖輸入系統(tǒng)ISIS、動(dòng)態(tài)原件庫(kù)、混合仿真器、以及印刷線路板編輯器ARES等。元件庫(kù)包括數(shù)字與模擬、直流與交流、信號(hào)發(fā)生器、示波器等多種虛擬設(shè)備。Proteus軟件不只是一個(gè)單片機(jī)的仿真環(huán)境,更是一個(gè)擁有無(wú)窮擴(kuò)展范圍與創(chuàng)新空間的實(shí)驗(yàn)平臺(tái)。在缺乏必要的輸入、輸出、顯示、調(diào)試等硬件設(shè)備的條件下,依然可以利用該軟件,清晰形象的了解單片機(jī)的結(jié)構(gòu)原理、方便快捷的展示實(shí)驗(yàn)過(guò)程與結(jié)果。既克服了硬件與學(xué)時(shí)上的困難,又提高了學(xué)生的掌握水平,培養(yǎng)了學(xué)習(xí)興趣,擴(kuò)展了創(chuàng)新思維。這是過(guò)去的“灌輸式”課堂與“模仿式”實(shí)驗(yàn)所無(wú)法達(dá)到的效果的。2.2Keil軟件。Keil是使用最廣泛的采用C語(yǔ)言的單片機(jī)開(kāi)發(fā)軟件,由美國(guó)KeilSoftware公司出品。與匯編語(yǔ)言相比,C語(yǔ)言功能強(qiáng)大、結(jié)構(gòu)簡(jiǎn)單、可讀性強(qiáng)、維護(hù)方便。同時(shí)Keil擁有一整套開(kāi)發(fā)程序,包括C語(yǔ)言編譯、宏匯編、項(xiàng)目鏈接、數(shù)據(jù)運(yùn)行庫(kù)管理以及仿真調(diào)試模擬器等等,這些功能都被組合成一個(gè)集成開(kāi)發(fā)軟件。該軟件安裝簡(jiǎn)單、功能完善、調(diào)試準(zhǔn)確、工作效率高、生成匯編代碼緊湊、便于理解與糾錯(cuò)[4]。2.3協(xié)同作用。為了建設(shè)虛擬實(shí)驗(yàn)室,需要將二者緊密聯(lián)系在一起。Proteus不僅支持MCS系列以及派生系列的單片機(jī),同時(shí)也支持AVR和PIC核心的單片機(jī)。Proteus軟件可采用模擬與數(shù)字、直流與交流等數(shù)千種元器件,以及數(shù)據(jù)庫(kù)中沒(méi)有的型號(hào),也可以根據(jù)實(shí)驗(yàn)需求進(jìn)行創(chuàng)建。這就需要將C語(yǔ)言與匯編語(yǔ)言進(jìn)行編譯,然后進(jìn)行軟件與硬件的仿真模擬。解決了這個(gè)框架問(wèn)題后,采用Proteus建設(shè)虛擬實(shí)驗(yàn)室就水到渠成了。

3虛擬實(shí)驗(yàn)室的建設(shè)

構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室,硬件上需要計(jì)算機(jī)與互聯(lián)網(wǎng)或者局域網(wǎng),軟件上需要計(jì)算機(jī)操作系統(tǒng)、Proteus和Keil軟件,外觀上就像一個(gè)普通的計(jì)算機(jī)房。虛擬實(shí)驗(yàn)室將電腦網(wǎng)絡(luò)、虛擬現(xiàn)實(shí)與多媒體交互等技術(shù)融合在一起,學(xué)生通過(guò)計(jì)算機(jī)接入互聯(lián)網(wǎng)或者局域網(wǎng)內(nèi)的虛擬實(shí)驗(yàn)室系統(tǒng),通過(guò)輸入終端與虛擬軟件進(jìn)行交互,輸入?yún)?shù),設(shè)定程序,就可以方便快捷的得到相應(yīng)的結(jié)果。[5]每個(gè)學(xué)生都有足夠的時(shí)間和親自動(dòng)手的機(jī)會(huì),來(lái)進(jìn)行實(shí)驗(yàn),這在傳統(tǒng)的真實(shí)實(shí)驗(yàn)室中是很難做到的。3.1虛擬實(shí)驗(yàn)室的框架。從結(jié)構(gòu)上看,單片機(jī)虛擬實(shí)驗(yàn)室分為管理模組和教學(xué)模組。管理模組分為教師、學(xué)生、管理員三個(gè)功能,在系統(tǒng)登陸與權(quán)限上予以區(qū)別,是為了方便教師授課、學(xué)生學(xué)習(xí)、管理員維護(hù)系統(tǒng)而設(shè)置。通過(guò)網(wǎng)絡(luò)的連接,教師可以將實(shí)驗(yàn)任務(wù)與內(nèi)容快速發(fā)送到學(xué)生界面、學(xué)生實(shí)驗(yàn)操作也可以及時(shí)反饋到教師終端,提高了學(xué)習(xí)效率,活躍了課堂氣氛。教學(xué)模組提供了豐富的單片機(jī)結(jié)構(gòu)與原理教學(xué)課程,學(xué)生可以預(yù)習(xí)課程內(nèi)容、開(kāi)展虛擬實(shí)驗(yàn)以及生成與修改實(shí)驗(yàn)報(bào)告。見(jiàn)圖1。從教學(xué)內(nèi)容上看,單片機(jī)虛擬實(shí)驗(yàn)分為驗(yàn)證性與創(chuàng)新開(kāi)發(fā)性實(shí)驗(yàn)兩種。實(shí)驗(yàn)?zāi)0褰Y(jié)構(gòu)通常由教師提前設(shè)定統(tǒng)一格式,并下發(fā)給學(xué)生終端。模板包括:實(shí)驗(yàn)名稱(chēng)、元器件庫(kù)、實(shí)驗(yàn)工作區(qū)與提示項(xiàng)等內(nèi)容。實(shí)驗(yàn)名稱(chēng)指明本次實(shí)驗(yàn)的目的,元器件庫(kù)限定本實(shí)驗(yàn)所需的元器件、實(shí)驗(yàn)工作區(qū)為學(xué)生實(shí)驗(yàn)的主要活動(dòng)區(qū)域、提示項(xiàng)則包含實(shí)驗(yàn)要求、程序設(shè)計(jì)難點(diǎn)、如何排除故障等。3.2虛擬實(shí)驗(yàn)教學(xué)過(guò)程。實(shí)驗(yàn)教學(xué)可以采用投影儀演示操作,也可使用局域網(wǎng)同步演示、或者播放視頻操作,講解實(shí)驗(yàn)原理以及具體操作。學(xué)生實(shí)驗(yàn)操作,包括:Proteus軟件中設(shè)計(jì)電路流程圖、Keil軟件中編寫(xiě)程序并編譯、項(xiàng)目裝載到虛擬單片機(jī)、程序調(diào)試、驗(yàn)證結(jié)果正確性、輸出實(shí)驗(yàn)結(jié)果。如果結(jié)果錯(cuò)誤,則重新編寫(xiě)Keil程序。實(shí)驗(yàn)完成后,學(xué)生將實(shí)驗(yàn)結(jié)果輸入到電子實(shí)驗(yàn)報(bào)告系統(tǒng)中,通過(guò)局域網(wǎng)或者互聯(lián)網(wǎng)上傳到教師終端,完成本節(jié)課的實(shí)驗(yàn)任務(wù)。可以看出,與傳統(tǒng)實(shí)驗(yàn)室操作相比,虛擬實(shí)驗(yàn)室能夠提供標(biāo)準(zhǔn)化、形象化、易操作、界面互動(dòng)性強(qiáng)的實(shí)驗(yàn)課程,每個(gè)學(xué)生都能夠更直觀的理解單片機(jī)、親自動(dòng)手進(jìn)行操作,達(dá)到事半功倍的學(xué)習(xí)效果。在自主創(chuàng)新性試驗(yàn)中,由于虛擬實(shí)驗(yàn)室擺脫了對(duì)實(shí)驗(yàn)室硬件、人身安全、設(shè)備維護(hù)檢修等限制條件,學(xué)生們可以更加開(kāi)放的去設(shè)計(jì)電路,充分發(fā)揮學(xué)生的主觀能動(dòng)性,調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣,在今后走向工作崗位中,打下了良好的專(zhuān)業(yè)基礎(chǔ)。

4教學(xué)實(shí)例

下面以“控制秒表的啟動(dòng)、停止和清零”為例,介紹如何用protues和keil實(shí)現(xiàn)單片機(jī)虛擬實(shí)驗(yàn)的完成。任務(wù)要求:?jiǎn)纹瑱C(jī)系統(tǒng)的振蕩頻率fosc=11.0592MHz,設(shè)計(jì)一個(gè)啟動(dòng)、停止和清零受按鍵控制的秒表。S0鍵作啟動(dòng)鍵,按S0鍵,啟動(dòng)秒表走時(shí)。S1鍵為停止鍵,按S1鍵,秒表停止走時(shí),顯示時(shí)間一直保持不變。S2鍵為清0鍵,按S2鍵,秒表停止走時(shí),顯示數(shù)值為0。上電時(shí),秒表停止計(jì)時(shí),數(shù)碼管顯示0秒。本任務(wù)中,數(shù)碼管采用動(dòng)態(tài)顯示,用P1和P2口控制顯示。P1口作段選口,P2口作位選口。鍵盤(pán)采用獨(dú)立式按鍵,P3口鍵盤(pán)的控制口,P3.0、P3.1、P3.2分別連接S0、S1、S2三個(gè)按鍵。T0、T1都做定時(shí)器使用。T0控制鍵盤(pán)掃描和數(shù)碼管掃描的時(shí)間間隔。T1做秒表的定時(shí)器。首先在protues建立如圖2的硬件電路圖。在keil環(huán)境中建立項(xiàng)目文件,進(jìn)行相應(yīng)設(shè)置后新建scdclock.c,經(jīng)編譯后生成二進(jìn)制目標(biāo)文件scdclock.hex,在protues環(huán)境下將程序載入單片機(jī),運(yùn)行電路后就可以看到任務(wù)要求的實(shí)驗(yàn)效果。[6]本任務(wù)中需要對(duì)定時(shí)計(jì)數(shù)器的TH0、TH1、TMOD、TCON以及中斷寄存器IE、中斷優(yōu)先級(jí)寄存器IP進(jìn)行設(shè)置,也用到了鍵盤(pán)掃描、鍵碼識(shí)別、鍵盤(pán)去抖等相關(guān)知識(shí),還用到了數(shù)碼管的連接、動(dòng)態(tài)顯示等相關(guān)知識(shí)。通過(guò)對(duì)本任務(wù)的學(xué)習(xí),可以使學(xué)生及時(shí)而準(zhǔn)確的掌握所學(xué)知識(shí)、掌握單片機(jī)軟硬件綜合開(kāi)發(fā)能力。

5結(jié)束語(yǔ)

單片機(jī)虛擬實(shí)驗(yàn)室的構(gòu)建,不僅可以對(duì)單片機(jī)課程改革注入了強(qiáng)大的活力,提升教學(xué)質(zhì)量,減少了實(shí)驗(yàn)室硬件維護(hù)開(kāi)發(fā)成本,更重要的是將單片機(jī)這門(mén)抽象復(fù)雜的專(zhuān)業(yè)核心課程以另一種直觀、形象、具體的形式展現(xiàn)在了學(xué)生面前,使得學(xué)生學(xué)習(xí)效果得到很大的提高,為今后的學(xué)習(xí)工作打下了堅(jiān)實(shí)的基礎(chǔ)。

參考文獻(xiàn):

[1]張?zhí)m華,鄒華,劉純利.單片機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2012.

[2]李昌.基于虛擬實(shí)驗(yàn)軟件的高職單片機(jī)教學(xué)改革[J].中國(guó)教育信息化,2013(24):35-36.

[3]劉炳堯.KeilC+Proteu6.9-搭建自己的單片機(jī)仿真實(shí)驗(yàn)室[J].電子制作,2013(8):52-54.

[4]許超,吳新杰,張丹.基于Proteus和Keil的單片機(jī)課程教學(xué)改革[J].遼寧大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(1):27-29.

[5]朱韶平.基于虛擬實(shí)驗(yàn)的《單片機(jī)原理與應(yīng)用》實(shí)驗(yàn)教學(xué)改革研究[J].赤峰學(xué)院學(xué)報(bào),2015(31):34-36.

[6]李文華,單片機(jī)應(yīng)用技術(shù)[M].大連:大連理工出版社,2018.

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