1、流水灯功能

所谓流水灯就是8个发光二极管(LED)轮流点亮,周而复始,实现多花样流水灯效果,如:8个发光二极管循环点亮(第①号灯亮、第②号灯亮……第⑧号灯亮,第①号灯亮、第②号灯亮……第⑧号灯亮,……,每次只亮一个灯);8个LED从左到右循环依次点亮(第①号灯亮、第①②号灯亮……第①②③④⑤⑥⑦⑧号灯亮),间隔1s,直到8个灯全亮后,蜂鸣器响一下,然后都熄灭,再又从左到右循环依次点亮,如此循环;同时要做出多种效果

2、PROTEUS中设计的电路图

3、源代码

#include <reg51.h>
#define u8 unsigned char
#define u16 unsigned int
sbit button=P2^0;
u8 k=0;
sbit FM = P2^3;
void delay_ms(int x)
{int i,j;for(i=0;i<=x;i++)for(j=0;j<=110;j++);
}//从左向右
void light1()
{unsigned char temp,i;temp=0xff;for(i=0;i<9;i++){    delay_ms(500);P0=temp; delay_ms(500);temp=temp<<1;}TR0=1;delay_ms(1000);P0=0xff;}
//从右向左
void light2()
{unsigned char temp,i;temp=0xff;for(i=0;i<9;i++){delay_ms(500);P0=temp; delay_ms(500);temp=temp>>1;}TR0=1;delay_ms(1000);P0=0xff;
}//两个灯一起亮
void light3()
{unsigned char temp,i;temp=0xff;for(i=0;i<5;i++){delay_ms(500);P0=temp; delay_ms(500);temp=temp<<2;}TR0=1;delay_ms(1000);P0=0xff;
}//两边向中间
void light4()
{unsigned char i;unsigned char *Temp[4];Temp[0] = 0x7e;Temp[1] = 0x3c;  Temp[2] = 0x18; Temp[3] = 0x00;for(i=0;i<4;i++){    delay_ms(500);P0=Temp[i];delay_ms(500); }TR0=1;delay_ms(1000);P0=0xff;
}void main()
{FM=1;TL0 = (8192-1250)%32;TH0    = (8192-1250)/32;TMOD = 0X00;EA=1;//总中断允许ET0 = 1;while(1){light1();light2();light3();light4();}
}void time0() interrupt 1
{TL0 = (8192-1000)%32;TH0    = (8192-1000)/32;FM = ~FM;k++;if(k==50) {FM=1;k=0;TR0=0;}
}

4、流水灯效果

效果视频展示

问题咨询及项目源码请加群:

QQ群

名称:IT项目交流群

群号:245022761

【C51单片机】流水灯(仿真)相关推荐

  1. 基于STM32单片机流水灯仿真与程序设计

    STM32单片机流水灯仿真与程序设计 摘要 本次程序设计和仿真是基于Proteus和keil的环境对STM32F103系列单片机进行流水灯设计,通过配置STM32的GPIO工作模式,实现LED的点亮和 ...

  2. 单片机流水灯仿真实验

    一.首先先下载proteus8 (其他的版本也可以) 然后打开proteus: 然后点击funish即可出现一下图片内容: 二.拖出元器件 并且将元器件摆放完整 然后打开keil软件 将一下代码生成H ...

  3. Proteus 8仿真以及C51单片机广告灯的设计(C语言)实例

    Proteus 8仿真以及C51单片机广告灯的设计(C语言)实例 一. 广告灯程序编译 二. Proteus8 仿真 三. 开发板调试 四. 注意事项 一. 广告灯程序编译 打开Keil uVisio ...

  4. 51单片机流水灯制作

    文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...

  5. c语言流水灯程序详细讲解,用c语言编写单片机流水灯程序详解

    用C语言编写的单片机流水灯程序 一.硬件电路 因为电路用单片机控制,所以电路非常简洁.其电路原理图见下图,印制板图如下图所示. ? 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组 ...

  6. AT89C51单片机流水灯c语言程序及详解(扫盲教程)

    AT89C51单片机是我们学习单片机必学的一个单片机,也是单片机入门的教材,下面给大家展示一下流水灯的编写方法适合初学者 首先先在proteus画出仿真图,方便仿真程序 下面来编写程序,先来写入头函数 ...

  7. [AT89C51 ]用汇编语言实现流水灯仿真(含keil与Proteus)

    前言:笔者发文主要是为了记录笔者单片机学习课程,可能实用性不多,大佬看着玩就行. 关键词:51单片机:AT89C51:流水灯仿真:初学 要求:使用AT89C51实现流水灯,使用汇编语言. 思路:用51 ...

  8. 51单片机流水灯现象1

    **` 51单片机流水灯程序 `** 初学者小白,分享上课时写的小程序和普中科技程序,感兴趣的可以瞧瞧. 程序如有相同冒犯了. /*********************************** ...

  9. 单片机流水灯三种实现

    单片机流水灯的三种实现方式(由上至下,再重下到上) 原理图 一般使用单片机的P1口 输出,不需要加上拉电阻: 由原理图可以看出这里采用低电平输出. 一.采用数组方式进行字节定义,最好理解的方式 #in ...

  10. 89c52流水灯汇编语言,89c52单片机流水灯汇编程序

    8路流水灯汇编语言程序的写法 汇编语言程序如下: ;假设1:D1~D8八个彩灯接在P1口,输出低电平发光 ;假设2:系统晶振为12MHz ;假设3:N = 5 ;程序如下: ORG 0000H MOV ...

最新文章

  1. java iterator如何知道数量_Java开发岗面试题基础篇(二)
  2. 【常见问题】Can not perform this action after onSaveInstanceState
  3. 柯美smb扫描出现服务器连接错误_柯尼卡美能达363,正确设置了SMB扫描,文件夹也共享了,但扫描后,显示错误为 登录错误,是为什么...
  4. SpringBoot24 SpringDataJPA环境搭建、实体类注解、关联查询
  5. LaTex 变形的字母
  6. 学习使用Whally GraalVM!
  7. 认真测试直播软件,直播这么火,你知道怎么测试直播软件吗?
  8. es 全量同步mysql_使用canal将mysql同步到es中
  9. latex 三线表_LaTeX学习记录(3):使用图表
  10. 玩生死狙击找不到服务器怎么办,生死狙击手游进不了游戏解决方法 生死狙击手游进游戏诀窍...
  11. Hadoop与Spark的集群复制
  12. python没基础能自学吗-需要自学python吗?大概多久能学会?
  13. JavaScript DOM高级程序设计 5动态修改样式和层叠样式表1(源代码)--我要坚持到底!...
  14. 主流H5、Js 3D游戏引擎和框架
  15. windows 系统电脑内外网出问题,解决方案
  16. 3dmax2017卸载/安装失败/如何彻底卸载清除干净3dmax2017注册表和文件的方法
  17. 显卡功耗测试用什么软件,显卡功耗测试_AMD显卡_显卡评测-中关村在线
  18. Nacos:快速不停打印获取配置 c.a.n.client.config.impl.ClientWorker : get changedGroupKeys[${dataId}+${grou
  19. 北京市三级医院电话预约挂号一览表
  20. OA项目之我的审批(会议查询会议签字)

热门文章

  1. 想知道孩子学习成果?猜词小游戏,随时抽查让他随机背单词!
  2. excel 绝对引用
  3. 【Java】7-23 币值转换 (20 分)
  4. Ubuntu20.04 优化
  5. 华为云服务(HWClouds)之对象存储服务试用
  6. DevExpress中调节TextEdit高度方法
  7. iOS开发笔记-QQ,微信白名单设置
  8. Xiaojie雷达之路---手把手教你从串口获取雷达原始数据(二)---环境搭建
  9. js往剪贴板里写入内容,粘贴出来就是Excel格式的数据
  10. 学习微信小游戏(一)