单片机流水灯


问题描述:用P1口控制八个LED灯轮流亮灭

一.用Proteus绘制原理图

  1. 打开软件,选择新建工程
    在这里插入图片描述
  2. 更改工程名称及存储位置
    在这里插入图片描述
  3. 一直选择默认,直至完成。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  4. 点击P添加元件
    在这里插入图片描述
  5. 可在关键字中搜索需要的元件:单片机AT89C51,电阻10WATT100R,电容06031A330JAT2A、CAP-ELEC,晶振CRYSTAL,LED灯LED-YELLOW。
    在这里插入图片描述
  6. 如图所示连接电路(这里使用的是连线法,若元件较多建议使用网络标号法)
    使用连线法
  7. 保存工程

二.利用Keil编写代码

  1. 打开软件,新建一个文档
    在这里插入图片描述
  2. 保存文档,文件名以C为后缀
    在这里插入图片描述
  3. 点击New μVision Project,新建一个项目
    在这里插入图片描述
  4. 更改文件名后保存
    在这里插入图片描述
  5. 点击Source Group 1,选择Add Existing Files to Group ‘Source Group 1’
    在这里插入图片描述
  6. 选择流水灯的C语言文件
    在这里插入图片描述
  7. 成功后可看见Source Group 1下有流水灯的C语言文件,输入如图所示代码
    在这里插入图片描述
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char //必要变量定义

uchar temp;
	void delay(uint k) //延时子程序
	{
		uint i,j;
		for(i=7;i<k;i++)
		  for(j=0;j<124;j++);
	}
	void main() //主程序
	{
		temp=0xfe;
		P1=temp;
		while(1) //死循环
		{
			temp=_crol_(temp,1);
			delay(500);
			P1=temp;
		}
	}
  1. 编译C语言文件,可以看到没有报错。
    在这里插入图片描述

  2. 右键Target 1,点击Options for Target 1
    在这里插入图片描述

  3. 勾选Create HEX File,注意文件存放位置,以免后面找不到
    在这里插入图片描述

  4. 点击编译,下方显示文件生成成功
    在这里插入图片描述

三.流水灯运行

  1. 双击AT89C51单片机,出现如下显示框,选择生成好的流水灯hex文件
    在这里插入图片描述
  2. 点击运行即可
    在这里插入图片描述
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值