找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4926|回复: 2
收起左侧

全彩LED合集-4.大功率LED调光。PWM查询法,非中断。PT4115恒流IC。

[复制链接]
ID:90014 发表于 2015-9-15 22:06 | 显示全部楼层 |阅读模式
-实际项目:按键控制大功率灯珠实现调光】
项目实际电路图:




               
程序:
/***********************************************************************/
/***名称:按键控制PWM对大功率LED灯调光    ******************************/
/***功能:按动按键可以实现9级调光,初始亮度为50%                       */
/*** 按键KEY1实现9级亮度调节,按动按键可以实现循环                     */
/***********************************************************************/
#include<reg51.h>
typedef unsigned char U8;
typedef unsigned int  U16;
/*---------------------------------------------------------------------*/
/*--   端口定义                 ---------------------------------------*/
/*---------------------------------------------------------------------*/
sbit LED  = P2^3;
sbit KEY1 = P2^0;
U8 j;
/*---------------------------------------------------------------------*/
/*--   显示子程序               ---------------------------------------*/
/*---------------------------------------------------------------------*/
void display()
{
        U8 i;
        for(i=255;i>0;i--)
                        LED=(j<i)?0x00:0xff;

}       
/*---------------------------------------------------------------------*/
/*--   按键子程序               ---------------------------------------*/
/*---------------------------------------------------------------------*/
void  in_key()
{
        if(KEY1==0)
        {
                while(~KEY1)
                {
                        display();
                }
                if(j<251)
                        j+=31;
                else
                        j=3;
        }
}
/*---------------------------------------------------------------------*/
/*--   主程序                   ---------------------------------------*/
/*---------------------------------------------------------------------*/
void main()
{
        LED=0X00;
        IT0 = 0;                        //set INT0 int type (1:Falling 0:Low level)
        EX0 = 1;                        //enable INT0 interrupt
        EA = 1;                         //open global interrupt switch
        j=127;                                                          //改变j的值就改变了占空比,初值50%
        while(1)
        {
                display();
                in_key();
        }
}
/*---------------------------------------------------------------------*/
/*--   程序结束                 ---------------------------------------*/
/*---------------------------------------------------------------------*/

                                 我想问下,如果是用三个色的LED是不是要用三颗驱动芯片啊
回                         这个是驱动单色的3X1W(3颗1W串联)大功率LED灯珠调光的,有一个PT4115就是恒流IC,很多人在问我调光手电的原理,这就是调光手电的工作原理,和源程序!



回复

使用道具 举报

ID:92810 发表于 2015-11-26 21:54 | 显示全部楼层
好的,可以用来控制RGB灯的吗??
回复

使用道具 举报

ID:74784 发表于 2015-11-27 01:30 | 显示全部楼层
真没看懂是什么~~~~~~~~~~~~~~~
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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