OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 使用STC单片机STC15W408AS制作的一个LED小台灯

共1条 1/1 1 跳转至

使用STC单片机STC15W408AS制作的一个LED小台灯

助工
2020-03-13 18:26:44    评分

电路为BUCK型,所有LED串电阻后并联。
LED为5730的暖白与白色两种,暖白6只,白色的4只。
电位器调节LED亮度,电位器的ADC值直接赋予PWM的比较值。
逆时针旋到底为关机状态,此时单片机工作于掉电模式,用
掉电唤醒专用定时器唤醒,电流约5uA。
电位器顺时针旋转一定角度后,单片机工作于空闲模式,由T0定时
唤醒,单片机电流约3.7mA。
由于国LED比较刺眼,最后在LED上蒙了两层卫生纸,用封口胶给粘上的。
灯与底座之间采用USB接口连接,这样的好处是灯可以插到USB充电

器上单独使用。


核心代码:
        while(1)
        {
                POT_L;//使能电位器
                delayus(1);
                v=adc_read8(2);
                //CCAP1H=v;
                POT_H;//关闭电位器
                if((v<10)&&(CCAP1H<11))//关机
                {
                        CCAP1H=0;
                        CCAPM1=0;//关PWM
                        n++;
                        if(n>=5)//每5秒闪一次,便于夜间寻找
                        {
                                n=0;
                                IOCLR(P1,BIT(0));
                                IOSET(P1,BIT(0));
                        }                
                        PCON=0X02;//掉电
                        _nop_();
                        _nop_();                
                }
                else//不关机
                {                

                        CCAP1H=((U16)CCAP1H*9+v)/10;//亮度渐变
                        CCAPM1=BIT(6)|BIT(1);                
                        PCON=0x01;//空闲
                        _nop_();
                        _nop_();                
                }
        }

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--------------------------

 上面是早期做的,下面的图文是最近的更新PCB,因为原PCB中LED模块敷铜距离太近。


  程序中原PWM时钟为FOSC/2,PWM频率约22KHz,现已将PWM时钟
改为FOSC,PWM频率约43KHz。
   电路中增加AP5056充电芯片,USB输出增加1uf电容,如无此电容,电流会有较大锯齿。

 
 
 
C7=1uf时,输出串1欧取样电阻测得的波形:
 
C7=10uf时,输出串1欧取样电阻测得的波形:
 





关键词: STC15W408AS     台灯     DIY    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]