单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8586|回复: 16
收起左侧

RGB LED全彩渐变51单片机程序

  [复制链接]
jialinx 发表于 2015-9-15 22:08 | 显示全部楼层 |阅读模式
【RGBLED灯珠全彩渐变】
/////////////////////////////////////////////////
C程序
/////////////////////////////////////////////////
/***********************************************************************/
/***名称:RGBLED灯珠全彩渐变             *******************************/
/***功能:                                                             */
/***********************************************************************/
#include<reg51.h>
typedef unsigned char U8;
typedef unsigned int  U16;
/*---------------------------------------------------------------------*/
/*--   端口定义                 ---------------------------------------*/
/*---------------------------------------------------------------------*/
#define PORT_1 P1

sbit LED_R        =P1^0;
sbit LED_G        =P1^1;
sbit LED_B        =P1^2;

bit   FLAG_ON;

U8 R_DAT,G_DAT;B_DAT;

U8 PWM_HL,REPEAT;
/*---------------------------------------------------------------------*/
/*--     延时程序               ---------------------------------------*/
/*---------------------------------------------------------------------*/
void delay(unsigned int cnt)
{
while(--cnt);
}
/*---------------------------------------------------------------------*/
/*--     渐变程序               ---------------------------------------*/
/*---------------------------------------------------------------------*/
void fade1()
{
        U8 fade_1,fade_2,fade_3,fade_4;
        fade_2=128;
        fade_4=127;
        while(fade_2!=0)
        {
                for(fade_3=128;fade_3>fade_4;fade_3--)
                {
                        LED_R=0;
                        LED_G=1;
                        delay(50);
                }
                fade_3=128;
                fade_4--;
                for(fade_1=0;fade_1<fade_2;fade_1++)
                {
                        LED_R=1;
                        LED_G=0;
                        delay(50);
                }
                fade_1=0;
                fade_2--;
        }

        fade_2=128;
        fade_4=127;
        while(fade_2!=0)
        {
                for(fade_3=128;fade_3>fade_4;fade_3--)
                {
                        LED_G=0;
                        LED_B=1;
                        delay(50);
               
                }
                fade_3=128;
                fade_4--;
               
                for(fade_1=0;fade_1<fade_2;fade_1++)
                {
                        LED_G=1;
                        LED_B=0;
                        delay(50);
                }
                fade_1=0;
                fade_2--;
        }
        fade_2=128;
        fade_4=127;

        while(fade_2!=0)
        {
                for(fade_3=128;fade_3>fade_4;fade_3--)
                {
                        LED_B=0;
                        LED_R=1;
                        delay(50);
                }
                fade_3=128;
                fade_4--;
               
                for(fade_1=0;fade_1<fade_2;fade_1++)
                {
                        LED_B=1;
                        LED_R=0;
                        delay(50);
                }
                fade_1=0;
                fade_2--;                         
        }
}


/*---------------------------------------------------------------------*/
/*--   主程序                   ---------------------------------------*/
/*---------------------------------------------------------------------*/
void main()
{
        PORT_1=0X00;
        PWM_HL=200;
        while(1)
        {
                fade1();
        }
}
/*---------------------------------------------------------------------*/
/*--   程序结束                 ---------------------------------------*/
/*---------------------------------------------------------------------*/



评分

参与人数 1黑币 +5 收起 理由
hym51hdz + 5 很给力!

查看全部评分

回复

使用道具 举报

liaihua1997 发表于 2015-9-17 23:39 | 显示全部楼层
, 还没玩过全彩LED啊,呵呵,看看你的程序
回复

使用道具 举报

腾飞的龙 发表于 2015-10-4 16:17 | 显示全部楼层
很好的程序谢谢分享
回复

使用道具 举报

key_1 发表于 2015-11-10 10:54 | 显示全部楼层
可以传个视屏,下次
回复

使用道具 举报

xinzhihai 发表于 2016-6-5 03:47 | 显示全部楼层
谢谢!
回复

使用道具 举报

xinzhihai 发表于 2016-6-5 03:48 | 显示全部楼层
谢谢!同一个按键控制颜色呢?
回复

使用道具 举报

xinzhihai 发表于 2016-6-5 03:51 | 显示全部楼层
同一个按键控制不断变化颜色:OFF->淡黄色->粉红色->紫色->黄色->白光->OFF不要渐变色
回复

使用道具 举报

枯地之河 发表于 2016-7-12 22:09 | 显示全部楼层
不错6666666666666666666666666666666666666666666666666666666
回复

使用道具 举报

越快乐越堕落 发表于 2016-7-13 19:21 | 显示全部楼层
上图楼主
回复

使用道具 举报

286458071 发表于 2016-8-1 07:19 来自手机 | 显示全部楼层
回去试一下!谢谢!
回复

使用道具 举报

zha 发表于 2017-4-20 11:45 | 显示全部楼层
楼主这个是渐变的,请问怎么才能调出某一个特定的颜色呢
回复

使用道具 举报

五号守门员 发表于 2017-5-7 17:54 | 显示全部楼层
楼主,有电路图吗?
回复

使用道具 举报

波波杏仁 发表于 2018-8-23 17:28 | 显示全部楼层
楼主有没有原理图可以分享一下?谢谢啦
回复

使用道具 举报

junhai 发表于 2018-10-12 22:03 | 显示全部楼层
谢谢,有机会试下看看!!!
回复

使用道具 举报

无罪之宾 发表于 2018-11-12 14:06 | 显示全部楼层
回去试一下!谢谢!
回复

使用道具 举报

就你?呸! 发表于 2019-3-16 07:04 | 显示全部楼层

看程序代码,都能知道电路图是怎么回事,人不能太懒了!学习的态度要端正!这样才能真正学到技术!当别人把电路图一放,代码一放,你下载完往口袋里一装就什么事都没了,你的技术还是一片空白!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机. 联系QQ:125739409;技术交流QQ群582644647

Powered by 单片机教程网

快速回复 返回顶部 返回列表