老板电器净化水槽是一款集水槽与食材净化功能于一体的创新产品,旨在为你提供更健康、便捷的厨房体验。
 老板电器净化水槽具有以下好处和优点:
一、健康保障
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();是芯邦的触摸函数库软件接口。
请参考 嵌入式老杨的博客 www.youysoft.com



















