电路为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欧取样电阻测得的波形: ![]() |
使用STC单片机STC15W408AS制作的一个LED小台灯

关键词: STC15W408AS 台灯 DIY
回复
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下定时器配置被打赏20分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下PWM配置被打赏20分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 |