Proteus與Keil連接及其仿真(有例子哦!)


  記錄一下Proteus仿真的一些設置和使用,以方便自己以后復習和大家交流!如有錯誤,希望大家指正。

1、Proteus軟件的安裝,這里就不作說明了。

(上圖為安裝完打開的軟甲)

2、Keil與Proteus安裝連接操作

第一步,Keil 與Proteus連接,連接開始必須在Proteus安裝目錄下 VDM51.dll文件復制到Keil安裝目錄的Keil\C51\BIN 目錄中,但新版本中沒有,

!!!所以必須下載安裝補丁vdmagdi.exe,則在Keil安裝目錄的Keil\C51\BIN 目錄中有文件:VDM51.dll。

(由於不知道怎么上傳文件就沒有把vdmagdi.exe上傳,百度有的)

第二步、修改keil安裝目錄下 Tools.ini文件

  用記事本(其它的編輯軟件也可以,如Ultra Edit)打開Keil 根目錄下的 TOOLS.INI 文件,在[C51] 欄目下加入

  TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3” 中的 “3”要根據實際情況寫,不要和原來的重復。

第三步、打開proteus,畫出相應電路。

在proteus的debug(調試)菜單中選中(使用遠程調試監控)use remote debug monitor 。

在keil中編寫MCU的程序。 進入KEIL的project(工程)菜單(為目標target1設置選項)option for target '工程名'。在debug(調試)選項中右欄上部的下拉菜選中 Proteus VSM Monitor-51 Driver。

【例】一個實際例子:

1、在Proteus上畫下面的圖

畫完之后建立一個文件夾保存(最好是英文路徑),同時在proteus的debug(調試)菜單中選中(使用遠程調試監控)use remote debug monitor 。

2、寫代碼,文件保存在上面的文件夾中,在Keil中寫以下的代碼並編譯

/* 	名稱:閃爍的LED
	說明:LED按設定的時間間隔閃爍
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
//延時
void DelayMS(uint x)
{
	uchar i;
	while(x--)
	{
		for(i=0;i<120;i++);
	}
}
//主程序
void main()
{
	while(1)
	{
		LED=~LED;
		DelayMS(150);
	}
}

 設置生產HEX文件,並設置下面的(上文有提到的)

3、現在就在可以用Keil調試的

,但是此時要注意的是此時Proteus中的AT89C51沒有下載進代碼,所以會出現“No program code loaded”

所以要雙擊AT89C51芯片,

在Program file(即第四個空行)點擊右邊的小文件夾圖標,找到路徑中的hex文件

    就可以了

重新在Keil中仿真,

此時是沒有出現黃色的錯誤的。OK

4、下面是Proteus的自己仿真,點擊下面的開始

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM