基于51单片机的51单片机的LED彩灯霓虹灯控制器(心形流水灯)设计

必看!!视频讲解

基于51单片机的LED彩灯霓虹灯心形流水灯设计

这里写目录标题

  • 1 开发环境
  • 2 功能说明介绍
  • 3 仿真图
  • 4 程序
  • 5 原理图
  • 7 设计报告
    • 7.1 设计背景与意义
    • 7.2 设计目的
    • 7.3 本文结构安排
  • 8 资料清单下载链接

1 开发环境

仿真图:proteus8.9以上

程序代码:KEIL4/KEIL5

原理图:AD

设计编号:A0005

2 功能说明介绍

结合实际情况,基于51单片机设计一个LED彩灯控制器设计。该系统应满足的功能要求为:

具体功能:

(1)至少10个发光管4种花样自动变换,循环往复;

(2)彩灯花样变换的快慢节拍可以手动和自动方式控制,手动控制按钮按一次转换一次;

(3)自动控制方式每15秒变换一次,1分钟循环一遍;

(4)系统复位清零开关;操作简单、功能完善、精确度高。

随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。霓虹灯是城市的美容师,每当夜幕降临时,华灯初上,五颜六色的霓虹灯就把城市装扮得格外美丽。LED数码灯带采用全新的结构和专有技术,主体由高亮度发光二极管(简称LED)通过特殊的专利结构进行连接,运用特有的光学技术与专有的包覆层设计而形成。主要特性是节能、环保、防震、防水,其最大的特点就是发光均匀,360度通体发光,在工作状态下从外看不到LED的发光点,与传统霓虹灯的发光效果完全相同。但目前市场上的彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外,从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。

3 仿真图

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS16位单片机,片内含4k bytes的可反复擦写的只读程序存储器和128 bytes的随机存取数据存储器,期间采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用16位中央处理器和Flash存储单元,功能强大的AT89C51单片机可灵活应用于各种控制领域。

AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个1 6位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

本系统中央控制器采用的单片机AT89C51,复位电路采用上电复位电路。外接的晶振为12MHz晶振。

4 程序

工程文件使用Keil4/keil5打开

代码

部分代码


#include <reg52.h>      //包含头文件#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define SPEED   10//流水灯的速度sbit key0 = P2^0;  //定义手动控制按键sbit key1 = P2^1;     //定义自动控制按键uint js = 0,flag_auto=0;//定义计数15秒,自动变花样标志位uchar Run_mode=0;/****延时****/void delay(uint i){uint j=1000;while(i--){j=1000;while(j--);}}void delayms(uint z)     //毫秒{​   uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);  }uchar LED_WATER1(){static uchar temp1=0x01,temp2=0x80;​   P1=~temp1;​  temp1=_crol_(temp1,1);​   P3=~temp2;​  temp2=_cror_(temp2,1);​   ​   delay(SPEED);if(temp1==0x01)//循环了一圈{return 1;}elsereturn 0;}uchar LED_WATER2(){static uchar temp1=0x01,temp2=0x01;​   P1=~temp1;​  temp1=_crol_(temp1,1);​   P3=~temp2;​  temp2=_crol_(temp2,1);​   ​   delay(SPEED);if(temp1==0x01){return 1;}elsereturn 0;}uchar LED_WATER3(){static uchar temp1=0x07,temp2=0x07;​   P1=~temp1;​  temp1=_crol_(temp1,1);​   P3=~temp2;​  temp2=_crol_(temp2,1);delay(SPEED);if(temp1==0x07){return 1;}elsereturn 0;}uchar LED_WATER4(){static uchar temp1=0x07,temp2=0xe0;​   P1=~temp1;​  temp1=_crol_(temp1,1);​   P3=~temp2;​  temp2=_cror_(temp2,1);​   ​   delay(SPEED);if(temp1==0x07)//循环了一圈{return 1;}elsereturn 0;}void timer0() interrupt 1 using 1 //定时器0中断服务函数{​    TH0=(65536-45872)/256;       //装初值11.0592M晶振定时50ms数为45872​    TL0=(65536-45872)%256;   ​   js++;                        //叠加20次 是一秒if(js==300){ ​   js=0;                     //清空​     flag_auto=flag_auto+1;        //产生15s的倒计时if(flag_auto>3)  flag_auto=1;   //限幅,最多4个花样}}//主函数void main(){   uchar num=0;Timer0_init(); //定时器初始化LED_WATER1();Run_mode=0;while(1){if(key1==0)  //自动控制按键{delayms(3); //去除按键抖动if(key1==0){while(!key1);   //以上表示按下开始按键​                flag_auto=0;    //清零​               TR0=1;       //开启定时器while(1){if(key0==0)   //调节到手动模式{​                       TR0=0;    //关闭定时器​                      js=0;  flag_auto=0;//计数、自动换花样变量清零break;     //跳出}switch(flag_auto)//花样自动变化{case 0:  LED_WATER1(); break;case 1:  LED_WATER2(); break;case 2:  LED_WATER3(); break;case 3:  LED_WATER4(); break;}}}}if(key0==0)  //手动控制按键{delayms(3); //去除按键抖动if(key0==0){while(1){if(key1==0)          //调节到自动模式{​                       TR0=0;       //关闭定时器​                       js=0;  flag_auto=0;//计数、自动换花样变量清零break;            //跳出}if(key0==0)  ++flag_auto;//换花样if(flag_auto>3)  flag_auto=1;    //限幅,最多4个花样switch(flag_auto)  //花样手动变化{case 0:  LED_WATER1(); break;case 1:  LED_WATER2(); break;case 2:  LED_WATER3(); break;case 3:  LED_WATER4(); break;}}}}}}

。主程序流程图如下图所示。

在整个报警系统工作中,烟雾浓度信息经ADC0832转换处理后,由单片机进行分析处理,判断系统是否启动报警。主程序还包括LED八段式数码管浓度字符显示功能、手动报警功能、报警浓度设定功能,中断子程序等,使报警器功能更加完善,更加方便。

预热后,程序就开始执行初始化子程序,初始化实现的功能是I/O口输入、输出状态设定, 寄存器初始化,中断功能等。首先,设定定时初值为50ms,利用IAP 写入EEPROM,作为取值间隔。然后,设置定时器0,选择方式1。方式1状态下,定时器的工作寄存器TH1、TL1,是全16位参与操作。接下来,定时器0中断的允许位置1,打开定时器0,关闭蜂鸣器,开启绿灯,设置报警限初值。

5 原理图

原理图由AD绘制,原理图和仿真图有出入,原理图需要电源,电源开关模块。此设计资料详细,硬件手册资料图片详细,不对硬件调试负责,做实物需要一定的基本功。主控芯片可以换为STC89C51/STC89C52

如图3.1是本系统的硬件设计方案,具体地,硬件电路由以下模块构成:

(1)单片机最小系统。用于驱动和控制其他模块,以实现整体功能,其以STC89C51单片机为核心芯片,并辅以复位电路和晶振电路。

(2)按键模块。用于实现自动模式与手动模式。

(4)LED排灯模块。心形排列,用以实现多种花样电路;

(5)电源模块。用于整个系统的供电。

7 设计报告

7.1 设计背景与意义

霓虹灯是城市的美容师,每当夜幕降临时,华灯初上,五颜六色的霓虹灯就把城市装扮得格外美丽。LED数码灯带采用全新的结构和专有技术,主体由高亮度发光二极管(简称LED)通过特殊的专利结构进行连接,运用特有的光学技术与专有的包覆层设计而形成。主要特性是节能、环保、防震、防水,其最大的特点就是发光均匀,360度通体发光,在工作状态下从外看不到LED的发光点,与传统霓虹灯的发光效果完全相同。因此,利用LED发光二极管设计彩色霓虹灯是一个不错的选择。

本设计采用STC89C51单片机的彩灯控制系统,实现对LED彩灯的控制。根据用户需要可以编写若干种亮灯方式,并实现了手动控制及自动控制,各种亮灯时间的不同,在不同时刻输出灯亮或灯灭的控制信号,驱动各种颜色的灯亮或灭。亮灯方式多,用户可以根据不同场合和时间来调节亮灯频率和亮灯时间。彩灯控制系统得到了广泛应用。

7.2 设计目的

(1)巩固和加深对单片机原理和接口技术知识的理解;

(2)培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;

(3)学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;

(4)掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;

(5) 能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图、仿真图和流程图。

7.3 本文结构安排

本文围绕着基于51单片机的LED彩灯控制器展开设计,以LED花样灯需求为出发点,首先明确了研究背景与意义,介绍了设计目的,并论述了设计要求及设计内容,接下来的几章将具体展开相关设计与研究:

第二章介绍系统总体方案及相关理论知识,重点阐述了系统功能需求和系统方案论证,接着简要介绍了系统硬件及软件基本知识。

第三章重点展开硬件系统设计,首先明确硬件电路设计的思路及框架。接着依次介绍了:单片机最小系统、按键电路、LED灯电路、电源电路等。通过对以上重点电路的介绍,强化了硬件电路设计的细节和重点。

第四章展开软件系统设计,通过对软件设计进行需求分析,明确软件设计的目的与需求,进一步通过程序流程图展示设计思路及框架。

第五章介绍仿真实现步骤,特别是仿真电路实现的流程和仿真测试,完美实现了设计需求及目标。

第六章总结全文,总结本文所做的工作及贡献,并根据存在的问题展望此课题今后的研究方向。

8 资料清单下载链接

见文章视频

本资料下载链接

基于51单片机的51单片机的LED彩灯霓虹灯控制器(心形流水灯)设计相关推荐

  1. 基于51单片机的心形流水灯

    心形流水灯套件 1  设计目的 (1)掌握单片机芯片AT89C51的基本功能和使用. (2)熟悉Proteus仿真软件的使用,了解各元件的功能及作用. (3)了解音乐的基本知识. (4)提高数字电子电 ...

  2. 【DIY】多模式51单片机心形流水灯+呼吸灯+蜂鸣器音乐

    目录: 总体设计 1.基础硬件DIY设计 1)整体原理图 2)PCB电路 3)3D_PCB 2.单片机程序设计 1)呼吸灯[简易模拟PWM] 2)蜂鸣器音乐 3)几种简易流水灯方式 3.效果展示 1) ...

  3. 立创开源 51编程炫酷心形流水灯

    随着AI人工智能和物联网的兴起下一个信息革命即将到来,信息时代的AI和物联网无意识地扩散到生产和生活各个领域.物联网是用于扩展通信网络和互联网的应用程序.使用传感技术和智能设备来感知和控制物理世界.它 ...

  4. 【造物笔记】基于51单片机的心形流水灯

    记录一下首个独立完成的小项目(虽然没有什么技术含量) 硬件方面:入门级的单片机点灯电路 软件方面:主要利用了c语言的位操作 整个项目的下载链接放在了文章最后 一.成品展示 正面 反面 二.元器件清单 ...

  5. 基于STC89C51单片机设计的心形流水灯软件代码部分

     硬件电路板 (正反面) 根据PCB电路板对LED灯对应的引脚进行定义 声明LED灯的控制引脚 ​ //LED灯引脚,沿逆时针定义sbit LED1=P0^0; sbit LED2=P0^1;sbit ...

  6. 【单片机】心形流水灯の制作指南(保姆级)

    ✌ 作者简介:盐焗小星球_wyb,一名电子信息大学生.

  7. 【单片机】心形流水灯——27种流水方式

    ✌ 作者简介:盐焗小星球_wyb,一名在读的电子信息工程专业大学生.

  8. c语言爱心灯制作步骤,基于51单片机设计的心形花样灯(PCB+Proteus仿真+源程序+设计报告)...

    设计了一个基于51单片机的心形花样灯电路,该电路可以实现32个LED灯循环闪亮.依次熄灭.对角闪亮.对角熄灭.间隔闪亮.间隔熄灭等多种功能,可以显示42种不同形式的变化效果.该电路主要由单片机芯片ST ...

  9. 基于51单片机的花样流水灯设计(源码+仿真+设计报告)

    资料编号:113 采用51单片机的IO控制多个LED灯,实现多种模式的流水风,全套资料齐全:具体功能请看下方演示视频 113-基于51单片机的花样流水灯设计(源码+仿真+设计报告) 单片机最小系统介绍 ...

最新文章

  1. java中的权限修饰符_Java的权限修饰符的区别和用法总结
  2. sqlserver 无法远程连接到服务器,SQLServer2019无法连接远程服务器
  3. 如何优雅的分析 Redis 里存了啥?
  4. java 容器、二叉树操作、107
  5. 线性表的顺序存储结构(数据结构篇)
  6. 用函数式编程,从0开发3D引擎和编辑器(三):初步需求分析
  7. Day07-函数(2)
  8. MongoDB(window安装及服务配置)
  9. django 1.8 官方文档翻译: 3-5-1 使用Django输出CSV
  10. 墨菲定律-感悟甚多,出于程序员用xmind做的
  11. 严重的PHP缺陷可导致QNAP NAS 设备遭RCE攻击
  12. 4.4 数据的寻址方式(立即寻址、直接寻址、间接寻址、寄存器寻址、相对地址)
  13. linux如何把文件导出到ftp,Linux如何利用ssh传送文件至FTP空间
  14. 解除pdf文件打印限制
  15. 的统一,展现出更深远的思想,使读者领会更深的道理。 语言优美:所谓优美,就是指散文的语言清新明丽(也美丽
  16. 2022 年杭电多校第八场补题记录
  17. 腾讯云轻量应用服务器系统盘不够用怎么挂载云硬盘?
  18. 离职后心生不满、医院前网管“炫技性报复”
  19. Java之XML解析-使用dom(org.w3c.dom)解析XML
  20. 新媒体运营教程:如何设计SEM账户结构!

热门文章

  1. 用python做文献计量学全代码
  2. 分库分表技术演进暨最佳实践
  3. Java单元测试实践-24.Gradle执行test任务卡死问题解决
  4. pycharm注释代码的快捷键失效解决办法
  5. 在html和vue中使用iconfont的symble色彩图标
  6. 趣学呗告诉你:一年级如何养成良好的学习习惯,这12点方法要牢记
  7. Mini-Batch 梯度下降
  8. Joomla建站的优点
  9. C语言实战--QQ友爱机
  10. 程序员的这几个坏毛病必须要改掉了