开源制作最炫RGB全彩51流水灯(原理图+PCB图+C程序)

2024-02-27 12:20

本文主要是介绍开源制作最炫RGB全彩51流水灯(原理图+PCB图+C程序),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.51hei.com/bbs/dpj-56830-1.html

最炫RGB全彩51流水灯
流水灯这货大家估计都跟她都很熟悉,但是下面制作的这种RGB全彩流水灯或许会让你对流水灯刮目相看,话不多说有图有真相。(PCB板我用的PADS画的,附件中有源程序+原理图+PCB图,用的湿膜感光法做的
1。硬件:所有的51单片机均可驱动(晶振频率随意、晶振频率越高流动速度越快)P3口通过8个电阻分别接8个三极管基极
2.元件:5050RGB灯珠8颗+PNP三极管8个+单片机+电阻8个(470R-4.7K均可)+电阻2个(220R左右)+电阻1个(330R左右)
3.初学者可以通过“”认识到LED三基色混光原理以及左右移位
 


 

 

 

 



  1. /*********************************************************************************************
  2. 编写:刘海龙
  3. 程序名:RGB8位彩色流水灯程序
  4. 硬件支持:所有的51单片机均可驱动(晶振频率随意)
  5. 元件:5050RGB灯珠8颗+PNP三极管8个+单片机+电阻8个(470R-4.7K均可)+电阻2个(220R左右)+电阻1个(330R左右)

  6. /*********************************************************************************************/
  7. #include <REG51.h> //单片机头文件
  8. #include <intrins.h>        //51基本运算(包括_nop_空函数)
  9.    
  10. sbit BB=P1^0;//blue蓝灯
  11. sbit RR=P1^1;//red红灯
  12. sbit GG=P1^2;//green绿灯 
  13. unsigned int N=100;//定义每个灯亮的时间、单位为毫秒、修改此值可改变流动速度
  14. /*********************************************************************************************
  15. 函数名:毫秒级CPU延时函数
  16. /*********************************************************************************************/
  17. void DELAY_MS (unsigned int a){
  18.         unsigned int i;
  19.         while( a-- != 0){
  20.                 for(i = 0; i < 630; i++);
  21.         }
  22. }
  23. /*********************************************************************************************/
  24. /*********************************************************************************************/
  25. void main (void)
  26. {        
  27.         unsigned char i;                
  28.     while(1){
  29. /***************各种颜色灯单个点亮左右流动**************************/
  30.                 RR=0;GG=1;BB=1;//红灯亮
  31.                 for(i=0;i<8;i++){ //低位向高位流动  
  32.                         P3 = ~(1<<i);
  33.                         DELAY_MS(N); 
  34.                                 }                
  35.                 for(i=0;i<8;i++){//高位向低位流动   
  36.                         P3 = ~(1<<7-i);
  37.                         DELAY_MS(N); 
  38.                                 }                
  39.                 RR=1;GG=0;BB=1;//绿灯亮
  40.                 for(i=0;i<8;i++){ //低位向高位流动  
  41.                         P3 = ~(1<<i);
  42.                         DELAY_MS(N); 
  43.                                 }                
  44.                 for(i=0;i<8;i++){//高位向低位流动   
  45.                         P3 = ~(1<<7-i);
  46.                         DELAY_MS(N); 
  47.                                 }
  48.                 RR=1;GG=1;BB=0;//蓝灯点亮
  49.                 for(i=0;i<8;i++){   
  50.                         P3 = ~(1<<i);
  51.                         DELAY_MS(N); 
  52.                                 }                
  53.                 for(i=0;i<8;i++){   
  54.                         P3 = ~(1<<7-i);
  55.                         DELAY_MS(N); 
  56.                                 }
  57.                 RR=0;GG=0;BB=1;//红绿灯亮(黄色光)
  58.                 for(i=0;i<8;i++){   
  59.                         P3 = ~(1<<i);
  60.                         DELAY_MS(N); 
  61.                                 }                
  62.                 for(i=0;i<8;i++){   
  63.                         P3 = ~(1<<7-i);
  64.                         DELAY_MS(N); 
  65.                                 }                
  66.                 RR=0;GG=1;BB=0;//红蓝灯亮(粉红光)
  67.                 for(i=0;i<8;i++){   
  68.                         P3 = ~(1<<i);
  69.                         DELAY_MS(N); 
  70.                                 }                
  71.                 for(i=0;i<8;i++){   
  72.                         P3 = ~(1<<7-i);
  73.                         DELAY_MS(N); 
  74.                                 }
  75.                 RR=1;GG=0;BB=0;//蓝绿灯亮(青色光)
  76.                 for(i=0;i<8;i++){   
  77.                         P3 = ~(1<<i);
  78.                         DELAY_MS(N); 
  79.                                 }                
  80.                 for(i=0;i<8;i++){   
  81.                         P3 = ~(1<<7-i);
  82.                         DELAY_MS(N); 
  83.                                 }
  84.                 RR=0;GG=0;BB=0;//红蓝绿灯亮(白色光)
  85.                 for(i=0;i<8;i++){   
  86.                         P3 = ~(1<<i);
  87.                         DELAY_MS(N); 
  88.                                 }                
  89.                 for(i=0;i<8;i++){   
  90.                         P3 = ~(1<<7-i);
  91.                         DELAY_MS(N); 
  92.                                 }                                                                        
  93. /********各种颜色灯逐个点亮左右流动****************************/
  94.                 RR=0;GG=1;BB=1;//红灯亮
  95.                 for(i=0;i<8;i++){   
  96.                         P3 = 0xfe<<i;
  97.                         DELAY_MS(N); 
  98.                                 }
  99.                 for(i=0;i<8;i++){   
  100.                         P3 = 0x7f>>i;
  101.                         DELAY_MS(N); 
  102.                                 }
  103.                 RR=1;GG=0;BB=1;//绿灯亮
  104.                 for(i=0;i<8;i++){   
  105.                         P3 = 0xfe<<i;
  106.                         DELAY_MS(N); 
  107.                                 }
  108.                 for(i=0;i<8;i++){   
  109.                         P3 = 0x7f>>i;
  110.                         DELAY_MS(N); 
  111.                                 }
  112.                 RR=1;GG=1;BB=0;//蓝灯点亮
  113.                 for(i=0;i<8;i++){   
  114.                         P3 = 0xfe<<i;
  115.                         DELAY_MS(N); 
  116.                                 }
  117.                 for(i=0;i<8;i++){   
  118.                         P3 = 0x7f>>i;
  119.                         DELAY_MS(N); 
  120.                                 }
  121.                 RR=0;GG=0;BB=1;//红绿灯亮
  122.                 for(i=0;i<8;i++){   
  123.                         P3 = 0xfe<<i;
  124.                         DELAY_MS(N); 
  125.                                 }
  126.                 for(i=0;i<8;i++){   
  127.                         P3 = 0x7f>>i;
  128.                         DELAY_MS(N); 
  129.                                 }
  130.                 RR=0;GG=1;BB=0;//红蓝灯亮
  131.                 for(i=0;i<8;i++){   
  132.                         P3 = 0xfe<<i;
  133.                         DELAY_MS(N); 
  134.                                 }
  135.                 for(i=0;i<8;i++){   
  136.                         P3 = 0x7f>>i;
  137.                         DELAY_MS(N); 
  138.                                 }
  139.                 RR=1;GG=0;BB=0;//蓝绿灯亮
  140.                 for(i=0;i<8;i++){   
  141.                         P3 = 0xfe<<i;
  142.                         DELAY_MS(N); 
  143.                                 }
  144.                 for(i=0;i<8;i++){   
  145.                         P3 = 0x7f>>i;
  146.                         DELAY_MS(N); 
  147.                                 }
  148.                 RR=0;GG=0;BB=0;//红蓝绿灯亮
  149.                 for(i=0;i<8;i++){   
  150.                         P3 = 0xfe<<i;
  151.                         DELAY_MS(N); 
  152.                                 }
  153.                 for(i=0;i<8;i++){   
  154.                         P3 = 0x7f>>i;
  155.                         DELAY_MS(N); 
  156.                                 }
  157. /********各种颜色灯全部点亮一个熄灭的灯左右流动*************************/
  158.                 RR=0;GG=1;BB=1;//红灯亮
  159.                 for(i=0;i<8;i++){   
  160.                         P3 = 1<<i;
  161.                         DELAY_MS(N); 
  162.                                 }
  163.                 
  164.                 for(i=0;i<8;i++){   
  165.                         P3 = 0x80>>i;
  166.                         DELAY_MS(N); 
  167.                                 }
  168.                 RR=1;GG=0;BB=1;//绿灯亮
  169.                 for(i=0;i<8;i++){   
  170.                         P3 = 1<<i;
  171.                         DELAY_MS(N); 
  172.                                 }
  173.                 
  174.                 for(i=0;i<8;i++){   
  175.                         P3 = 0x80>>i;
  176.                         DELAY_MS(N); 
  177.                                 }
  178.                 RR=1;GG=1;BB=0;//蓝灯点亮
  179.                 for(i=0;i<8;i++){   
  180.                         P3 = 1<<i;
  181.                         DELAY_MS(N); 
  182.                                 }
  183.                 
  184.                 for(i=0;i<8;i++){   
  185.                         P3 = 0x80>>i;
  186.                         DELAY_MS(N); 
  187.                                 }
  188.                 RR=0;GG=0;BB=1;//红绿灯亮
  189.                 for(i=0;i<8;i++){   
  190.                         P3 = 1<<i;
  191.                         DELAY_MS(N); 
  192.                                 }
  193.                 
  194.                 for(i=0;i<8;i++){   
  195.                         P3 = 0x80>>i;
  196.                         DELAY_MS(N); 
  197.                                 }
  198.                 RR=0;GG=1;BB=0;//红蓝灯亮
  199.                 for(i=0;i<8;i++){   
  200.                         P3 = 1<<i;
  201.                         DELAY_MS(N); 
  202.                                 }
  203.                 
  204.                 for(i=0;i<8;i++){   
  205.                         P3 = 0x80>>i;
  206.                         DELAY_MS(N); 
  207.                                 }                        
  208.                 
  209.                 RR=1;GG=0;BB=0;//蓝绿灯亮
  210.                 for(i=0;i<8;i++){   
  211.                         P3 = 1<<i;
  212.                         DELAY_MS(N); 
  213.                                 }
  214.                 
  215.                 for(i=0;i<8;i++){   
  216.                         P3 = 0x80>>i;
  217.                         DELAY_MS(N); 
  218.                                 }
  219.                 RR=0;GG=0;BB=0;//红蓝绿灯亮
  220.                 for(i=0;i<8;i++){   
  221.                         P3 = 1<<i;
  222.                         DELAY_MS(N); 
  223.                                 }
  224.                 
  225.                 for(i=0;i<8;i++){   
  226.                         P3 = 0x80>>i;
  227.                         DELAY_MS(N); 
  228.                                 }                                                                                                                                                                                                                                                                                                                        
  229.         }                                   
  230. }
  231. /************************************END*********************************************************/
复制代码



程序,  源程序,  制作
本主题由 admin 执行 审核通过

2.png (613.88 KB, 下载次数: 4)

2.png

RGB流水灯程序和原理图PCB图.rar

136.36 KB, 下载次数: 11, 下载积分: 黑币 -5


这篇关于开源制作最炫RGB全彩51流水灯(原理图+PCB图+C程序)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752365

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [