如何实现在proteus中加载51单片机程序?
作者:单片机仿真   类别:教程    日期:2021-07-28 16:12:00    阅读:252 次   消耗积分:0 分

        通过前面的几期学习我们已经初步了解了如何新建工程以及最小系统,本期为初学者介绍如何在proteus中加载单片机程序。

        其实只需在keil里编写好相应的程序就可以对应到proteus中进行仿真了。

        首先在最小系统的基础上添加一个LED灯,如图所示:

image.png

        从上图中我们可以看到,在单片机的P1.7口上我们连接了一个红色的发光二极管,然后发光二极管连接了一个330Ω的电阻,最后连接到5V。可能有人会问为什么是330欧姆的电阻呢?其实这是和发光二极管有关系的,大家都知道电流I=U/R,而一般的的发光二极管的工作电流是5~20mA,这样I=5/330≈15mA,所以我们选择了330欧姆,当然你也可以根据需要自己调整电阻的大小。

        根据电路图我们可以知道,此时我们只需要给单片机的P1.7口一个低电平,二极管就可以导通了,有了这样的认识,我们就可以在keil中进行程序的编写了。

关于在keil中新建工程的方法和步骤我们在前面的文章中已经有了介绍,这里不再赘述,大家有什么不懂的地方可以到我们前面的文章进行查看。我们这里直接进行程序的编写。

我们在KEIL中输入如下内容:

image.png

        程序的第一行是包含单片机的头文件,所谓的头文件就是我们程序中所要使用的函数或者变量所在的文件,比如P1^7就在头文件“reg51.h”中,这就代表了51单片机的P1.7引脚,我们通过给这个寄存器进行赋值操作,即给他0或者1就可以控制LED指示灯的亮灭了。此时我们只需要给他赋值为0就可以点亮我们的LED指示灯了。而程序中的“sbit”是51单片的扩展类型定义,即定义一个寄存器类型的bit,我们通多“sbit LED=P1^7;”就可以定义单片机的P1.7引脚了,最后主函数里我们把P1.7的引脚拉低,即给P1.7引脚赋值为0。

        编写完程序我们首先要对程序进行编译,如下图所示,依次使用鼠标的左键点击左上角方框里的三个图标就可以完成程序的编译,正常情况下应该是没有任何的报警和错误的。

image.png

        有的同学编译完之后发现在文件里并没有生成相应的HEX文件,那么我们可以通过如下的操作打开生成HEX选项,重新编译程序即可。如图所示:

image.png

        鼠标左键单击左上角红色框内的图标,然后在弹出的对话框中选择“OutPut”,然后勾选“Creat HEX Fi”,最后点击“确定”就可以了。此时重新编译后可以在我们的工程文件夹里发现一个后缀为“.hex”的文件,这就是我们要下载到仿真软件里的文件了。

        首先我们打开前面做好的仿真文件,然后双击单片机,这时候弹出如下对话框:

image.png

        我们通过红色框中的地方选择刚才生成的HEX文件,然后单击“确定”。紧接着我们单击左下角的运行按钮,如下图,可以看到我们的仿真运行起来了,激不激动,兴不兴奋?!是的,我们的仿真就是这么运行的。

image.png

        以上就是关于单片机和keil联调的过程,有什么问题就关注“单片机仿真”吧!

版权所有,转载本站文章请注明出处:proteus单片机
上一篇:极简,如何使用proteus绘制单片机最小系统?
下一篇:c语言中的void *p 是什么意思?一句话了解!
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}