<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Proteus軟件在嵌入式系統(tǒng)教學(xué)中的應(yīng)用研究

          Proteus軟件在嵌入式系統(tǒng)教學(xué)中的應(yīng)用研究

          作者: 時間:2010-10-19 來源:網(wǎng)絡(luò) 收藏

          全速運行Protues,可以看到Proteus中電路的按鍵閉合時,P3.2引腳產(chǎn)生一個下跳沿,PC=0x0003H,指向AJMP INTO轉(zhuǎn)移指令,堆棧指針SP=O.9H,數(shù)據(jù)存儲器的08H和09H單元存放著01H和05H,即存放了下一條指令的地址。由此學(xué)生可以知道,當(dāng)發(fā)生外部中斷請求時,程序會自動保存斷點的地址,同時程序?qū)D(zhuǎn)移到中斷服務(wù)程序的入口地址。由于是外部中斷0產(chǎn)生的中斷請求,因此程序會轉(zhuǎn)移到外部中斷0的入口地址0003H單元。而AJMP INT0是一轉(zhuǎn)移指令,所以程序會轉(zhuǎn)移到標(biāo)號INT0處,即真正的中斷服務(wù)程序。隨著CPL P1.0指令的執(zhí)行Pro-teus電路圖中的發(fā)光二極管會改變當(dāng)前的狀態(tài)。當(dāng)程序執(zhí)行完RETI后,PC=0x0105H,說明中斷程序執(zhí)行完后,程序又回到斷點的位置。RETI指令能把斷點地址取出,送回到程序計數(shù)器PC中去。至此,一個完整的中斷處理過程執(zhí)行完畢。
          通過外部中斷執(zhí)行的例子可以看出,在課堂上使用Protues和Keil聯(lián)調(diào)建立的實驗平臺,許多抽象概念都可以以直觀的方式介紹給學(xué)生,使得學(xué)生不僅能夠觀察到軟件執(zhí)行時單片機內(nèi)部的I/O口和存儲器的變化,還能夠觀察到軟件程序和外圍電路互動的過程。

          3 Proteus軟件在實驗和課程設(shè)計中的應(yīng)用
          現(xiàn)有的單片機實驗教學(xué)環(huán)節(jié)通常包括2個部分:課內(nèi)實驗和課程設(shè)計。所有這些實驗都是在實驗箱上完成的。由于硬件實驗箱的結(jié)構(gòu)固定,資源有限,學(xué)生在做實驗時無法將所學(xué)的知識融會貫通。所以到課程設(shè)計階段,很多學(xué)生無法完成綜合性實驗。采用Proteus軟件仿真可以彌補硬件實驗的不足?;赑roteus的實驗可以分為以下3個階段逐步完成。
          (1)驗證階段。主要讓學(xué)生熟悉Proteus與Keil軟件環(huán)境,使學(xué)生對單片機虛擬系統(tǒng)仿真有感性認識。實驗指導(dǎo)書給出實驗任務(wù)與要求、Proteus實驗原理圖、實驗操作步驟、多媒體課件、程序流程圖及程序源代碼等。學(xué)生根據(jù)實驗步驟或?qū)嶒灢僮麂浵襁M行實驗操作、實驗調(diào)試,并觀察程序運行結(jié)果。
          (2)設(shè)計階段。主要培養(yǎng)學(xué)生用Proteus繪制系統(tǒng)原理圖,以及用Keil進行源程序設(shè)計的能力。實驗指導(dǎo)書給出實驗任務(wù)與要求、實驗原理圖。學(xué)生根據(jù)實驗原理圖用Proteus繪制硬件電路圖,按照實驗要求設(shè)計程序,在Keil環(huán)境編寫源代碼,調(diào)試成功,加載程序到Proteus硬件圖仿真。仿真成功后按照實驗原理圖在實驗箱上搭建硬件電路,加載程序,觀察實驗現(xiàn)象,并與仿真結(jié)果相比較。
          (3)綜合階段。主要激發(fā)學(xué)生學(xué)習(xí)興趣及主觀能動性,提高學(xué)生創(chuàng)新能力。學(xué)生根據(jù)實驗任務(wù)及要求設(shè)計硬件電路(包括CPU選型、元器件選型及參數(shù)設(shè)置、電路連接等)并繪制Proteus硬件原理圖;根據(jù)硬件功能模塊進行軟件設(shè)計(包括系統(tǒng)原理框圖、程序流程圖及源代碼編寫等)。軟硬件設(shè)計完成后,進行兩者間聯(lián)調(diào),充分利用Proteus與Keil的聯(lián)合仿真功能,及時發(fā)現(xiàn)并改正硬件電路或程序源碼的錯誤。系統(tǒng)仿真成功后,再制作實物。
          在課程設(shè)計環(huán)節(jié)中,要求學(xué)生在Proteus中繪制硬件電路圖,在Keil中編寫程序,同時在設(shè)計硬件電路時盡可能考慮實驗箱的資源,以便在Keil中編寫的程序能夠很好移植到實驗箱上。這樣學(xué)生可以隨時進行課程設(shè)計和課題研究,在聯(lián)合仿真驗證成功后,再進入實驗室使用實驗箱做進一步驗證。
          學(xué)生可以針對不同的應(yīng)用,選擇最適宜的單片機,而不用局限于課堂上常講解的51系列單片機。學(xué)生可以在聯(lián)合仿真成功之后,再進行電路焊接、系統(tǒng)調(diào)試和程序固化,避免因設(shè)計方案不正確所造成的浪費。同時也可以使學(xué)生了解與本課程相關(guān)的科技發(fā)展最新動態(tài)和成果,掌握自己不熟悉的單片機,提高實驗?zāi)芰烷_發(fā)能力。

          4 Proteus軟件在畢業(yè)設(shè)計和創(chuàng)新設(shè)計中的應(yīng)用
          在畢業(yè)設(shè)計中,單片機控制類的設(shè)計由于時間短,人數(shù)多及實驗設(shè)備缺乏,給畢業(yè)設(shè)計帶來了一定的困難。采用Proteus仿真軟件后,只需要一臺電腦就可以開展工作。學(xué)生前期的仿真工作可以利用Proteus仿真軟件在電腦上完成,再進入實驗室進行現(xiàn)場調(diào)試,一方面可緩解設(shè)備不足的問題,也可不影響正常的教學(xué)。
          在項目研究和創(chuàng)新設(shè)計中,利用Proteus軟件進行輔助設(shè)計,可以做到縮短研發(fā)周期,減小硬件成本的投入。動態(tài)元器件仿真模型是Pro-teus的特色動態(tài)模型,具有動畫效果,如LED發(fā)光管、按鍵開關(guān)等。這是Proteus的特色。但有些動態(tài)模型在庫中沒有,Proteus在創(chuàng)建動態(tài)模型方面給予用戶廣闊的創(chuàng)作與發(fā)揮空間,可以設(shè)計自己的動態(tài)模型,展現(xiàn)出Proteus在動態(tài)仿真方面的無限魅力。它不但使人機交互式仿真得以實現(xiàn),而且使仿真形象、生動,創(chuàng)造出極為接近現(xiàn)實的課程教學(xué)與產(chǎn)品研發(fā)的情境。

          5 結(jié)語
          采用Proteus仿真軟件作為單片機和ARM的教學(xué)平臺,可充分利用機房的現(xiàn)有設(shè)備,減少實驗設(shè)備的硬件維護、實驗環(huán)境,又與實際工程系統(tǒng)非常接近,拉近了學(xué)習(xí)與就業(yè)的距離。
          近年來,將Proteus仿真軟件應(yīng)用在教學(xué)、課程設(shè)計、畢業(yè)設(shè)計、山東省大學(xué)生電子設(shè)計大賽中,使用該開發(fā)環(huán)境對學(xué)生進行培訓(xùn),在不需要硬件投入的情況下,學(xué)生普遍反映比以往單純學(xué)習(xí)書本知識更易于接受,更易于提高,增加很多實踐經(jīng)驗。實踐證明,這種教學(xué)方法不但可以降低成本,經(jīng)濟優(yōu)勢明顯,且具有較高的推廣價值。

          本文引用地址:http://www.ex-cimer.com/article/151419.htm

          上一頁 1 2 下一頁

          關(guān)鍵詞: 編解碼器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();