详图解释如何把proteus与keil联合使用 PS:前提是已经安装好Proteus和keil 用流水灯做例子:
要求:P2口控制八个LED灯的轮流亮灭。 解 :联合使用步骤一共分为三部分 1、先做Proteus部分 (1)找到Proteus安装位置的ISIS 7文件,点击 (2)进入之后,依次点击文件-新建设计-保存设计-选择保存位置(放在自己比较好找的地方)-把设计名字设为liushuideng-点击保存 (3)开始找器件,点击库–拾取元件/符号–输入要找的元件号–点击确认,在左侧找到刚才点击的元器件,把鼠标移到图上,这样就能看到一个元器件的虚框,再次点击即可完成添加
(4)找全所有的元器件,把鼠标放在元器件针脚上,点击一下,即可引出导线,在另一端再点击一下即可完成连接,连接好所有的元器件。 蓝色的线表示总线,只要设好对应的网络标号就可以看作这两端是连通的。放置总线时,在图上点击一下,拖动鼠标,到位置后连击两下,即可完成放置。
2、到此,proteus部分已经完成,下一步进入keil,编写AT89C51芯片的代码 (1)打开keil软件,点击project,点击new project,来创建一个新的项目,将新项目保存到自己熟悉的文件夹中,点击保存,然后会跳出一个选择芯片的界面,输入AT89C51,点击确认 (2)回到界面后,我们会发现左边的界面多出了一个project,点击所有的加号,将它全部展开 (3)点击选中Source Group 1,右键选择Add new item to Group “Source Group 1”,然后会让你选择文件类型,选择C File,名字填liushuideng,点击Add。 (4)添加了liushuideng.c后,先保存一下,再点击一下魔法棒(图标如图2) (5)开始导出Proteus要用的.Hey文件:点击魔法棒后,会跳出一个窗口,在窗口上面找到OUTPUT,点击它,按以下图勾选选项,点击OK即可,下面就可以编写程序了 (6)编写程序,完成后点击保存,然后点击Rebuild(如图),结果出现0 Error(s),0 Warning(s),这就说明程序没问题
#include<reg51.h> void delay1s() { int i,j; for(i=0;i<110;i++){ for(j=0;j<1000;j++){; } } } void main() { unsigned char a = 0x01; while(1){ if(a==0x00){ a=0x01; } P2=a; a=a<<1; delay1s(); } }
3、Proteus和keil各自的部分现在都已经做好了,下来就是将两个软件联动起来 (1)打开之前用的Proteus画的图,双击AT89C51芯片,找到图中箭头所指的地方,点击,这作用是选择AT89C51使用的.HEY文件。 (2)在系统中找到你自己之前保存keil文件的文件夹,你会在文件夹中object中找到你用C语言编写出的对应的liushuideng.Hey文件,这个就是你AT89C51的“工作指南”,也是将Proteus和keil连接起来一起合作的方式。点击打开。 (3)最后一步,我们来检验一下程序在仿真中是否按照我们预想的那样正常工作 点击运行 当然,结果肯定是可以正常运行啊。如果不能正常运行,关闭仿真,回到keil中,修改代码,点击保存。之后直接打开Proteus再次开启仿真,直至修改到正常运行。