基于Keil的實(shí)驗(yàn)仿真板的制作
前面介紹了Keil 軟件的使用,從中我們可以看到Keil 的強(qiáng)大功能,不過,對(duì)于初學(xué)者
來說,還有些不直觀,調(diào)試過程中看到的是一些數(shù)值,并沒有看到這些數(shù)值所引起的外圍電
路的變化,例如數(shù)碼管點(diǎn)亮、發(fā)光管發(fā)光等。為了讓初學(xué)者更好地入門,筆者利用Keil 提
供的AGSI 接口開發(fā)了兩塊仿真實(shí)驗(yàn)板。
這兩塊仿真板將枯燥無味的數(shù)字用形象的圖形表達(dá)出來,可以使初學(xué)者在沒有硬件時(shí)就能感受到真實(shí)的學(xué)習(xí)環(huán)境,降低單片機(jī)的入門門檻。圖1 是鍵盤、LED 顯示實(shí)驗(yàn)仿真板的圖,從圖中可以看出,該板比較簡(jiǎn)單,有在P1 口接有8 個(gè)發(fā)光二管,在P3 口接有4 個(gè)按鈕,圖的右邊給出了原理圖。
圖2 是另一個(gè)較為復(fù)雜的實(shí)驗(yàn)仿真板。在該板上有8 個(gè)數(shù)碼管,16 個(gè)按鍵(接成4*4 的矩陣式),另外還有P1 口接的8個(gè)發(fā)光管,兩個(gè)外部中斷按鈕,一個(gè)帶有計(jì)數(shù)器的脈沖發(fā)生器等資源,顯然,這塊板可以完成更多的實(shí)驗(yàn)。
一、實(shí)驗(yàn)仿真板的安裝
這兩塊仿真實(shí)驗(yàn)板實(shí)際上是兩個(gè)dll 文件,名稱分別是ledkey.dll 和simboard.dll,安裝時(shí)只要根據(jù)需要將這兩個(gè)或某一個(gè)文件拷貝到keil 軟件的c51bin 文件夾中即可。
二、實(shí)驗(yàn)仿真板的使用
要使用仿真板,必須對(duì)工程進(jìn)行設(shè)置,設(shè)置的方法是點(diǎn)擊Project->Option for Target‘Target1’打開對(duì)話框,然后選中Debug 標(biāo)簽頁,在Dialog :Parameter:后的編緝框中輸入-d 文件名。例如要用ledkey.dll(即第一塊仿真板)進(jìn)行調(diào)試,就輸入-dledkey,如圖3所示,輸入完畢后點(diǎn)擊確定退出。編譯、連接完成后按CTRL+F5 進(jìn)入調(diào)試,此時(shí),點(diǎn)擊菜
單Peripherals,即會(huì)多出一項(xiàng)“鍵盤LED 仿真板(K)”,選中該項(xiàng),即會(huì)出現(xiàn)如圖1 的界面,
鍵盤、LED 顯示實(shí)驗(yàn)仿真板
圖2 單片機(jī)實(shí)驗(yàn)仿真板
同樣,在設(shè)置時(shí)如果輸入-dsimboard 則能夠調(diào)出如
圖2 的界面。
第一塊仿真板的硬件電路很簡(jiǎn)單,電路圖已在板上,第二塊板實(shí)現(xiàn)的功能稍復(fù)雜,其鍵盤和數(shù)碼
顯示管部份的電路原理圖如圖4 所示。下表給出了常用字形碼,讀者也可以根據(jù)圖中的接線自行寫出
其它如A、B、C、D、E、F 等的字形碼。 除了鍵盤和數(shù)碼管以外,P1 口同樣也接有8 個(gè)發(fā)光二極管,連接方式與圖1 相同;脈沖發(fā)生器是接入T0 即P3.4 引腳。
0c0h 0f9h 0a4h 0b0h 99h 92h 82h 0f8h 80h 90h 0FFH
0 1 2 3 4 5 6 7 8 9 消隱
三、實(shí)例調(diào)試
以下以一個(gè)稍復(fù)雜的程序?yàn)槔?,說明鍵盤、LED 顯示實(shí)驗(yàn)仿真板的使用。該程序?qū)崿F(xiàn)
的是可控流水燈,接P3.2 的鍵為開始鍵,按此鍵則燈開始流動(dòng)(由上而下),接P3.3 的鍵
為停止鍵,按此鍵則停止流動(dòng),所有燈暗,接P3.4 的鍵為向上鍵,按此鍵則燈由上向下流
動(dòng),接P3.5 的鍵為向下鍵,按此鍵則燈由下向上流動(dòng)。
例8:
UpDown BIT 00H ;上下行標(biāo)志
StartEnd BIT 01H ;起動(dòng)及停止標(biāo)志
LAMPCODE EQU 21H ;存放流動(dòng)的數(shù)據(jù)代碼
ORG 0000H
AJMP MAIN
ORG 30H
MAIN:
MOV SP,#5FH
MOV P1,#0FFH
CLR UpDown ;啟動(dòng)時(shí)處于向上的狀態(tài)
h g f e
P0.7
P0.0
P0.5
P0.4
P0.7
P0.6
d c b a
P0.3
P0.2
P0.0
P0.1 P2.7
P2.0
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0 驅(qū)
動(dòng)
P3.0
P3.1
P3.2
P3.5
P3.3
P3.4
P3.6
P3.7
2 3
6 7
A B
E F
0 1
4 5
8 9
VCC C D 89C51
評(píng)論