我是靠谱客的博主 壮观棒球,最近开发中收集的这篇文章主要介绍keil和Proteus联动调试实现Hello world,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

所用软件:
1、keil_5_C51(c51v957)
2、proteus pro 7.8 sp2和谐版
链接:https://pan.baidu.com/s/1odIoE502gj1PjOMVBVITfg
提取码:yz9o

一、keil的安装注册
1、安装:以管理员身份运行keil,根据提醒一直【next】。(注:安装路径可自主选择,填写信息可随意)
2、注册:以管理员身份打开keil,在【File】下选择【License Management】,复制【CID】内容;打开注册机粘贴CID的内容,按【Generate】得注册码然后复制,把注册码粘贴到【LIC】按【Add】再按【Close】完成。
参考(有汉化):https://blog.csdn.net/weixin_45636052/article/details/103951079

二、proteus的安装
1、安装:以管理员身份运行proteus,根据提醒点击【next】或【Yes】。有一步选择【Use a locally installed Licence Key】再点击【next】,弹出框时点击【Browse For Key File】从安装包中找到LICENCE.lxk文件点【打开】再点击【Install】、【是】、【Close】。(注:安装路径可自主选择,但一定要记住) 破解:点击(Proteus Pro 7.8 SP2 1.0.exe破解.exe)软件,粘贴proteus安装路径再点【升级】,完成。
汉化:解压Proteus Pro 7.8 SP2汉化包.zip,将“ARES.DLL”和“ISIS.DLL”两个文件复制到安装路径的BIN目录下(替换)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三、keil和Proteus联动调试
1、将VDM51.dll文件复制到keil安装目录的 C51BIN文件夹和Proteus安装目录MODELS文件夹里。
2、打开keil目录里的名为Tools.ini文件,在C51列表中加入新的一行:TDRV10=BINVDM51.DLL (“Proteus VSM Monitor-51 Driver” )。
在这里插入图片描述
3、keil的新建工程配置:在安装目录新建文件夹【proj】(注:路径不能有中文)用于存放新建的keil工程文件,打开keil选择【Project】选择【New uVsion Project】选择【proj】文件夹路径并填写工程文件名,搜索89C51,选择AT89C51,点击OK,创建完成。右键【Source Group 1】文件夹,点击【add new item to group …】,选中【C File(.c)】。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
keil配置:点击【Options for Target…】
在这里插入图片描述
点击【Target】:(注意设置为 11.0592, 否则会出现乱码或其他情况)
在这里插入图片描述
点击【Output】:
在这里插入图片描述
先点击【Debug】选择,后点击setting:
在这里插入图片描述
最后点击【OK】保存。

4、protues配置
打开protues软件,勾选【debug】里的【Use Remote Debug Monitor】选项,使得等下进程可以串口显示。
在这里插入图片描述
左侧栏点击P按钮,输入89C51,找到该芯片:
在这里插入图片描述
点一下89C51,再点一下右侧面板就能放置,在左侧栏找到VIRTUAL TERMINAL放到面板然后连线:
在这里插入图片描述
四、实现Hello world
1、打开keil软件,在新建的工程里填入hello world代码,点击【Rebuild】编译:
在这里插入图片描述
提示无错误,无警告,则编译成功,此时在该工程文件目录下会生成一个object文件夹,其中有后缀为.hex的文件,用于烧到protues软件上跑,要记住.hex文件的路径。
在这里插入图片描述
代码(C):

#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 Worldn");
		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++);
	}
}

2、打开protues软件,双击C51芯片,点击【小文件夹】导入刚才那个后缀为.hex的文件。(注:下面的设置成和keil软件相同的11.0592)
在这里插入图片描述
点击左下角运行:
在这里插入图片描述

五、出现错误
1、解决proteus仿真时出现的错误 Cannot open ‘C:User***(中文)AppDateLocalTempLISA4832.SDF’。
在这里插入图片描述
方法:更改环境变量
右键【此电脑】>【属性】>【高级系统设置】>【环境变量】, 在【用户变量】栏里,找到【TEMP】与【TMP】,对其进行编辑,将变量值都改为【%SystemRoot%TEMP】。然后下面的【系统变量】栏里,同样的操作步骤。(注:如果变量栏里没有TEMP和TMP,自己新建即可)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后

以上就是壮观棒球为你收集整理的keil和Proteus联动调试实现Hello world的全部内容,希望文章能够帮你解决keil和Proteus联动调试实现Hello world所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部