Proteus和Keil軟件在單片機項目式教學(xué)中的應(yīng)用
摘要:針對單片機項目式教學(xué)中出現(xiàn)的問題,提出了將Proteus仿真軟件和Keil軟件引入到單片機項目式教學(xué)中。以”簡易溫室監(jiān)控系統(tǒng)”項目為例,詳細(xì)闡述Proteus軟件和Keil軟件在單片機課程教學(xué)中的使用方法和仿真調(diào)試過程。實踐證明,該教學(xué)方法能激發(fā)學(xué)生學(xué)習(xí)的熱情,鍛煉了學(xué)生的創(chuàng)新能力和單片機軟硬件綜合開發(fā)能力,取得了良好的教學(xué)效果,是提高單片機教學(xué)效率和教學(xué)質(zhì)量的一種有效方法。
關(guān)鍵詞:MCU;項目式教學(xué);Proteus仿真軟件;Keil軟件
《單片機原理與應(yīng)用》是高職機電類專業(yè)的核心課程之一,也是一門綜合性、實踐性、應(yīng)用性很強的專業(yè)課。傳統(tǒng)的單片機課程教學(xué)采用“先理論講解,再動手實驗”的教學(xué)模式,該教學(xué)模式造成學(xué)生理論知識與實踐應(yīng)用嚴(yán)重脫節(jié),忽視了對學(xué)生創(chuàng)新能力和綜合運用知識的能力的培養(yǎng),教學(xué)效果并不理想。目前一種新的教學(xué)方法即項目式教學(xué)法被許多高職院校應(yīng)用與單片機課程教學(xué)中,這種教學(xué)方法將理論教學(xué)和實踐教學(xué)有機結(jié)合,有利于培養(yǎng)學(xué)生單片機的應(yīng)用綜合能力,提高了學(xué)生的綜合職業(yè)能力,取得了良好的教學(xué)效果。但是在課程實施過程中也遇到了一些問題。第一實施項目式教學(xué)要求采購大量的硬件設(shè)備,而且單片機技術(shù)發(fā)展日新月異,設(shè)備的更新維護都需要投入大量的經(jīng)費。第二在單片機項目式教學(xué)中難以輔助硬件電路進行教學(xué)演示,即便演示,效果也不是很理想。第三在實施項目化教學(xué)過程中,一個項目從硬件電路的設(shè)計,焊接制作,再到軟硬軟件的調(diào)試,實施周期過長,教學(xué)效率有待提高。鑒于此本文將Proteus和Keil軟件引入到單片機的項目式教學(xué)中,通過仿真的直觀性和生動有趣的真實感,激發(fā)學(xué)生的學(xué)習(xí)興趣,不僅節(jié)約了硬件資源的投入,而且提高了教學(xué)效率和教學(xué)質(zhì)量。
1 Proteus和Keil軟件的介紹
Proteus軟件是英國Labcenter electronics公司開發(fā)的電路分析與實物仿真軟件,它除了具有其他EDA工具的原理布圖、PCB自動或人工布線、電路仿真等功能外,Proteus最大的特點是基于微控制器的設(shè)計連同所有的外圍電路一起仿真,可直接在單片機虛擬系統(tǒng)上對MCU編程,并可對軟件源代碼進行實時調(diào)試。同時,它具有電路互動仿真功能,通過動態(tài)外設(shè)模型,如鍵盤、LED/LCD等,可實時顯示系統(tǒng)輸入、輸出結(jié)果,以實現(xiàn)交互仿真,或配合Proteus配置的虛擬儀器如示波器、邏輯分析儀等,使單片機虛擬系統(tǒng)實現(xiàn)預(yù)期的實驗效果。
Keil軟件是美國Keil Software公司出品的兼容單片機C語言軟件的開發(fā)系統(tǒng),是目前世界上最好的51單片機開發(fā)工具之一。它提供了豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,生成的目標(biāo)代碼效率高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。
Proteus和Keil各自都可以進行仿真調(diào)試,但效果不是很理想,如把兩者結(jié)合起來相互配合,則可發(fā)揮Proteus和Keil的優(yōu)勢使其在仿真過程中的軟件調(diào)試和硬件設(shè)計更加便捷、高效。
2 基于Proteus和Keil的單片機項目式教學(xué)
單片機項目式教學(xué)是以培養(yǎng)學(xué)生的職業(yè)能力為核心,將整門課程圍繞項目展開,以項目的開發(fā)步驟作為講課順序,將所要講授的單片機理論知識和實踐技能循序漸進地分解到開發(fā)項目的過程中,引導(dǎo)學(xué)生邊千邊學(xué),在完成一個又一個項目的實踐過程中學(xué)習(xí)。在單片機項目式教學(xué)中使用Proteus和Keil軟件教學(xué),可以預(yù)先設(shè)計大量的單片機應(yīng)用實例,在課堂上通過多媒體設(shè)備使用Proteus和Keil仿真軟件演示從單片機硬件設(shè)計到軟件調(diào)試的全過程,這種實時的交互式仿真能夠讓學(xué)生體會到單片機系統(tǒng)設(shè)計仿真調(diào)試的整個工作過程,增強學(xué)生對單片機的感性認(rèn)識,提高了學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)積極性。另一方面.通過使用Proteus和Keil軟件,學(xué)生不僅學(xué)習(xí)了單片機的硬件設(shè)計和軟件編程,而且也學(xué)習(xí)了儀器儀表的使用,提高了學(xué)生的動手能力和解決問題的能力。此外還可以解決實訓(xùn)室設(shè)備有限的難題,不僅節(jié)約了硬件資源,也提高了教學(xué)效率,對單片機教學(xué)有著積極的作用。
3 仿真項目教學(xué)案例
項目教學(xué)法的教學(xué)過程是緊緊圍繞一個或多個完整的項目展開的,因此教學(xué)項目的設(shè)計,是單片機課程教學(xué)成敗的關(guān)鍵。按照以課程內(nèi)容為依托和以就業(yè)為導(dǎo)向的項目開發(fā)原則,設(shè)計了LED流水燈、秒表、數(shù)字溫度計、電子萬年歷和簡易溫室監(jiān)控系統(tǒng)五個教學(xué)項目案例,這些項目案例大部分來自實際工程項目,再經(jīng)過適當(dāng)?shù)慕虒W(xué)加工而成。文中通過“簡易溫室監(jiān)控系統(tǒng)”這一項目教學(xué)案例來介紹Proteus和Keil在單片機教學(xué)中的應(yīng)用。
3.1 硬件設(shè)計
本案例所設(shè)計的溫室監(jiān)控系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示,主要由信號采集模塊、單片機模塊、液晶顯示模塊、時鐘與存儲模塊、鍵盤模塊和開關(guān)量輸出模塊所組成。系統(tǒng)以ATC89C55單片機作為控制核心,通過信號采集模塊將溫室內(nèi)的溫度、濕度、光照度和二氧化碳濃度等環(huán)境參數(shù)采集送入到單片機,單片機實現(xiàn)對環(huán)境參數(shù)的實時存儲與顯示。同時單片機把采集來的環(huán)境參數(shù)與預(yù)先設(shè)定的參數(shù)值進行比較,當(dāng)溫室內(nèi)環(huán)境因子參數(shù)超出預(yù)先設(shè)定的值時,單片機控制開關(guān)量輸出模塊啟動相應(yīng)的執(zhí)行機構(gòu),調(diào)節(jié)環(huán)境參數(shù)至設(shè)定范圍內(nèi),以滿足不同農(nóng)作物的生長需求。
在Proteus ISIS界面下完成系統(tǒng)電路原理圖的繪制,信號采集模塊中,采用DS18B20和SHT11作為溫度和濕度傳感器,單片機的P1.0、P1.4、P1.5引腳分別接DS1BB20的DQ和SHT11的SCK、DATA管腳。用兩個分壓可變電路模擬光照度傳感器和二氧化碳傳感器輸出的電壓變化(0~5 V),單片機的P1.6引腳控制八路模擬開關(guān)CD4051選擇相應(yīng)的傳感器輸出通道,將輸出的電壓信號經(jīng)由OP07所構(gòu)成的負(fù)反饋運算電路后輸送到A/D轉(zhuǎn)換芯片MAX187的模擬輸入端中,單片機的P1.1~P1.3引腳分別接MAX187的SCLK、CS、DOUT管腳,從而控制MAX187工作。信號采集模塊電路原理圖如圖2所示。
鍵盤模塊設(shè)置了4個獨立按鍵,用于實現(xiàn)對溫室監(jiān)控系統(tǒng)參數(shù)的設(shè)置,鍵0為參數(shù)設(shè)置鍵,用于選擇不同的參數(shù)設(shè)置。鍵1,鍵2分別為++鍵,和--鍵,用于對所設(shè)參數(shù)進行遞增和遞減的調(diào)整。鍵3為↑↓鍵,用于選擇上極限值和下極限值。液晶顯示模塊采用不帶字庫的HDG128 64F-1型的LCD液晶顯示器,單片機的P0.0~P0.4引腳分別接液晶顯示器的SI、SCL、A0、RES、CS1引腳。時鐘與存儲模塊采用DS13B20和AT24C02芯片,單片機的P0.5~P0.7引腳接DS13B20的RST、SCLK、I/O引腳,P3.0和P3.1接AT24C02的SCK和SDA引腳。其電路圖如圖3所示。單片機P2口的8個引腳用于開關(guān)量的輸出控制,每個引腳通過光電耦合器件TLP521與輸出通道進行隔離,隔離信號再經(jīng)三極管的放大后驅(qū)動12 V的小型繼電器,從而控制執(zhí)行設(shè)備執(zhí)行相應(yīng)的動作。圖3為簡易溫室監(jiān)控系統(tǒng)的信號采集模塊、顯示模塊和時鐘存儲模塊電路原理圖如圖2所示。
3.2 軟件設(shè)計
系統(tǒng)控制軟件采用模塊化的程序設(shè)計思想,將系統(tǒng)的整體功能分為不同的模塊,各個模塊單獨設(shè)計、編程、調(diào)試。完成之后進行系統(tǒng)總的聯(lián)調(diào)。系統(tǒng)所有程序均在Keil C環(huán)境下進行編譯調(diào)試。系統(tǒng)的軟件設(shè)計主要包括主程序,系統(tǒng)初始化子程序,溫室參數(shù)采集子程序、時鐘子程序、存儲子程序、按鍵掃描子程序、數(shù)據(jù)控制處理子程序和液晶顯示子程序等模塊。其中主程序控制流程如圖4所示。
3.3 軟硬件聯(lián)合仿真調(diào)試
將編寫的程序在Keil μVision3集成開發(fā)環(huán)境上編譯調(diào)試,生成相應(yīng)的HEX文件。按照文獻上對Proteus和Keil軟件進行相關(guān)設(shè)置,實現(xiàn)Proteus和Keil的聯(lián)合仿真。
系統(tǒng)剛開始工作時,液晶屏?xí)@示當(dāng)前溫室所采集到的溫度、濕度、光照度、二氧化碳濃度和時間。當(dāng)采集環(huán)境參數(shù)均在設(shè)定范圍時,執(zhí)行機構(gòu)均停止工作。按下參數(shù)設(shè)置鍵,液晶屏?xí)@示溫度的上下極限值設(shè)定界面,接著可通過↑↓鍵來實現(xiàn)對上下極限的切換,按++鍵和--鍵可對溫度的上下極限值進行修改,修改好后再按下參數(shù)設(shè)置鍵,液晶屏就會跳到濕度的上下極限值設(shè)定界面,按照上述操作對濕度上下限值進行修改。同樣的,可對光照度和二氧化碳濃度也進行上下極限值的設(shè)置,設(shè)置完之后,再按一下參數(shù)設(shè)定鍵,液晶屏又會回到初始界面,而所設(shè)定的環(huán)境參數(shù)極限值也會自動存到單片機中。以溫度和CO2濃度控制為例,將4個環(huán)境參數(shù)的上下極限值設(shè)置成如圖5所示。通過調(diào)整DS18B20的↑↓鍵和滑動變阻器RV1來改變溫室的溫度值和CO2濃度值,當(dāng)溫室溫度超出所設(shè)溫度上限,而CO2濃度低于所設(shè)下限時,P2.1和P2.6引腳變?yōu)榈碗娖?,降溫系統(tǒng)和CO2補氣系統(tǒng)馬上開始工作,此時的液晶仿真界面如圖6所示。而當(dāng)溫室溫度低于所設(shè)溫度下限,而CO2濃度超出所設(shè)上限時,P2.0和P2.7引腳變?yōu)榈碗娖剑鰷叵到y(tǒng)和通風(fēng)系統(tǒng)隨之工作。而當(dāng)溫室溫度和CO2濃度在所設(shè)定的上下限范圍內(nèi)時,上述系統(tǒng)都停止工作。該系統(tǒng)對其他環(huán)境參數(shù)也具有相同的控制效果。
4 結(jié)論
通過幾年的教學(xué)實踐證明,相對于傳統(tǒng)的單片機課程教學(xué)方式,將Proteus和Keil軟件引入到單片機項目式教學(xué)中的教學(xué)方式不僅克服了單片機實訓(xùn)室設(shè)備硬件的束縛,使理論教學(xué)和實踐教學(xué)有機結(jié)合,而且易于激發(fā)學(xué)生的學(xué)習(xí)熱情,有利于培養(yǎng)學(xué)生的單片機綜合應(yīng)用能力、動手能力和創(chuàng)新能力,明顯的提高了單片機教學(xué)效率和質(zhì)量。
評論