在网上看到的,,感觉对用proteus仿真的童鞋有用,来分享分享
准备工具:
1.keil uvision4:推荐用uv4,毕竟软件版本都是向下兼容的嘛.
2.proteus 7.5:推荐理由同上。
3.vdm51.dll:
首先动起来:
咱先不管它联调不联调,我们先看看这keil里写的东西怎么就让proteus动起来呢?
1.用keil编译以下代码,并生成HEX文件。(不会?没关系,看小宋老师的视频去,看完再回来,哈哈)
#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里画好下图
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进行到第一个断点时,效果如下图
好了,现在所有的步骤都完成了。现在可以顺利通过keil调试proteus的效果了。