老板电器芯邦CBM7332触摸式净化水槽硬件和程序
老板电器净化水槽是一款集水槽与食材净化功能于一体的创新产品,旨在为你提供更健康、便捷的厨房体验。 老板电器净化水槽具有以下好处和优点:
一、健康保障
1. 高效净化:能够有效去除食材中的农药残留、细菌、激素等有害物质,为你和家人的健康保驾护航。 例如,在清洗蔬菜水果时,可以大大降低农药摄入的风险;清洗肉类时,能减少细菌和激素对人体的潜在危害。
2. 保留营养:在净化过程中,采用温和的方式,不会破坏食材的营养成分,确保食材的原汁原味和营养价值。
二、便捷实用
1. 一体化设计:将水槽与净化功能融为一体,不占用额外空间,使厨房布局更加整洁、美观。 同时,操作简单方便,一键启动净化功能,无需复杂的操作流程。
2. 多功能性:不仅可以净化蔬菜水果、肉类,还可以清洗海鲜、餐具等,满足不同的厨房需求。
3. 节省时间:相比传统的清洗方式,净化水槽能够快速有效地净化食材,节省大量的清洗时间,让你在忙碌的生活中更加轻松。
1.硬件原理图
净化水槽电控部分主要包括显示板和电源板两部分组成:
显示板包括按键触摸和LED显示两部分,原理图和批量照片分享如下:
主芯片采用芯邦的CBM7332带内部触摸的单芯片SOC,批量生产后,在有水的情况下,触摸效果稳定灵敏度适中。 电源部分采用TYN278PN电源芯片实现两路电源,经过老板电器的EMC测试。此单芯片的开关电源芯片价格适中,也推荐给大家。 批量生产的实物图如下:
2.主代码函数框架
程序框架主要由,State_machine状态机接口模块,Key按键控制模块,LED显示模块模块。
主函数:
void main(void)
{
uchar tmp;
PortCfgInit();
Timer1TcmInit(0x15,1,125); //10ms定时中断,累计100次达到1s
Timer0TcmInit(0x05,1,250); //1ms定时中断 16m
timer2TcmInit(0x12,1,140); //2.5ms定时中断
TouchKey_parm_set(0x23,0x44,0x4b);
J=TouchKey_init_fun(6,sensor_list,sensor_sen_parm,0x00);
CBM_ESDInit();
uartInit(0,0x40,8,0x01A0); //初始化uart
UIER_TXIE =0x00;
master_same = 1;
master_status=0;
pause_now =0;
mainpuls =1;
bellplay =0;
bellset = 0;
bellctl =0;
bellvol =0;
promaddr =(uchar )&romcopy; //注意此处160909Yjf
//读取保存的音量值,开锁值.开锁延时 并写入 6879
flash_read(IBP_Addr,promaddr,5);
if((romcopy.clock_e>2)||(romcopy.clock_e==0))
{
romcopy.clock_e =1; //禁止打开时钟
}
DisBright_status=0;
while(1)
{
//...................................
numa= scankey();
if(timer0_20msf) //按键扫描时间到
{
timer0_20msf=0;
key_op_one();
}
while(mainpuls)
{
mainpuls=0;
//系统状态循环函数
master_copy=master_status;
mainloop(master_status);
// 判断是否有新状态出
master_same=master_status^master_copy;
}
//发送指令回复,200ms发送一次
if(timer0_4000==1)
{
timer0_4000=0;
uart01_son_send(uart01many);
}
}
按键部分程序,直接调用库函数,得到按键值,再进行按键值映射和软件去抖。
void key_op_one()
{
switch (numa)
{
case NUM_PWR:
uart01send(keypwr);
break;
case NUM_MENU:
uart01send(keymenu);
break;
case NUM_PAUSE:
uart01send(keypause);
break;
case NUM_LEVEL:
uart01send(keylevel);
break;
case NUM_OUT:
uart01send(keyout);
break;
case NUM_ME:
uart01send(keyme);
break;
case NUM_FAC:
uart01send(keyfac);
break;
case NUM_MARKET:
uart01send(keymarket);
break;
case NUM_VER:
uart01send(keyver);
break;
default:
uart01send(keynull);
break;
}
}
其中: GetTouchKey_fun();是芯邦的触摸函数库软件接口。 欢迎大家来邮件交流。