準備工具:
1.keil uvision4:推薦用uv4,畢竟軟件版本都是向下兼容的嘛……。下載地址:docs.google.com/leaf
2.proteus 7.5:推薦理由同上。 下載地址:docs.google.com/leaf
3.vdm51.dll:這個文件網上壹搜壹大堆。下載地址:docs.google.com/leaf
首先動起來:
咱先不管它聯調不聯調,我們先看看這keil裏寫的東西怎麽就讓proteus動起來呢?
1.用keil編譯以下代碼,並生成HEX文件。(不會?沒關系看看這裏:hi.baidu.com/dxstar/blog/item/b287998d79541bf7503d9228.html)
#include<reg52.h> //52系列單片機頭文件
#define uint unsigned int //宏定義
uint i; //變量定義
sbit led=P1^0; //聲明單片機P1口的第壹位
void main() //主函數
{
while(1) //大循環
{
led=1; //點亮發光管
for(i=30000;i>0;i--); //延時
led=0; //關閉發光管
for(i=30000;i>0;i--); //延時
}
}
2.在proteus裏畫好下圖(還是不會?還是沒關系,看看這裏:hi.baidu.com/dxstar/blog/item/8679f401e582c585d53f7c3e.html)
(看到這電路圖,稍微有點單片機知識的朋友就會說,這電路圖完全就是錯的嘛,連單片機的最小系統都沒搭出來……。呵呵,是的。這也是proteus的壹個特色,它連單片機的供電電壓都可以不要的。反正我這裏也只是討論壹下keil與proteus的聯調,就是看看壹個形象的結果而已,對電路並沒有過多的深究)
3.雙擊proteus裏的單片機出現下圖:
選擇剛剛用keil編譯後的HEX文件。
4.點擊proteus左下角的開始按鈕。如下圖:
好了,這時候就可以看到那發光管壹閃壹閃的了。
聯調設置
我們已經知道如何把keil裏寫的東西讓proteus動起來了,現在我們來講講如何進行聯調。
1.先把vdm51.dll復制到X:\Program Files\Keil\C51\BIN裏(X是妳keil安裝的盤符。)
2.用記事本打開keil目錄下的tools.ini,在[C51] 欄目下加入 TDRV9=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV9” 中的 “9”要根據實際情況寫,不要和原來的重復。還有“”裏的文字其實就是妳在keil選項裏顯示的文字,所以也可以自己定義。如下圖:
3.在keil軟件裏的"options for target"target1→Debug"選項裏選中右邊的use,在下拉菜單中選擇proteus vsm simulator。如下圖所示:
4.在 proteus 的 debug 菜單中選中 use remote debug monitor 。如下圖所示:
好了,現在聯調的設置已經結束了。下面我們就來看看這個聯調的效果。
聯調結果
1.進入keil的軟件調式模式,如下圖所示。
2.先設置兩個斷點,以便我們看到聯調的效果。如下圖所示。
3.按F5進行到第壹個斷點時,效果如下圖:
4.繼續按F5進行到第二個斷點時,效果如下圖:
好了,現在所有的步驟都完成了。現在可以順利通過keil調試proteus的效果了。
來自: /dxstar/blog/item/ae40bf47eb02912bcefca35b.html