菜板殺菌儀功能描述: 一:產(chǎn)品一共有2個按鍵:KEY1電源鍵(左,紅色LED), KEY2啟動鍵(右,綠色LED)。 二:先按電源鍵之后,再按啟動鍵,UV燈同時亮起,發(fā)熱片會加熱,風(fēng)扇會轉(zhuǎn)起來,達到UV殺菌風(fēng)扇烘干的一個效果。 三:工作1.5個小時之后它會自動停止,暫停5個小時后自動開啟工作,一直循環(huán)工作。 4:電源鍵-左邊電源鍵輕按就是待機狀態(tài),紅色LDE亮起,長按電源鍵就會關(guān)機,紅色LED關(guān)閉。 5:啟動鍵-右邊鍵輕按就是啟動工作,藍色LED亮起,啟動后右邊啟動按鍵從新按時從新計算半個小時。工作結(jié)束后藍色LED會關(guān)閉。只有工作時才會亮起藍色的LED,紅色LED. 6:重點: 1,只要電源開啟,左右兩側(cè)的UV燈要同時亮起。 2,發(fā)熱片溫度達到70°就要自動斷電。(目前使用70°的溫度感應(yīng)SENSOR) 3,AC 220V(85Vac- 255Vac) FREE VOLTAGE,只要更換電源線在任何一個國家都通用 7:LED與蜂鳴器: 1:電源啟動:紅色LED亮起/蜂鳴器滴滴聲音響起。 2:電源關(guān)閉:紅色LDE關(guān)閉/蜂鳴器滴滴聲音響起。 3: 啟動開始: 藍色,紅色LED亮起/蜂鳴器短叮咚響起。 4: 啟動結(jié)束藍色LED關(guān)閉/蜂鳴器無聲. 5: 待機狀態(tài)紅色LED亮起 6: 循環(huán)工作啟動時藍色LED亮起/短叮咚響起。- #include "stm8s_gpio.h"
- #include "led.h"
- #include "stm8s.h"
- #include "key.h"
- #include "stm8s_it.h"
- #include "beep.h"
- #include "stm8s_flash.h"
- u8 flags_ll = 0;
- void CLK_Configre(u8 clk)
- {
- switch(clk)
- {
- case 2:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);break;//2M
- case 4:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4);break;
- case 8:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);break;
- case 16:CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);break;//16M
- }
- }
- /*void delay_us(void)
- {
- asm("nop"); //一個asm("nop")函數(shù)經(jīng)過示波器測試代表100ns
- asm("nop");
- asm("nop");
- asm("nop");
- }
- void delay_ms(unsigned int time)
- {
- unsigned int i;
- while(time--)
- for(i=900;i>0;i--)
- delay_us();
- }*/
- void main(void)
- {
- u8 step = 0;
- u8 key11 = 0,key22 = 0;
- u16 i = 0;
-
- CLK_Configre(2);
- GPIO_init();
- Key_Init();
- //TIM1_init();
- Timer4_Init();
- TIM2_init();
- PWM_init();
- enableInterrupts();
-
- GPIO_WriteHigh(GPIOD,GPIO_PIN_5);
- GPIO_WriteHigh(GPIOD,GPIO_PIN_2);
-
- GPIO_WriteLow(GPIOC,GPIO_PIN_6);
- GPIO_WriteLow(GPIOC,GPIO_PIN_5);
- GPIO_WriteLow(GPIOC,GPIO_PIN_4);
- while (1)
- {
-
- if(flags_1ms)
- {
- key11 = Key1_Scan();
- key22 = Key2_Scan();
- if(flags_ll == 2)
- {
- i++;
- if(i>=500)
- {
- i = 0;
- flags_ll=1;
- TIM4_Cmd(ENABLE); //開啟定時器4
- }
- }
- if(alarm >0)
- {
- //alarm = 1;
- Beep_alarm();
- }
- flags_1ms = 0;
- }
-
- switch(step)
- {
- case 0:
- {
- if(key11 == 1) //啟動鍵按下,進入待機模式
- {
- step = 1;
- key11 = 0;
- key22 = 0;
- alarm = 1;
- step1 = 0;
-
- GPIO_WriteLow(GPIOD,GPIO_PIN_5); //打開紅色指示燈
-
- GPIO_WriteLow(GPIOC,GPIO_PIN_6); //關(guān)閉發(fā)熱絲
- GPIO_WriteLow(GPIOC,GPIO_PIN_5); //關(guān)閉風(fēng)扇
- GPIO_WriteLow(GPIOC,GPIO_PIN_4); //關(guān)閉紫外線燈管
- }
- }break;
- case 1:
- {
- if(key22 == 1) //自動鍵被按下,進入自動殺毒模式
- {
- step = 2;
- key22 = 0;
- alarm = 3;
- step1 = 0; //清空各個標(biāo)志位
-
- cont_min = 0;
- cont_h = 0; //清空時間指示,重新計時
- count_5m = 0;
-
- GPIO_WriteLow(GPIOD,GPIO_PIN_2); //打開藍燈,指示進入自動模式
- flags_ll = 2; //此標(biāo)志位設(shè)置為2,則表示開啟紫外線燈管
- GPIO_WriteHigh(GPIOC,GPIO_PIN_6); //打開發(fā)熱絲
- GPIO_WriteHigh(GPIOC,GPIO_PIN_5); //開啟風(fēng)扇
- //GPIO_WriteHigh(GPIOC,GPIO_PIN_4);
- }
- if(key11 == 1)
- {
- TIM4_Cmd(DISABLE); //系統(tǒng)被關(guān)閉 關(guān)閉定時器4
- flags_ll = 0; //關(guān)閉 紫外線燈管開啟標(biāo)志位
- step = 0;
- key11 = 0;
- alarm = 2;
- step1 = 0; //復(fù)位各個標(biāo)志位
-
- GPIO_WriteHigh(GPIOD,GPIO_PIN_5); //關(guān)閉紅色指示燈
-
- GPIO_WriteLow(GPIOC,GPIO_PIN_6); //關(guān)閉發(fā)熱絲
- GPIO_WriteLow(GPIOC,GPIO_PIN_5); //關(guān)閉風(fēng)扇
- GPIO_WriteLow(GPIOC,GPIO_PIN_4); //關(guān)閉紫外線燈管
- }
- }break;
- case 2:
- {
- if(key11 == 1) //自動模式下下,開關(guān)機鍵被按下
- {
- TIM4_Cmd(DISABLE); //關(guān)閉定時器4
- flags_ll = 0; //紫外線燈管開啟的標(biāo)志位被清空
- step = 0;
- key11 = 0;
- alarm = 2;
- step1 = 0; //復(fù)位各個標(biāo)志位
-
- GPIO_WriteHigh(GPIOD,GPIO_PIN_2); //關(guān)閉藍燈
- GPIO_WriteHigh(GPIOD,GPIO_PIN_5); //關(guān)閉紅燈
-
- GPIO_WriteLow(GPIOC,GPIO_PIN_6); //關(guān)閉發(fā)熱絲
- GPIO_WriteLow(GPIOC,GPIO_PIN_5); //風(fēng)扇關(guān)閉
- GPIO_WriteLow(GPIOC,GPIO_PIN_4); //關(guān)閉紫外線燈管
- }
-
- if(key22 == 1) //自動鍵在自動模式被按下,則則響起 “叮咚”聲
- {
- // step = 2;
- key22 = 0;
- alarm = 3;
- step1 = 0;
- }
- if(count_5m == 5) //自動模式25分鐘到了 關(guān)閉發(fā)熱絲
- {
- GPIO_WriteLow(GPIOC,GPIO_PIN_6);
- }
- if(count_5m == 6) //自動模式30分鐘到了 打開發(fā)熱絲
- {
- GPIO_WriteHigh(GPIOC,GPIO_PIN_6);
- }
- if(count_5m == 11) //自動模式30分鐘到了 關(guān)閉發(fā)熱絲
- {
- GPIO_WriteLow(GPIOC,GPIO_PIN_6);
- }
- if(count_5m == 12) //自動模式60分鐘到了 打開發(fā)熱絲 關(guān)閉UV
- {
- GPIO_WriteHigh(GPIOC,GPIO_PIN_6);
- GPIO_WriteLow(GPIOC,GPIO_PIN_4);
- }
- if(count_5m == 17) //自動模式85分鐘到了 關(guān)閉發(fā)熱絲
- {
- GPIO_WriteLow(GPIOC,GPIO_PIN_6);
- }
- if(count_5m == 18) //自動模式85分鐘到了 關(guān)閉發(fā)熱絲
- {
- GPIO_WriteLow(GPIOC,GPIO_PIN_5);
- GPIO_WriteHigh(GPIOD,GPIO_PIN_2);
- }
- if(count_5m == 78) //自動模式85分鐘到了 關(guān)閉發(fā)熱絲
- {
- count_5m = 0;
-
- GPIO_WriteLow(GPIOD,GPIO_PIN_2); //打開藍燈,指示進入自動模式
- flags_ll = 2; //此標(biāo)志位設(shè)置為2,則表示開啟紫外線燈管
- GPIO_WriteHigh(GPIOC,GPIO_PIN_6); //打開發(fā)熱絲
- GPIO_WriteHigh(GPIOC,GPIO_PIN_5); //開啟風(fēng)扇
- //GPIO_WriteHigh(GPIOC,GPIO_PIN_4);
- }
-
- }break;
- default:break;
- }
- }
-
- }
復(fù)制代碼
|