使用Proteus完成一个简易的跑马灯

本文详细介绍了如何使用Proteus软件绘制电路图,选择AT89C51芯片,并连接LED灯。同时,通过Keil进行C语言编程,设置自动保存hex文件,编写代码实现LED灯循环点亮。在Keil中完成编程后,将hex文件导入Proteus进行仿真,最终实现LED灯从左至右逐个亮起的循环效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.csdn.net/tian_maer/article/details/71435894

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值