目录
- 一、流水灯仿真图
- 二、程序编写
- 三、仿真结果
- 四、小结
一、流水灯仿真图
1、打开Proteus软件,然后点击左上角蓝色标志“isis”;
2、然后在左侧工具栏中点击“P”键选择元器件,在关键字中输入98c51,然后在“结果”栏中点击第一个,并点击确认。
在仿真界面上单击,就会把元器件放在界面上。
然后在最左侧工具栏中找到“总线模式”,在单片机的右侧画一条总线。
然后在总线和单片机之间用线依次连接(本次只用到单片机的P0口);
注意:在连接总线的时候要注意总线的每条线要一一对应。
然后在总线右侧接入不同颜色的LED灯,并接入保护电阻和电源。
总的仿真图如下:
二、程序编写
通过上篇文章安装的Keli软件进行程序的编写,把编译好的程序生成HEX文件下载到单片机中。
1、打开Keli软件,点击“Project”中的“New μVision Project”;
然后命名为“LED流水灯”,点击“保存”;
然后在“Data base”中选择“AT89C51”,点击“OK”;
然后会弹出对话框,点击“是”;
在左上角点击“File ”中选择“New”,建立新文件,会出现‘Text1;
然后把以下代码复制到文本中;
//51单片机编程常用的头文件
#include <reg51.h>
#include <intrins.h>
//延迟函数
void delay_ms(int a)
{
int i,j;
for(i=0;i<a;i++)
{
for(j=0;j<1000;j++) _nop_();
}
}
void main(void)
{
while(1)
{
P0=0xfe;
delay_ms(50);
P0=0xfd;
delay_ms(50);
P0=0xfb;
delay_ms(50);
P0=0xf7;
delay_ms(50);
P0=0xef;
delay_ms(50);
P0=0xdf;
delay_ms(50);
P0=0xbf;
delay_ms(50);
P0=0x7f;
delay_ms(50);
}
}
因为要把程序下载到单片机中需要生成HEX文件,下面就先修改一下设置;
在Keil uVision的“Project”中点击Options for Target进入一个新的界面,首先点击Output,然后勾选Create Hex File,最后点击OK。
然后点击保存并命名为“LED流水灯.c”(需要有.c)
然后点击编译。结果显示没有错误,但是有两个警告,也显示了生成了HEX文件。
至此,编译生成的HEX文件就准备好了。
三、仿真结果
在Proteus中仿真图中双击单片机,在显示的界面中在“Program File”中选择刚刚生成的HEX 文件,点击确定。
然后点击左下角的仿真开关,结果如图:
至此,LED流水灯的仿真就结束了。
四、小结
1、本次内容在完成整个仿真实验的同时,还熟练的练习了Proteus软件仿真图的设计和Keli中程序的编译、HEX文件生成。
2、本篇内容没有很详细的介绍仿真图的连接原理,只是按照原理图进行了连接。流水灯的程序也没有进行原理解释,本次作业的重点是输入Proteus软件和Keil软件的操作和联系。
3、本次实验作业的内容主要是参考以下同学的博客才完成的,感谢。