概述
找到protues与keil的安装目录
1、需要把VDM51.dll文件(protues中可能没有这个文件,你可以从网上下载。)复制到proteus安装目录下MODELS文件中 和 keil安装目录的 bin 文件中
我的目录:
protues: D:Proteus proMODELS
keil: D:keil_5_C51C51BIN
2、打开keil中的TOOLS.INI文件,并把**TDRV10=BINVDM51.DLL (“PROTEUS VSM MONITOR 51 DRIVER”)**复制到TOOLS.INI文件里。(注意这里的TDRV10不能与其他重合,如果重合的话,后面的10可以修改成11或更高)
(步骤1和步骤2只会在初次使用才需要设置)
3、新建keil工程。
进入keil,点击project,然后点击New uVision Project
在Search中输入89C51,在Microchip中选择AT89C51,然后点击OK.
4、设置仿真软件。
点击中间的小蓝点(Options for Target…)
点击Target,在 Xtal(MHz) 框中改为 11.0592
点击Output,勾选 Create HEX File
点击Debug,在右边Use中,点击下拉框,选择PROTEUS VSM MONITOR 51 DRIVER
**选择后,会自动弹出一个方框。**对照下图,点击OK
我这里是同一台电脑
(如果用同一台机IP名为127.0.0.1,如不是同一台机调试则填另一台的IP地址。端口号一定为8000。注意:可以实现在一台机器上运行keil,另一台中运行proteus进行远程仿真调试的。)
最后点击OK
5、设置文件类型
我这里使用的是C File.
右击Source Group 1, 点击Add New Item to Group 'Source Group 1…, 点击C File,并为你的文件取一个名字。
6、现在可以在Keil书写代码了
#include <reg51.h>
#include <stdio.h>
void initUart(void);
void delay(unsigned int x);
void main (void)
{
unsigned int utime;
initUart();
while(1){
printf("Hello World,2018A14118 Zhong yuann");
delay(1000);
for (utime=0; utime<10; utime++){}
}
}
void initUart(void)
{
SCON = 0x50;
TMOD = 0x20;
TH1 = 0xfd;
TR1 = 1;
TI = 1;
}
void delay(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i=0;i<120;i++);
}
}
点击编译运行
编译成功后
在该文件目录下会生成一个object文件夹,其中有后缀为hex的文件,用于烧到protues软件上跑.
记住hex的路径,后面需要用到。
7、protues的配置
打开protues,点击Debug, 勾选Use Remode Debug Monitor
点击P,在Keywords输入89C51,在右侧点击AT89C51,然后点击OK
点击AT89C51,然后在右侧寻找合适的位置,点击两下,面板出现AT89C51单片机
点击左栏的一个图标,点击VIRTUAL TERMINAL,然后在右侧寻找合适的位置,点击两下,放到面板
进行连线
双击面板的单片机文件,Program File:选择Keil中烧录出object文件夹,其中有后缀为hex文件的路径。下面那张图是我的路径。Clock Fiequency设置为11.0592Hz,与Keil相同的数。然后点击OK。
保存文件,点击运行。
效果图:
如果没有显示Virtual Terminal这个框框。
解决办法如下:
在Simulation中止后,进入工具栏Debug-Reset Debug Pop up Windows,并在弹出窗口中选“yes”。 再次运行Simulation,可以发现窗口可以正常弹出。
参考链接
参考链接
最后
以上就是粗心小丸子为你收集整理的Protues与keil联调方法及用C书写一个HelloWorld程序的全部内容,希望文章能够帮你解决Protues与keil联调方法及用C书写一个HelloWorld程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复