久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

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

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

單片機(jī)數(shù)碼管和報(bào)警故障處理程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:945807 發(fā)表于 2022-12-30 14:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include"reg52.h"
#include "public.h"
#include "key.h"  //開(kāi)關(guān)
#include "iic.h"  //TM1637_Display


//全局變量
static u8 Flag_oil=0; //油位報(bào)警標(biāo)志位Flag_oil=1,低油位報(bào)警
static u8 Flag_start=0;     //正常點(diǎn)火,掃描一次標(biāo)志位
static u8 Flag_Lighter=0;   //關(guān)閉點(diǎn)火器標(biāo)志位
static u8 Flag_fire1=0;                 //火焰檢測(cè)標(biāo)志位 火焰正常        Flag_fire1=2
static u8 Flag_fire2=0;                 //2次火焰檢測(cè)標(biāo)志位 火焰正常        Flag_fire2=2
static u8 Flag_fire3=0;                 //點(diǎn)火報(bào)警和顯示器沖突
static u8 Flag_stop=0;                 //關(guān)機(jī)顯示工作時(shí)間
static u8 buf_Fire[5];                 //火焰檢測(cè)次數(shù)數(shù)據(jù)保存
           u8 num_Fire1;                         //火焰檢測(cè)結(jié)果處理
           u8 num_Fire2;                         //火焰檢測(cè)結(jié)果處理
static u8 K=0;   //火焰檢測(cè)次數(shù)
u16 ms,second,min,hour;
u16 ms1,second1; //火焰正常檢測(cè)



/*******************************************************************************
* 函 數(shù) 名       : T1_init()
*******************************************************************************/
void T1_init()
{
    TMOD|=0X10;//選擇為定時(shí)器0模式,工作方式1
        TH1=(65535-50000)/256; // 50ms
        TL1=(65535-50000)%256;        
        ET1=1;//打開(kāi)定時(shí)器1中斷允許
        EA=1;//打開(kāi)總中斷
        TR1=1;//打開(kāi)定時(shí)器               
}
void T1_time() interrupt 3  // 50ms
{
        TH1=(65535-50000)/256;
        TL1=(65535-50000)%256;
        ms++;
                ms1++;
            if((ms>=20)&&(Pump_Fan_Y0==0))  // 1s         &&(Pump_Fan_Y0==0)
                {
                        ms=0;
                        second++;
                        if(second>=60)
                        {
                                second=0;
                                                                min++;
                        }
                }
                        if(((Pump_Fan_Y0==0)&&(Flag_oil==0)&&(Flag_fire3==0))||((Flag_stop==1)&&(Flag_oil==0)))
                           {
                           TM1637_Display(min/10,min%10,second/10,second%10,1);
                           }
                        if(Flag_oil==1)                              
                           {
                           TM1637_Display(0,0,14,1,1);
                           }
                        if(Flag_fire3==1)
                           {
                           TM1637_Display(0,0,14,2,1);
                           }
           if((ms1>=20)&&((Flag_fire1==2)||(Flag_fire2==2)))  // 1s         &&(Pump_Fan_Y0==0)
                {
                        ms1=0;
                        second1++;
                        if(second1>=60)
                        {
                                second1=0;
                        }

}
}

//油位檢測(cè)函數(shù)
void oil_scan()
{         u8 D;
        if(OilDetct_X1==0)//油位檢測(cè)
        {        delay_ms(1000);
                if(OilDetct_X1==0)//油位檢測(cè)
                {
                SolenV_Y1=1;
                Lighter_Y2=1;
                Flag_oil=1;
                for(D=0;D<7;D++)
            {
                        Alarm_Y3=0;
                    delay_ms(200);
                                        Alarm_Y3=1;
                                        delay_ms(200);
                        }
                }
        }
        if(OilDetct_X1==1)//油位檢測(cè),正常油位
          {Flag_oil=0;}   

}

//開(kāi)始函數(shù)
void turn_on()
{        
    Key_Scan();
        if((Key_Scan())&&(OilDetct_X1==1))
         {
                  if(Flag_start==0)
                 {
                 Pump_Fan_Y0=0;
                 delay_ms(3000);
                 SolenV_Y1=0;
                 delay_ms(2000);
                 if(Flag_Lighter==0)        //點(diǎn)火器關(guān)閉標(biāo)志位
                          Lighter_Y2=0;
                          Flag_Lighter=1;
                          if(Lighter_Y2==0)
                          {
                                   delay_ms(8000);//點(diǎn)火器延長(zhǎng)時(shí)間
                                        Lighter_Y2=1;
                                }
                        Flag_start=1;
                        Flag_stop=0;
                 }
                 
         }

}
//停止函數(shù)
void turn_off()
{
  if((Key_Scan()==0)&&(Flag_start==1))
    {
                 SolenV_Y1=1;
                 Lighter_Y2=1;
                 delay_ms(2000);
                 Pump_Fan_Y0=1;
                 Flag_start=0;
                 Flag_Lighter=0;
                 K=0;
                 Flag_oil=0;
                 Flag_fire2=0;
                 Flag_fire1=0;
                 Flag_fire3=0;
                 Flag_stop=1;
        }
}


//火焰檢測(cè)是否點(diǎn)著
void fire_test()
{
     u8 L=0;   //報(bào)警閃爍
if(Flag_start==1)
        {
        delay_ms(2000);
         if(FireDetct_X2==0&&K<1)
           {
           Flag_fire1=2;
           ++K;
           }    //第一次點(diǎn)火成功標(biāo)志位

         else if(FireDetct_X2==1&&K<1)
           {
                   ++K;
                Lighter_Y2=0;
                   delay_ms(2000);
                Lighter_Y2=1;
                if(FireDetct_X2==0)
               {Flag_fire2=2;}    //第二次點(diǎn)火成功標(biāo)志位
                 delay_ms(2000);     //火焰檢測(cè)時(shí)間
                if((FireDetct_X2==1)&&(Flag_fire2!=2))        ////第二次點(diǎn)火不成功標(biāo)志位
                   {
                                SolenV_Y1=1;
                                Lighter_Y2=1;        
                                Flag_fire3=1;
                                for(L=0;L<7;L++)
                                        {
                                        Alarm_Y3=0;
                    delay_ms(200);
                                        Alarm_Y3=1;
                                        delay_ms(200);
                                        }
           }
        }
}
}

//點(diǎn)著以后檢測(cè)火焰
void fire_scan()
{         u8 P;
   if((Flag_fire1==2)||(Flag_fire2==2))
            {
                if(second%8==0)
                {
                if(FireDetct_X2==0)
                          {
                           Flag_fire1=2;
                           Flag_fire2=2;
                          }
                 if(FireDetct_X2==1)
                          {
                                   SolenV_Y1=1;
                                Lighter_Y2=1;        
                                Flag_fire3=1;
                                for(P=0;P<7;P++)
                                        {
                                        Alarm_Y3=0;
                                        delay_ms(200);
                                        Alarm_Y3=1;
                                        delay_ms(200);
                                        }
                                Flag_fire1=0;
                            Flag_fire2=0;
                          }

                }

         }
}

               

void main()
{
     TM1637_Display(0,0,0,0,1);
         Key_Scan();
         T1_init();
         GPIO_init();
        while(1)
        {
     fire_scan();
         oil_scan();
     turn_on();
         turn_off();
         fire_test();
         
    }
}


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

使用道具 舉報(bào)

沙發(fā)
ID:1060196 發(fā)表于 2023-1-3 21:23 | 只看該作者
向大佬致敬,向大佬學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品成人 | 91精品麻豆日日躁夜夜躁 | 美女黄网 | 久操伊人 | 中文字幕国产视频 | 欧美一二三| 日韩三片 | 在线欧美小视频 | 欧美黄色一区 | 欧美午夜精品久久久久久浪潮 | 伊人网站 | 亚洲一区二区三区免费在线观看 | 福利电影在线 | 凹凸日日摸日日碰夜夜 | 中文字幕黄色大片 | 日韩美香港a一级毛片免费 国产综合av | 中文字幕一区二区三区乱码图片 | 精品国产乱码一区二区三区 | 国产精品久久久久久久久久久久久久 | 欧美日韩最新 | 日韩一级精品视频在线观看 | 电影在线| 欧美国产日韩精品 | 国产美女久久 | 久久久久久久久毛片 | 精品久久国产 | 亚洲日本乱码在线观看 | 91亚洲国产成人久久精品网站 | 国产免费拔擦拔擦8x高清 | 三级黄色片在线 | 欧美激情精品久久久久 | 久久久久久久久中文字幕 | 日韩一区二区三区在线观看 | av黄色免费在线观看 | 久久国产亚洲 | 日韩在线不卡 | 欧美一区在线视频 | 超碰一区二区 | 精品一区二区在线观看 | 国产成人久久精品一区二区三区 | 欧美伊人久久久久久久久影院 |