打开proteus,在左边工具栏处点击p进入搜索界面,并在搜索界面输入AT89C51选择第一个作为本次实验的芯片。 再通过搜索获取LED灯并与芯片相连,具体效果如下: 唯一需要注意的点为LED灯的方向问题,LED为单向导通,连接时根据需要调换一下LED灯的方向
在进行代码编写之前先进行设置使得之后编程完成后自动保存已编译C语言的hex文件,方便之后proteus使用 勾选Create HEX File选项,完成后点击OK。之后单击菜单栏里project创建项目文件命名随意 在下一个提示页面中选择AT89C51型芯片单击OK完成项目文件的创立,之后单击file创建test文件,并在其输入下列代码。将其保存为C语言形式并加入工程文件之中
#include <reg51.h> //包含头文件 #include <intrins.h> //包含移位库函数头文件 void delay(void) //延时函数 { unsigned char i,j; for(i = 0;i < 252;i++) for(j = 0;j < 252;j++); } void main(void) { unsigned char i; P2 = 0x01; //P2口初始化 while(1) { for(i = 0;i < 7;i++) { P2 = _crol_(P2,1); //P2端口向左循环移动1位 delay(); } for(i = 0;i < 7;i++) { P2 = _cror_(P2,1); //P2端口向右循环移动1位 delay(); } } }至此,完成了在keil上进行代码的编写
在proteus上将在keil中编写的代码的hex文件导入到芯片中 最后得出的效果图如下所示
由于技术有限,不能以GIF图展示效果,大致为灯会逐一亮起从左至右循环亮起
本篇文章参考https://blog.csdn.net/tian_maer/article/details/71435894