Proteus和Keil軟體在單片機項目式教學中的應用

2021-01-08 電子產品世界

摘要:針對單片機項目式教學中出現的問題,提出了將Proteus仿真軟體和Keil軟體引入到單片機項目式教學中。以」簡易溫室監控系統」項目為例,詳細闡述Proteus軟體和Keil軟體在單片機課程教學中的使用方法和仿真調試過程。實踐證明,該教學方法能激發學生學習的熱情,鍛鍊了學生的創新能力和單片機軟硬體綜合開發能力,取得了良好的教學效果,是提高單片機教學效率和教學質量的一種有效方法。
關鍵詞:MCU;項目式教學;Proteus仿真軟體;Keil軟體

《單片機原理與應用》是高職機電類專業的核心課程之一,也是一門綜合性、實踐性、應用性很強的專業課。傳統的單片機課程教學採用「先理論講解,再動手實驗」的教學模式,該教學模式造成學生理論知識與實踐應用嚴重脫節,忽視了對學生創新能力和綜合運用知識的能力的培養,教學效果並不理想。目前一種新的教學方法即項目式教學法被許多高職院校應用與單片機課程教學中,這種教學方法將理論教學和實踐教學有機結合,有利於培養學生單片機的應用綜合能力,提高了學生的綜合職業能力,取得了良好的教學效果。但是在課程實施過程中也遇到了一些問題。第一實施項目式教學要求採購大量的硬體設備,而且單片機技術發展日新月異,設備的更新維護都需要投入大量的經費。第二在單片機項目式教學中難以輔助硬體電路進行教學演示,即便演示,效果也不是很理想。第三在實施項目化教學過程中,一個項目從硬體電路的設計,焊接製作,再到軟硬軟體的調試,實施周期過長,教學效率有待提高。鑑於此本文將Proteus和Keil軟體引入到單片機的項目式教學中,通過仿真的直觀性和生動有趣的真實感,激發學生的學習興趣,不僅節約了硬體資源的投入,而且提高了教學效率和教學質量。

1 Proteus和Keil軟體的介紹
Proteus軟體是英國Labcenter electronics公司開發的電路分析與實物仿真軟體,它除了具有其他EDA工具的原理布圖、PCB自動或人工布線、電路仿真等功能外,Proteus最大的特點是基於微控制器的設計連同所有的外圍電路一起仿真,可直接在單片機虛擬系統上對MCU編程,並可對軟體原始碼進行實時調試。同時,它具有電路互動仿真功能,通過動態外設模型,如鍵盤、LED/LCD等,可實時顯示系統輸入、輸出結果,以實現交互仿真,或配合Proteus配置的虛擬儀器如示波器、邏輯分析儀等,使單片機虛擬系統實現預期的實驗效果。
Keil軟體是美國Keil Software公司出品的兼容單片機C語言軟體的開發系統,是目前世界上最好的51單片機開發工具之一。它提供了豐富的庫函數和功能強大的集成開發調試工具,生成的目標代碼效率高,多數語句生成的彙編代碼很緊湊,容易理解。
Proteus和Keil各自都可以進行仿真調試,但效果不是很理想,如把兩者結合起來相互配合,則可發揮Proteus和Keil的優勢使其在仿真過程中的軟體調試和硬體設計更加便捷、高效。

2 基於Proteus和Keil的單片機項目式教學
單片機項目式教學是以培養學生的職業能力為核心,將整門課程圍繞項目展開,以項目的開發步驟作為講課順序,將所要講授的單片機理論知識和實踐技能循序漸進地分解到開發項目的過程中,引導學生邊千邊學,在完成一個又一個項目的實踐過程中學習。在單片機項目式教學中使用Proteus和Keil軟體教學,可以預先設計大量的單片機應用實例,在課堂上通過多媒體設備使用Proteus和Keil仿真軟體演示從單片機硬體設計到軟體調試的全過程,這種實時的交互式仿真能夠讓學生體會到單片機系統設計仿真調試的整個工作過程,增強學生對單片機的感性認識,提高了學生的學習興趣和學習積極性。另一方面.通過使用Proteus和Keil軟體,學生不僅學習了單片機的硬體設計和軟體編程,而且也學習了儀器儀表的使用,提高了學生的動手能力和解決問題的能力。此外還可以解決實訓室設備有限的難題,不僅節約了硬體資源,也提高了教學效率,對單片機教學有著積極的作用。

3 仿真項目教學案例
項目教學法的教學過程是緊緊圍繞一個或多個完整的項目展開的,因此教學項目的設計,是單片機課程教學成敗的關鍵。按照以課程內容為依託和以就業為導向的項目開發原則,設計了LED流水燈、秒表、數字溫度計、電子萬年曆和簡易溫室監控系統五個教學項目案例,這些項目案例大部分來自實際工程項目,再經過適當的教學加工而成。文中通過「簡易溫室監控系統」這一項目教學案例來介紹Proteus和Keil在單片機教學中的應用。
3.1 硬體設計
本案例所設計的溫室監控系統整體結構框圖如圖1所示,主要由信號採集模塊、單片機模塊、液晶顯示模塊、時鐘與存儲模塊、鍵盤模塊和開關量輸出模塊所組成。系統以ATC89C55單片機作為控制核心,通過信號採集模塊將溫室內的溫度、溼度、光照度和二氧化碳濃度等環境參數採集送入到單片機,單片機實現對環境參數的實時存儲與顯示。同時單片機把採集來的環境參數與預先設定的參數值進行比較,當溫室內環境因子參數超出預先設定的值時,單片機控制開關量輸出模塊啟動相應的執行機構,調節環境參數至設定範圍內,以滿足不同農作物的生長需求。

本文引用地址:http://www.eepw.com.cn/article/201610/307661.htm


在Proteus ISIS界面下完成系統電路原理圖的繪製,信號採集模塊中,採用DS18B20和SHT11作為溫度和溼度傳感器,單片機的P1.0、P1.4、P1.5引腳分別接DS1BB20的DQ和SHT11的SCK、DATA管腳。用兩個分壓可變電路模擬光照度傳感器和二氧化碳傳感器輸出的電壓變化(0~5 V),單片機的P1.6引腳控制八路模擬開關CD4051選擇相應的傳感器輸出通道,將輸出的電壓信號經由OP07所構成的負反饋運算電路後輸送到A/D轉換晶片MAX187的模擬輸入端中,單片機的P1.1~P1.3引腳分別接MAX187的SCLK、CS、DOUT管腳,從而控制MAX187工作。信號採集模塊電路原理圖如圖2所示。


鍵盤模塊設置了4個獨立按鍵,用於實現對溫室監控系統參數的設置,鍵0為參數設置鍵,用於選擇不同的參數設置。鍵1,鍵2分別為++鍵,和--鍵,用於對所設參數進行遞增和遞減的調整。鍵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個引腳用於開關量的輸出控制,每個引腳通過光電耦合器件TLP521與輸出通道進行隔離,隔離信號再經三極體的放大後驅動12 V的小型繼電器,從而控制執行設備執行相應的動作。圖3為簡易溫室監控系統的信號採集模塊、顯示模塊和時鐘存儲模塊電路原理圖如圖2所示。


3.2 軟體設計
系統控制軟體採用模塊化的程序設計思想,將系統的整體功能分為不同的模塊,各個模塊單獨設計、編程、調試。完成之後進行系統總的聯調。系統所有程序均在Keil C環境下進行編譯調試。系統的軟體設計主要包括主程序,系統初始化子程序,溫室參數採集子程序、時鐘子程序、存儲子程序、按鍵掃描子程序、數據控制處理子程序和液晶顯示子程序等模塊。其中主程序控制流程如圖4所示。


3.3 軟硬體聯合仿真調試
將編寫的程序在Keil μVision3集成開發環境上編譯調試,生成相應的HEX文件。按照文獻上對Proteus和Keil軟體進行相關設置,實現Proteus和Keil的聯合仿真。
系統剛開始工作時,液晶屏會顯示當前溫室所採集到的溫度、溼度、光照度、二氧化碳濃度和時間。當採集環境參數均在設定範圍時,執行機構均停止工作。按下參數設置鍵,液晶屏會顯示溫度的上下極限值設定界面,接著可通過↑↓鍵來實現對上下極限的切換,按++鍵和--鍵可對溫度的上下極限值進行修改,修改好後再按下參數設置鍵,液晶屏就會跳到溼度的上下極限值設定界面,按照上述操作對溼度上下限值進行修改。同樣的,可對光照度和二氧化碳濃度也進行上下極限值的設置,設置完之後,再按一下參數設定鍵,液晶屏又會回到初始界面,而所設定的環境參數極限值也會自動存到單片機中。以溫度和CO2濃度控制為例,將4個環境參數的上下極限值設置成如圖5所示。通過調整DS18B20的↑↓鍵和滑動變阻器RV1來改變溫室的溫度值和CO2濃度值,當溫室溫度超出所設溫度上限,而CO2濃度低於所設下限時,P2.1和P2.6引腳變為低電平,降溫系統和CO2補氣系統馬上開始工作,此時的液晶仿真界面如圖6所示。而當溫室溫度低於所設溫度下限,而CO2濃度超出所設上限時,P2.0和P2.7引腳變為低電平,增溫系統和通風系統隨之工作。而當溫室溫度和CO2濃度在所設定的上下限範圍內時,上述系統都停止工作。該系統對其他環境參數也具有相同的控制效果。



4 結論
通過幾年的教學實踐證明,相對於傳統的單片機課程教學方式,將Proteus和Keil軟體引入到單片機項目式教學中的教學方式不僅克服了單片機實訓室設備硬體的束縛,使理論教學和實踐教學有機結合,而且易於激發學生的學習熱情,有利於培養學生的單片機綜合應用能力、動手能力和創新能力,明顯的提高了單片機教學效率和質量。


相關焦點

  • 介紹一個非常好用的單片機仿真軟體PROTEUS(帶下載連結)
    從事單片機教學多年,雖說不夠精通,但帶領學生入門單片機足夠了。說實話,一個從沒有接觸過計算機語言的初學者,因為沒有程序的概念,學習單片機是有一定難度的。但如果方法得當,則能再最短時間內入門,也會為之後的深入學習打好一個良好的基礎。以下我將從幾方面來總結入門單片機需要做的幾步。首先,選好設備。
  • 怎樣讓Keil軟體同時兼容51單片機和ARM單片機的問題
    相信學ARM的童鞋大多數都是先學過51的,你如果用Keil這樣的編譯環境的話,也許你會發現之前學校51的Keil開發環境無法兼容ARM,或者你在做項目,同時要用到Keil開發51單片機和ARM單片機,這個時候就開始無奈了,發現裝了keil C或ADK 裡面都只有51或者ARM一種單片機核可供選。難道要我們分別安裝這兩個軟體?
  • 自學單片機第四篇:proteus pro軟體
    私信回復:軟體或單片機,可領取正版程序寫好,如果有硬體,可以直接刷,如果沒有,我建議還是用仿真軟體,這樣調試時不用考慮硬體問題,把軟體調好,就可以慢慢調硬體了。以後這是我們仿真的主戰場了。我們輸入網址labcenter,進入官網。
  • Proteus軟體仿真與Keil的51單片機系統設計
    單片機功能越來越強大,價格卻不斷下降的優勢無疑成為嵌入式系統方案設計的首選,同時單片機應用領域的擴大也使得更多人加入到基於單片機系統的開發行列中,推動著單片機技術的創新進步。  然而傳統的單片機系統開發除了需要購置諸如仿真器、編程器、示波器等價格不菲的電子設備外,開發過程也較繁瑣。如圖1所示,用戶程序需要在硬體完成的情況下才能進行聯調,如果在調試過程中發現需修改硬體,則要重新制板。
  • 第2課 keil軟體及工程文件的建立
    單片機系統設計主要包括硬體設計和軟體設計,對於單片機初者來說主要在於軟體的學習,也就是程序設計,等大家程序這塊掌握得差不多了,再去結合具體的項目學習做硬體,最終掌握單片機系統設計的方法。
  • 【單片機筆記】keil c51編譯環境不能跳轉函數的解決辦法
    keil c51 不能使用:Go to Definition of....的解決方法最近使用keil c51 開發usb固件,當向vc一樣使用Go to Definition of....時,出現警告對話框:no browse information available in'工程目錄'check
  • 自學單片機第三篇:keil軟體
    關於軟體,我將分四篇介紹,因為這是以後學習的主陣地。要想使用,首先是下載軟體,個人推薦大家前往Keil官網下載。官網的軟體各方面都有保證,英文並不影響使用,因為我們能用的功能項目,位置就那幾個,記住就好了,而且不用擔心莫名其妙的問題。
  • 基於proteus的51單片機開發實例37-DAC0832
    基於proteus的51單片機開發實例37-DAC08321.1. 實驗目的之前我們學習了數模轉換晶片DAC0808,今天我們繼續學習另一種D/A轉換晶片DAC0832。DAC0832與51單片機的接口VCC、ILE同時接到+5V,WR1和WR2同時接到單片機的同一個埠P3.6;CS和XFER也同時接到單片機的一個埠P2.7。這種接法使DAC0832相當於一個單片機的外部擴展存儲器,其地址為0x7fff。只要採用對片外存儲器尋址的方法將數據寫入該地址,DAC0832就會自動開始數模轉換。
  • 單片機keil 常見問題
    ,注意在keil編譯器中需要激活Properties中的「Generate Assembler SRC File」 和「Assembler SRC File 」兩個選項來個實例吧:#i ncludevoid main(void){P2=1;#pragma asmMOV R7,#10DEL:
  • 51單片機玩轉物聯網基礎篇01-開發環境搭建
    前言上至航天,下至兒童玩具,凡事沾一點智能的東西,都離不開單片機的身影......,本文開始,我們學習STC89C52單片機,這款單片機屬於8051系列單片機,51單片機作為入門級單片機不僅在教學實驗中應用廣泛,在實際項目中應用亦是十分廣泛。
  • Keil C51中靜態庫的生成與使用
    Keil C51的使用(C語言) 實驗目的:初步掌握Keil(C51語言)和SUN ES59PA實驗儀的操作和使用,能夠輸入和運行簡單的程序。實驗原理及環境:1.在計算機上已安裝Keil C51軟體。這個軟體既可以與硬體(SUN ES59PA實驗儀)連接,在硬體(單片機)上運行程序;也可以不與硬體連接,僅在計算機上以虛擬仿真的方法運行程序。如果程序有對硬體的驅動,就需要與硬體連接;如果沒有硬體動作,僅有軟體操作,就可以使用虛擬仿真。2.
  • Proteus與Arduino的整合在單片機系統開發中的應用
    ,使使用者不用關心單片機編程繁瑣的細節,如寄存器、地址指針等基本不用管,從而大大降低了單片機系統開發難度,特別適合老師、學生和一些業餘愛好者使用。  由於Arduino使用者一般都是那些對電路知識、電子技術及單片機技術等了解不深入的初學者,如何在Arduino開發過程中快速有效的提高他們的單片機系統開發能力及電子電路設計能力是一個需要迫切解決的問題。  Proteus的引入較好的解決了存在的問題。
  • proteus pro 8.10 sp3漢化版 附安裝教程
    軟體介紹:proteus8.10是英國Lab Center Electronics公司推出的一款電腦EDA工具軟體,該版本還是proteus系列軟體推出的新版本,由於該軟體既具有其他EDA工具軟體的仿真功能,又可以仿真
  • STM32入門實戰:強大、好用的嵌入式編譯器軟體Keil uVision5
    在後續章節中,我們都將以Keil軟體作為開發的平臺。但是對於個人學習和研究來說,我們可以從網上其它渠道下載試用。軟體本身的安裝非常簡單,照著提示點「Next」即可。和Keil4不同的是,Keil5需要單獨安裝晶片包,否則無法選擇晶片類型,比如F1系列的晶片包名稱一般是這樣的:Keil.STM32F1xx_DFP.1.0.5。STM32晶片包Keil的官網下載地址是:http://www.keil.com/dd2/。
  • 74HC154晶片的E1和E2埠作用是什麼?74HC154的應用實例
    打開APP 74HC154晶片的E1和E2埠作用是什麼?74HC154的應用實例 工程師譚軍 發表於 2018-07-19 14:14:37 74HC154晶片的E1和E2埠 74HC154是4-16線解碼器,輸出低電平有效。
  • 一篇詳細的KEIL C51 UV2使用教程
    選擇它(或按F7)編譯你的程序,在改正程序中的所有錯誤後,debug start/stop debug session菜單和相應的按鈕就可用了,選擇它就可以開始調試了。keil等的代碼編譯軟體,初學者需要從第一步新建工程走起,做好第一步,才能越走越遠。
  • Proteus 8.4中文版軟體下載和安裝教程
    :Proteus軟體是英國Lab Center Electronics公司開發的EDA工具軟體, Proteus將電路仿真軟體、PCB設計軟體和虛擬模型仿真軟體結合成專業的電子設計平臺,主要用於各種電器、電子原件的設計與開發。
  • 基於proteus的51單片機開發實例30-模塊化程序設計
    基於proteus的51單片機開發實例30-模塊化程序設計1.1.設計思路本實例的設計思路是:將《基於proteus的51單片機開發實例29-單總線DS18B20的讀寫》中的程序代碼按照延時功能、LCD1602液晶顯示功能、DS18B20的讀寫控制功能這三個部分,使用模塊化程序設計的方法,將這三個部分分別封裝為三個.c和.h文件
  • Keil編譯警告:function "assert_param" declared implicitly的...
    keil等的代碼編譯軟體,初學者需要從第一步新建工程走起,做好第一步,才能越走越遠。工具/原料電腦,keil軟體方法/步驟打開keil軟體,找到project,下拉菜單有一項new uvision project。點擊這個項目,會出現一個項目路逕自定義項目名稱和保存位置。選擇需要燒代碼的單片機晶片的生產公司以及相應的晶片型號上一步做好以後,出現一個提示,點是就會生成一個51的啟動文件,否就不會出現,如圖,是點了是以上步驟就新建了一個工程。我們可以直接add進去已有的文件。
  • AVR的程式語言Arduino可用Proteus仿真調試
    ATMEGA168P控制器的AD轉換是10位的轉換器,5V對應的數字量為1024,2.5V應該是512,所以單片機一旦得知AD轉換後的數字量超過512時,把數字接口13的LED的變量ledpin為HIGH。下面是Arduino程序: