proteus绘制图形
打开proteus,在左边工具栏处点击p进入搜索界面,并在搜索界面输入AT89C51选择第一个作为本次实验的芯片。
再通过搜索获取LED灯并与芯片相连,具体效果如下:

唯一需要注意的点为LED灯的方向问题,LED为单向导通,连接时根据需要调换一下LED灯的方向
keil进行C语言编程并将其转换为hex文件
在进行代码编写之前先进行设置使得之后编程完成后自动保存已编译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.youkuaiyun.com/tian_maer/article/details/71435894
本文详细介绍了如何使用Proteus软件绘制电路图,选择AT89C51芯片,并连接LED灯。同时,通过Keil进行C语言编程,设置自动保存hex文件,编写代码实现LED灯循环点亮。在Keil中完成编程后,将hex文件导入Proteus进行仿真,最终实现LED灯从左至右逐个亮起的循环效果。
3996

被折叠的 条评论
为什么被折叠?



