国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

聯(lián)合仿真在單片機教學(xué)中的應(yīng)用

2009-01-21 08:27侯繼紅
職業(yè)教育研究 2009年1期

摘要:文章描述了使用Proteus軟件與Keil uVision3軟件建立聯(lián)合仿真的方法,并用實例說明聯(lián)合仿真的方法和過程。

關(guān)鍵詞:Proteus軟件;Keil uVision3軟件

目前,單片機技術(shù)在實際工程中得到了廣泛應(yīng)用,Proteus軟件與Keil uVision3軟件的聯(lián)合仿真在實際的單片機系統(tǒng)開發(fā)中被普遍應(yīng)用。為此,在單片機課程教學(xué)過程中,教師一定要結(jié)合工程實際做到軟件和硬件相結(jié)合,實現(xiàn)理論教學(xué)與工程實踐緊密結(jié)合,在傳授理論知識的同時,教會學(xué)生如何使用實際工程所應(yīng)用的相關(guān)軟件進行單片機系統(tǒng)開發(fā)。

Proteus軟件與Keil uVision3軟件簡介

Proteus軟件的介紹Proteus軟件是英國LabcenterElectronics公司開發(fā)的電子設(shè)計自動化(EDA)工具軟件。該軟件主要由實現(xiàn)原理圖編輯及仿真的ISIS模塊和實現(xiàn)PCB板設(shè)計及自動布線的ARES模塊組成。Proteus不但具有其他EDA軟件的模擬電子和數(shù)字電子仿真功能,而且還具有其他EDA軟件所沒有的單片機系統(tǒng)硬件仿真功能。它可以仿真MS51系列單片機、AVR單片機、PIC單片機和ARM7微處理器,可以直接在電路原理圖上實現(xiàn)硬件的虛擬仿真,實現(xiàn)程序的調(diào)試,并提供進行測試與分析的虛擬示波器、邏輯分析儀等虛擬儀器及仿真圖表。

Keil uVision3軟件的介紹Keil uVision3軟件是德國的嵌入式開發(fā)工具專業(yè)制造商Keil公司開發(fā)的單片機開發(fā)軟件平臺。首先,該軟件不但可以進行軟件仿真,而且還可以通過其內(nèi)嵌模塊Keil-Monitor-51,實現(xiàn)在不需要連接硬件仿真器的條件下,通過下載線連接硬件系統(tǒng)對項目進行實時仿真。其次,可以與Proteus單片機仿真軟件聯(lián)合實現(xiàn)虛擬硬件仿真。再次,Keil uVision3軟件具有良好的調(diào)試界面,操作不復(fù)雜,具有優(yōu)秀的編譯效果,豐富的學(xué)習(xí)資料。目前,Keil uVision3軟件的用戶非常龐大,幾乎所有的嵌入式開發(fā)工程師都使用該軟件。

Proteus軟件與Keil uVision3軟件聯(lián)合仿真的建立

Proteus軟件與Keil uVision3軟件之間可有相互獨立和相互聯(lián)合兩種方式進行單片機系統(tǒng)的虛擬仿真。如用Proteus軟件獨立進行虛擬仿真,就是用Keil uVision3軟件的編輯控制程序,在Keil uVision3軟件的Option for Target “Target1”選項卡Output中選擇Create HEX File選項,然后進行編譯,生成*.HEX文件。然后,將該文件轉(zhuǎn)到Proteus的ISIS模塊中,在所仿真的電路中打開單片機的編輯對話框Edit Component,在此窗口中的Program File欄中,選擇通過編譯生成的*.HEX文件,并在Clock Frequency欄中設(shè)置單片機的晶振頻率,點擊OK完成Edit Component窗口的設(shè)置。最后,點擊Proteus軟件的仿真啟動按鈕實現(xiàn)電路的仿真。

Proteus軟件與Keil uVision3軟件之間的聯(lián)合虛擬仿真,指Keil uVision3軟件將Proteus軟件打開的單片機系統(tǒng)看成一個虛擬的硬件電路,使用Keil uVision3軟件對程序進行編譯、調(diào)試時自動連接Proteus軟件中的虛擬單片機系統(tǒng),虛擬單片機系統(tǒng)的狀態(tài)隨Keil uVision3軟件對程序調(diào)試實時變化。這樣,可實現(xiàn)用Proteus軟件與Keil uVision3軟件聯(lián)合虛擬硬件仿真。要實現(xiàn)聯(lián)合虛擬硬件仿真就必須對Proteus軟件與Keil uVision3軟件進行如下設(shè)置:

1.安裝好Proteus軟件和Keil uVision3軟件后,安裝壓縮包中的vdmagdi.exe文件,此時在路徑為Keilc51in的文件夾里有VDM51.DLL文件。

2.將壓縮包中的Prospice.dll文件復(fù)制到Proteus6.9根目錄的BIN文件夾中,并將原來的文件覆蓋。

3.在Proteus軟件中打開要仿真的單片機系統(tǒng)原理圖,并在Debug菜單中選擇Use remote debug monitor。

4.在Keil uVision3軟件中打開要進行聯(lián)合仿真的項目和程序,點擊Project并在Option for Target“Target1”選項卡Debug中選擇Use Proteus VSM Simulator。然后,點擊Setting按鈕進入Host IP和端口Port的設(shè)置,如果在同一臺計算機上進行聯(lián)合仿真,則Host IP地址為127.0.0.1,端口設(shè)置為8000。如果兩臺計算機通過互聯(lián)網(wǎng)進行聯(lián)合仿真,則Host IP地址為這臺計算機的網(wǎng)上IP地址,端口也為8000,這樣,就可以實現(xiàn)一臺計算機的Keil uVision3軟件平臺通過互聯(lián)網(wǎng)去連接遠(yuǎn)程的另一臺計算機,并遠(yuǎn)程控制另一臺計算機的Proteus軟件實現(xiàn)虛擬仿真。

按上述的步驟進行設(shè)置后,Proteus軟件和Keil uVision3軟件之間即可進行聯(lián)合仿真。

Proteus軟件與Keil uVision3軟件聯(lián)合仿真實例

下面通過一個實例來進一步說明用Proteus軟件與Keil uVision3軟件聯(lián)合仿真來調(diào)試程序的過程。該實例是用一個8×8的LED點陣塊來顯示字符。啟動Proteus軟件的ISIS模塊設(shè)計如圖所示的仿真電路原理圖。

用單片機的串行口輸出顯示數(shù)據(jù),用74HC595芯片將單片機發(fā)出的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),并送給LED顯示屏;單片機的P1.0~P1.2管腳輸出LED顯示屏的行選編碼,并通過74HC138芯片譯碼產(chǎn)生行選信號,實現(xiàn)LED顯示屏行掃描顯示。用設(shè)計好的仿真電路原理圖實現(xiàn)顯示字符“↑”。根據(jù)電路實現(xiàn)的功能要求用Keil uVision3編輯軟件編寫如下源程序:

ORG 0000H

MOV SCON,#00H;串行口工作方式0

START:MOVR1,#00H

MOVR2,#00H

MOVR3,#8

MOVDPTR,#TABLE;顯示字符的數(shù)據(jù)表首地址送DPTR

E1:MOVA,R1;查表索引值送R1

MOVCA,@A+DPTR;查字符數(shù)據(jù)表

MOVSBUF,A;串行發(fā)送

JNBTI,$;一幀發(fā)送完畢嗎?

0CLRTI

SETBP2.1;關(guān)閉顯示器,消隱

MOVA,R2

MOVP1,A;送行選信號

CLRP2.0;產(chǎn)生74HC595的數(shù)據(jù)鎖存信號(上升沿)

NOP;保證數(shù)據(jù)鎖存信號有一定的脈沖寬度

NOP

SETBP2.0

CLRP2.1;74HC595數(shù)據(jù)輸出給顯示器

INCR1;準(zhǔn)備讀取字符的下一行數(shù)據(jù)

INCR2;準(zhǔn)備掃描下一行

MOVR4,#250;每行的顯示時間

DJNZR4,$;

DJNZR3,E1

AJMPSTART

TABLE:DB 10H,20H,40H,0FFH,40H,20H,10H,00H;

END

完成源程序的編寫后,用Proteus軟件打開要仿真的電路,在Keil uVision3編輯平臺下選擇主菜單Project下的Build target命令對源程序進行編譯,如果程序沒有語法錯誤,繼續(xù)選擇主菜單Debug下的Start/stop debug session命令運行源程序,此時,Proteus軟件中的仿真電路圖已處在單步執(zhí)行的運行狀態(tài)。然后,可以在Keil uVision3軟件或在Proteus軟件中Debug菜單下的命令對源程序進行調(diào)試,同時在Proteus軟件中可以很直觀地查看結(jié)果,這樣即可像使用仿真器一樣調(diào)試程序。

Proteus軟件與Keil uVision軟件聯(lián)合仿真教學(xué)的效果

近年,筆者將Proteus軟件與Keil uVision軟件聯(lián)合仿真應(yīng)用于單片機接口技術(shù)的課程教學(xué),收到了良好的教學(xué)效果,教學(xué)質(zhì)量得到明顯提高,喜歡學(xué)習(xí)單片機的學(xué)生明顯增多。在教學(xué)過程中,每個實例都采用Proteus軟件與Keil uVision軟件聯(lián)合仿真對程序都像仿真器一樣調(diào)試,同時在屏幕上學(xué)生可以直觀地看到電路輸出狀態(tài),比較容易讀懂并理解所調(diào)試的程序。這在一定程度上降低了學(xué)生學(xué)習(xí)單片機的難度,也提高了學(xué)生學(xué)習(xí)單片機的興趣。學(xué)生可以只用一部電腦完成一個單片機系統(tǒng)設(shè)計、調(diào)試等操作,解決了學(xué)生想學(xué)好單片機但又缺乏硬件條件的問題;用Proteus軟件與Keil uVision軟件聯(lián)合仿真技術(shù)進行單片機課堂實驗演示極大地提高了課堂效率,克服了用傳統(tǒng)仿真器進行實驗演示時教師要準(zhǔn)備很多硬件設(shè)備、要進行接線等操作的缺點。在實際工程中,Proteus軟件與Keil uVision軟件聯(lián)合仿真技術(shù)也被廣泛應(yīng)用,用仿真器仿真調(diào)試電路程序?qū)⒅饾u被淘汰。這樣,使用Proteus軟件與Keil uVision軟件聯(lián)合仿真技術(shù)進行教學(xué)可充分做到教學(xué)與實際工作需要不脫節(jié),使學(xué)生在校學(xué)習(xí)期間就掌握了實際工作中需要的知識,培養(yǎng)了實際工作需要的單片機開發(fā)技能,可提高學(xué)生就業(yè)成功率,并能夠縮短畢業(yè)生適應(yīng)相關(guān)工作崗位的時間。

參考文獻:

[1]張曉峰. Keil與Proteus聯(lián)合虛擬仿真技術(shù)在單片機教學(xué)中的應(yīng)用[J].林區(qū)教學(xué),2007,(12).

[2]馬剛.Proteus與Keil整合構(gòu)建單片機虛擬仿真平臺[J].現(xiàn)代電子技術(shù),2006,(24).

作者簡介:

侯繼紅(1975—),男,碩士,廣州科技貿(mào)易職業(yè)學(xué)院講師,研究方向為單片機應(yīng)用及電子EDA技術(shù)應(yīng)用。