手头这颗驱蚊灯专用芯片采用SOP-8封装,型号C9DC-5FE5,三路输出,外面只需要一颗按键和一个OPT选择脚就能跑通一套灭蚊灯控制。很多朋友拿到datasheet只关心引脚,其实程序状态机和2小时定时逻辑才是量产不出错的关键。这篇把内部逻辑拆开讲一下。

状态机设计
芯片上电后处于OFF态,OUT1、OUT2、LED全部为低电平,不会一上电就亮。这点是为有长途运输和仓库堆码场景设计的,避免电池在到货前就被耗光。用户短按KEY后,状态按 OFF→OUT1→OUT2→OFF 循环迁移:
- OFF态:三路输出全低,待机静态电流5uA。
- OUT1态:OUT1输出高电平,驱动诱蚊灯管,无定时持续亮。
- OUT2态:OUT2输出高电平,驱动照明或风扇,无定时持续亮。
每按一次KEY,状态向前跳一档并循环回OFF。这个三段式迁移用极少的IO就实现了"诱蚊/照明/关机"的单键操作,对成本敏感的小家电很友好。
OPT定时选择
定时行为由2脚OPT的电平决定,这是这颗驱蚊灯专用芯片和同类直驱方案拉开差异的地方。OPT接VDD时进入2小时循环定时:当状态停在OUT1,输出先保持高电平2小时,再变低电平2小时,如此往复,同时LED指示灯常亮提示当前处于定时态。OPT接GND时则为无定时直驱,短按只在OUT1、OUT2、关机之间切换,没有2小时循环。量产时可用一个焊点或拨码开关固定OPT电平,决定出厂是定时版还是直驱版。
2小时定时的工程意义
对家用和露营场景,连续亮一整夜既费电也缩短灯管寿命。2小时开、2小时关的循环,把诱蚊灯管的工作占空比压到约50%,配合5uA待机和2.2V-5V宽压供电,工作电流约1mA,用单节锂电或太阳能板就能撑很久。要注意,定时只在OUT1态生效,切到OUT2或关机后定时暂停,重新回到OUT1才会继续循环。
长按报警机制
任意模式下,KEY被长按大于7秒,LED以1Hz、占空比50%闪烁报警。这用于售后快速定位:现场不用拆机,看灯是否在闪就能判断芯片是否还在执行程序。代码层面对长按的检测要设阈值,避免和短按切换冲突。
伪代码
enum {OFF, OUT1, OUT2} state = OFF; bool opt_vdd = (OPT == VDD); loop: if long_press(KEY, >7000ms): led_blink(1Hz, 50%); // 报警,不切状态 return; if short_press(KEY): state = (state + 1) % 3; // OFF->OUT1->OUT2->OFF if (state == OUT1) and opt_vdd: out1 = ( (now % 4h) < 2h ); // 2h高2h低 循环 led = HIGH; else: out1 = (state == OUT1); out2 = (state == OUT2); led = LOW;
边界与不适用
驱动电流每脚15mA,只能直带小信号,UV灯管、电网包必须外挂三极管或MOS。供电极限-0.3V~6.0V,超6.0V永久损坏。工作温度-20℃~+85℃,密闭高温环境要通风。需要多设备组网或按传感器联动时,简单状态机不够用,应换带通信接口的MCU。
如果现有定时节律或联动方式不满足产品定义,可以找原厂按功能要求重新开发程序,把逻辑固化进芯片。