在Proteus上进行LED流水灯的仿真

    科技2024-06-21  74

    目录

    一、流水灯仿真图二、程序编写三、仿真结果四、小结

    一、流水灯仿真图

    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、本次实验作业的内容主要是参考以下同学的博客才完成的,感谢。 https://blog.csdn.net/qq_43279579/article/details/108908566

    Processed: 0.013, SQL: 8