找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2683|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

stm8s單片機(jī)菜板殺菌儀,原理圖,源代碼,說(shuō)明書(shū)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:611528 發(fā)表于 2019-9-15 23:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
菜板殺菌儀功能描述:
一:產(chǎn)品一共有2個(gè)按鍵:KEY1電源鍵(左,紅色LED), KEY2啟動(dòng)鍵(右,綠色LED)。
二:先按電源鍵之后,再按啟動(dòng)鍵,UV燈同時(shí)亮起,發(fā)熱片會(huì)加熱,風(fēng)扇會(huì)轉(zhuǎn)起來(lái),達(dá)到UV殺菌風(fēng)扇烘干的一個(gè)效果。
:工作1.5個(gè)小時(shí)之后它會(huì)自動(dòng)停止,暫停5個(gè)小時(shí)后自動(dòng)開(kāi)啟工作,一直循環(huán)工作。
4:電源鍵-左邊電源鍵輕按就是待機(jī)狀態(tài),紅色LDE亮起,長(zhǎng)按電源鍵就會(huì)關(guān)機(jī),紅色LED關(guān)閉。
5:?jiǎn)?dòng)鍵-右邊鍵輕按就是啟動(dòng)工作,藍(lán)色LED亮起,啟動(dòng)后右邊啟動(dòng)按鍵從新按時(shí)從新計(jì)算半個(gè)小時(shí)。工作結(jié)束后藍(lán)色LED會(huì)關(guān)閉。只有工作時(shí)才會(huì)亮起藍(lán)色的LED,紅色LED.
6:重點(diǎn):
1,只要電源開(kāi)啟,左右兩側(cè)的UV燈要同時(shí)亮起。
2,發(fā)熱片溫度達(dá)到70°就要自動(dòng)斷電。(目前使用70°的溫度感應(yīng)SENSOR
3AC 220V(85Vac- 255Vac) FREE VOLTAGE,只要更換電源線在任何一個(gè)國(guó)家都通用
7LED與蜂鳴器:
1:電源啟動(dòng):紅色LED亮起/蜂鳴器滴滴聲音響起。
2:電源關(guān)閉:紅色LDE關(guān)閉/蜂鳴器滴滴聲音響起。
3: 啟動(dòng)開(kāi)始:   藍(lán)色,紅色LED亮起/蜂鳴器短叮咚響起。
4: 啟動(dòng)結(jié)束藍(lán)色LED關(guān)閉/蜂鳴器無(wú)聲.
5: 待機(jī)狀態(tài)紅色LED亮起
6: 循環(huán)工作啟動(dòng)時(shí)藍(lán)色LED亮起/短叮咚響起。
  1. #include "stm8s_gpio.h"
  2. #include "led.h"
  3. #include "stm8s.h"
  4. #include "key.h"
  5. #include "stm8s_it.h"
  6. #include "beep.h"
  7. #include "stm8s_flash.h"
  8. u8 flags_ll = 0;

  9. void CLK_Configre(u8 clk)
  10. {
  11.   switch(clk)
  12.   {
  13.     case 2:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);break;//2M
  14.     case 4:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4);break;
  15.     case 8:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);break;
  16.     case 16:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);break;//16M
  17.   }
  18. }

  19. /*void delay_us(void)
  20. {
  21.     asm("nop"); //一個(gè)asm("nop")函數(shù)經(jīng)過(guò)示波器測(cè)試代表100ns
  22.     asm("nop");
  23.     asm("nop");
  24.     asm("nop");
  25. }

  26. void delay_ms(unsigned int time)
  27. {
  28.     unsigned int i;
  29.     while(time--)  
  30.     for(i=900;i>0;i--)
  31.     delay_us();
  32. }*/

  33. void main(void)
  34. {
  35.   u8  step = 0;
  36.   u8 key11 = 0,key22 = 0;
  37.   u16 i = 0;
  38.         
  39.   CLK_Configre(2);   

  40.   GPIO_init();
  41.   Key_Init();
  42.   //TIM1_init();
  43.   Timer4_Init();
  44.   TIM2_init();
  45.   PWM_init();
  46.   enableInterrupts();
  47.   
  48.   GPIO_WriteHigh(GPIOD,GPIO_PIN_5);
  49.   GPIO_WriteHigh(GPIOD,GPIO_PIN_2);
  50.         
  51.   GPIO_WriteLow(GPIOC,GPIO_PIN_6);
  52.   GPIO_WriteLow(GPIOC,GPIO_PIN_5);
  53.   GPIO_WriteLow(GPIOC,GPIO_PIN_4);
  54.   while (1)
  55.   {

  56.     if(flags_1ms)
  57.     {
  58.       key11 = Key1_Scan();
  59.       key22 = Key2_Scan();
  60.           if(flags_ll == 2)
  61.                 {
  62.                           i++;
  63.                           if(i>=500)
  64.                           {
  65.                                 i = 0;
  66.                                 flags_ll=1;
  67.                                 TIM4_Cmd(ENABLE);                                                //開(kāi)啟定時(shí)器4
  68.                           }
  69.                 }
  70.       if(alarm >0)
  71.           {
  72.                 //alarm = 1;
  73.                 Beep_alarm();
  74.           }
  75.       flags_1ms = 0;
  76.     }
  77.    

  78.     switch(step)
  79.     {
  80.     case 0:
  81.       {
  82.         if(key11 == 1)                                                                //啟動(dòng)鍵按下,進(jìn)入待機(jī)模式
  83.         {
  84.                  step = 1;
  85.                  key11 = 0;
  86.                   key22 = 0;
  87.                   alarm = 1;
  88.                  step1 = 0;
  89.          
  90.                 GPIO_WriteLow(GPIOD,GPIO_PIN_5);                        //打開(kāi)紅色指示燈
  91.         
  92.                 GPIO_WriteLow(GPIOC,GPIO_PIN_6);                        //關(guān)閉發(fā)熱絲
  93.                 GPIO_WriteLow(GPIOC,GPIO_PIN_5);                        //關(guān)閉風(fēng)扇
  94.                 GPIO_WriteLow(GPIOC,GPIO_PIN_4);                        //關(guān)閉紫外線燈管
  95.         }
  96.       }break;
  97.     case 1:
  98.       {     
  99.          if(key22 == 1)                                                                //自動(dòng)鍵被按下,進(jìn)入自動(dòng)殺毒模式
  100.          {
  101.            step = 2;
  102.            key22 = 0;        
  103.            alarm = 3;
  104.            step1 = 0;                                                                //清空各個(gè)標(biāo)志位
  105.            
  106.                   cont_min = 0;
  107.                   cont_h = 0;                                                //清空時(shí)間指示,重新計(jì)時(shí)
  108.                         count_5m = 0;
  109.            
  110.                   GPIO_WriteLow(GPIOD,GPIO_PIN_2);                        //打開(kāi)藍(lán)燈,指示進(jìn)入自動(dòng)模式
  111.                 flags_ll = 2;                                                        //此標(biāo)志位設(shè)置為2,則表示開(kāi)啟紫外線燈管                                                        

  112.                   GPIO_WriteHigh(GPIOC,GPIO_PIN_6);                                //打開(kāi)發(fā)熱絲
  113.                   GPIO_WriteHigh(GPIOC,GPIO_PIN_5);                                //開(kāi)啟風(fēng)扇
  114.           //GPIO_WriteHigh(GPIOC,GPIO_PIN_4);
  115.          }
  116.          if(key11 == 1)
  117.          {
  118.                     TIM4_Cmd(DISABLE);                                                //系統(tǒng)被關(guān)閉 關(guān)閉定時(shí)器4
  119.                         flags_ll = 0;                                                        //關(guān)閉 紫外線燈管開(kāi)啟標(biāo)志位
  120.                    step = 0;
  121.                    key11 = 0;
  122.                    alarm = 2;
  123.                    step1 = 0;                                                                //復(fù)位各個(gè)標(biāo)志位
  124.             
  125.             GPIO_WriteHigh(GPIOD,GPIO_PIN_5);                //關(guān)閉紅色指示燈
  126.             
  127.             GPIO_WriteLow(GPIOC,GPIO_PIN_6);                //關(guān)閉發(fā)熱絲
  128.             GPIO_WriteLow(GPIOC,GPIO_PIN_5);                //關(guān)閉風(fēng)扇
  129.             GPIO_WriteLow(GPIOC,GPIO_PIN_4);                //關(guān)閉紫外線燈管
  130.          }
  131.       }break;
  132.     case 2:
  133.       {
  134.         if(key11 == 1)                                                                //自動(dòng)模式下下,開(kāi)關(guān)機(jī)鍵被按下
  135.          {
  136.                     TIM4_Cmd(DISABLE);                                                //關(guān)閉定時(shí)器4
  137.                         flags_ll = 0;                                                        //紫外線燈管開(kāi)啟的標(biāo)志位被清空
  138.            step = 0;
  139.            key11 = 0;  
  140.            alarm = 2;
  141.            step1 = 0;                                                                //復(fù)位各個(gè)標(biāo)志位
  142.            
  143.             GPIO_WriteHigh(GPIOD,GPIO_PIN_2);                //關(guān)閉藍(lán)燈
  144.             GPIO_WriteHigh(GPIOD,GPIO_PIN_5);                //關(guān)閉紅燈
  145.             
  146.             GPIO_WriteLow(GPIOC,GPIO_PIN_6);                //關(guān)閉發(fā)熱絲
  147.             GPIO_WriteLow(GPIOC,GPIO_PIN_5);                        //風(fēng)扇關(guān)閉
  148.             GPIO_WriteLow(GPIOC,GPIO_PIN_4);                //關(guān)閉紫外線燈管
  149.          }
  150.         
  151.          if(key22 == 1)                                                                //自動(dòng)鍵在自動(dòng)模式被按下,則則響起 “叮咚”聲
  152.          {
  153.           // step = 2;
  154.           key22 = 0;         
  155.           alarm = 3;
  156.           step1 = 0;
  157.          }
  158.         if(count_5m == 5)                        //自動(dòng)模式25分鐘到了 關(guān)閉發(fā)熱絲
  159.                 {
  160.                   GPIO_WriteLow(GPIOC,GPIO_PIN_6);
  161.                 }
  162.                 if(count_5m == 6)                        //自動(dòng)模式30分鐘到了 打開(kāi)發(fā)熱絲
  163.                 {
  164.                   GPIO_WriteHigh(GPIOC,GPIO_PIN_6);
  165.                 }
  166.                 if(count_5m == 11)                        //自動(dòng)模式30分鐘到了 關(guān)閉發(fā)熱絲
  167.                 {
  168.                   GPIO_WriteLow(GPIOC,GPIO_PIN_6);
  169.                 }
  170.                 if(count_5m == 12)                        //自動(dòng)模式60分鐘到了 打開(kāi)發(fā)熱絲  關(guān)閉UV
  171.                 {
  172.                   GPIO_WriteHigh(GPIOC,GPIO_PIN_6);
  173.                   GPIO_WriteLow(GPIOC,GPIO_PIN_4);
  174.                 }
  175.                 if(count_5m == 17)                        //自動(dòng)模式85分鐘到了 關(guān)閉發(fā)熱絲
  176.                 {
  177.                   GPIO_WriteLow(GPIOC,GPIO_PIN_6);        
  178.                 }
  179.                 if(count_5m == 18)                        //自動(dòng)模式85分鐘到了 關(guān)閉發(fā)熱絲
  180.                 {
  181.                   GPIO_WriteLow(GPIOC,GPIO_PIN_5);
  182.                   GPIO_WriteHigh(GPIOD,GPIO_PIN_2);        
  183.                 }
  184.                 if(count_5m == 78)                        //自動(dòng)模式85分鐘到了 關(guān)閉發(fā)熱絲
  185.                 {
  186.                   count_5m = 0;
  187.                   
  188.           GPIO_WriteLow(GPIOD,GPIO_PIN_2);                        //打開(kāi)藍(lán)燈,指示進(jìn)入自動(dòng)模式
  189.                 flags_ll = 2;                                                        //此標(biāo)志位設(shè)置為2,則表示開(kāi)啟紫外線燈管                                                        
  190.           GPIO_WriteHigh(GPIOC,GPIO_PIN_6);                                //打開(kāi)發(fā)熱絲

  191.           GPIO_WriteHigh(GPIOC,GPIO_PIN_5);                                //開(kāi)啟風(fēng)扇
  192.           //GPIO_WriteHigh(GPIOC,GPIO_PIN_4);
  193.                 }        
  194.                
  195.       }break;
  196.     default:break;
  197.     }
  198.   }
  199.   
  200. }
復(fù)制代碼


上傳資料.rar

2.55 MB, 下載次數(shù): 28, 下載積分: 黑幣 -5

原理圖,代碼,說(shuō)明書(shū)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表