亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? 基于ST72324設計的汽車防盜器源程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
                             PressTimes++;
                             Status&=0XFC;
                             Status|=0x05;
                             if(PressTimes<0X04) {LLEMode(LockOn,0);}
  							 else {LLEMode(OneFlash,0);}
  							 goto CaseExit;

                             
  case(T_ALARM):     
                             Flag1.b.FlagSearchMyCar=1;
                             if(!(Status&0x04))
  							             AlarmMode=LongAlarm;                          
                             LLEMode(Toggle,30);
                             Flag1.b.FlagVoice=0;
                             break;
                             
                             
  case(T_BACKDOOR):   
                             Flag1.b.FlagVoice=0;
                             
 }
ReceiveCode=0; 
Flag3.b.FlagHelpMe=0;
}
/*#################################################################*/
void CenterCtrl(void)
{
 static char j=0;
 CheckOpenDoor();
 CheckLearn();
 if(ReceiveCode)   /*remote acknowledge*/
 RemoveCtrl();
 if(LLMode>1) DisSensorChek(12);

 if(LongTimer[1]>121)  PressTimes=0;  //over 30 s 
 
 //if(FlagOSO || FlagHelpMe || FlagSearchMyCar || VoiceSetting ) return;
 if(Flag1.byte&(BIT3+BIT4+BIT5) || Flag3.b.FlagHelpMe) return;

 if(Status&0x01 && !Flag1.b.VoiceSetting) /*Lock status*/
 {
  if(LongTimer[1]>2 && ((TrigType&(BACK_TRIG+SIDE_TRIG))==0x02)) 
   {
    if(Flag1.b.FlagPlsCloseDoor)  {Flag1.b.FlagPlsCloseDoor=0;DisSensorChek(12);}   
   }
  if(LongTimer[1]<20)
    {
     if(!(TrigType&SENSOR)) LongTimer[1]=2;
     if(LongTimer[1]<2)     /* before guard 500ms check if door is closed,(if open will be Notice master to close door)*/  
      {
        if(TrigType&BACK_TRIG || !(TrigType&SIDE_TRIG)) 
         Flag1.b.FlagPlsCloseDoor=1;    /* Door is Opening*/ 
        else {Flag1.b.FlagPlsCloseDoor=0;DisSensorChek(16);}
      }		
   }

  else    
  { 
   
   
   if(TrigType&EMERGENCY_KEY)  {Flag5.b.FlagPortTrig=1;}                          /* for fire guard Mode(press down emergy key over 3 times  */
   else   {if(Flag5.b.FlagPortTrig) j++;Flag5.b.FlagPortTrig=0;}      
   
   if(!(TrigType&0x92)&& !Flag1.b.FlagPlsCloseDoor)
    {  
 	   if(Flag5.b.FirstEnter)	{R[9]=0;Flag5.b.FirstEnter=0;j=0;}
 	   else if(R[9]<20 && j>2) {Status|=Fire;Flag5.b.FirstEnter=1;return;}
 	   else if(R[9]>20) Flag5.b.FirstEnter=1;
    }
    else Flag5.b.FirstEnter=1;
  
    
   if((TrigType&0xB2)!=0x92 && !Flag1.b.FlagPlsCloseDoor) /*  after 3s if any switch be triged  will be alarming*/
   	{
   	 if((TrigType&0xB2)==0xB2 && Flag1.b.FlagIgnoreBackDoor) return; 
   	 if(!LLMode || !Flag4.b.FlagAlarmInOpen)
   	  {
         LLEMode(Toggle,60);
         AlarmMode=LongAlarm;
         EngineOff();
         Status|=DoorTriged;
         Status|=Alarm;
         Flag4.b.FlagAlarmInOpen=1;
      }   
    }   
   else if(Flag1.b.FlagPlsCloseDoor && (TrigType&0x22)!=0x02 )   /* if Door don't closed , after 35 s will Alarming*/
    {   
 	      if(LongTimer[1]>160)
 	      {
 	        if(!LLMode)
 	         {Flag4.b.FlagAlarmInOpen=1;AlarmMode=LongAlarm;LLEMode(Toggle,60);}
 	      }

          else if(LongTimer[1]==20 && LLMode!=Toggle120ms)
          { 
              if(Status&0x01&&Status&0x20) Voice(CloseDoor);   
              LLEMode(Toggle120ms,6);

          }
      }    
          
   else if(!(TrigType&0x40) && !Flag1.b.FlagPlsCloseDoor)  /*check sensor,IN LOCK AND MUTE MODE*/ 
    {
       if(VibrateTimes<4)  VibrateTimes++;
       switch(VibrateTimes)
       {
          case(1): LLEMode(Toggle500ms,6);R[2]=72; break;
          case(2): LLEMode(Toggle500ms,10);R[2]=80;break;
          default: LLEMode(Toggle,60); R[2]=180;Status|=0x50;if(!(Status&0x04))AlarmMode=LongAlarm;EngineOff();
         
       }
    }
  }  
 }


 
 
 else if(Status&0x02)    /*Unlock status*/            
 {      
        if(Flag2.b.TestingWrongUnlock)    /* for Check the Unlock Command if is Wrong ? if wrong , then relock the car*/
         { 
           if(Flag3.b.FlagLocked)  {LongTimer[1]=0;return;} /* Locking waiting*/  
           if(LongTimer[1]<2) 
            {
                 if(!(TrigType&0x02) && !Flag2.b.FlagStep2) 
                  Flag2.b.FlagStep1=1;
                  return;
            }
           if(!Flag2.b.TestTimer) 
					  {
						Flag2.b.TestTimer=1;
					  if(Flag2.b.FlagStep1) {GDelay(180);} else {GDelay(100);}
						}  
           else if( Flag2.b.FlagGDelay&&Flag5.b.FlagRecovery)
             {
                if(Flag2.b.FlagStep1 && !(TrigType&0x02)) goto AAA;
                Flag2.b.TestTimer=0;
                if(R[3]&0x04)   ReceiveCode=T_MUTE;
                else            ReceiveCode=T_LOCK;
                return;
             }   /*wrong, recovery Defence mode */ 
           else if ((TrigType&0XF2)!=0XD2) 
            { 
              if(((TrigType&0XF2)==0XD0) && Flag2.b.FlagStep1 ) return;
AAA:              
              
              //Flag2.b.TestingWrongUnlock=0;
              //Flag2.b.TestTimer=0;
              Flag5.b.FlagRecovery=0;
              //Flag2.b.FlagStep1=0;
              //Flag2.b.FlagStep2=0;
              //Flag2.b.FlagStep3=0;
              Flag4.b.OpenDoorAction1=1;
              Flag2.byte&=~(BIT2+BIT3+BIT4+BIT6+BIT7);
            }  
         }
        else  
         { 
          

          if(!(TrigType&0x81)) /* ACC ON and Emergency Key be press down and holding upon 1 second the unit will sound for help */
           {
            if(!Flag5.b.FlagEmergency)  {R[9]=0;Flag5.b.FlagEmergency=1;}
            else if (R[9]==4)  {ReceiveCode=T_MUTE;R[1]=9;R[0]=0;}
           } 
          else {R[9]=0;Flag5.b.FlagEmergency=0;}  
                        

          if(!(TrigType&0x02)&&(Status&0x48) && Flag4.b.OpenDoorAction1 )  /*imform master the car has be opened or be vibrated */
           {
              if(Status&0x20)
				{              
                if(Status&0x08)   {Voice(Notice2);Flag4.b.FlagLED3s=1;}
                else              Voice(Notice1); 
                }
              else
                { 
                if(Status&0x08)    {AlarmMode=Switch;Flag4.b.FlagLED3s=1;}
                else               AlarmMode=Vibrate;
                }
              Status&=~0x48;
              LedClock=0;
           }       
//
//
//
              
               
          if(!(TrigType&0x80)) 
              {
              Status&=~0x48;
              if(!(TrigType&0x02) && !Flag5.b.FlagACC0 && LLMode!=Toggle ) {Flag4.b.OpenDoorAction1=1;}
              if(!Flag3.b.FlagACC) LongTimer[1]=0;Flag3.b.FlagACC=1;Flag2.b.FlagStep1=1;Flag2.b.FlagStep2=0;
              Flag5.b.FlagACC0=1;
             
              }  /* as ACC is on ,if brake is actived after 15 s, the lock will closed automatic */
        
          else
                      {
                       Flag3.b.FlagACC=0; 
                       if(Flag2.b.FlagStep1 && !(TrigType&0x02)) 
											 {
											  //FlagStep1=0; 
												//FlagStep2=1;
												//TestTimer=0;
												Flag2.byte&=~(BIT2+BIT7);
												Flag2.b.FlagStep2=1;
											 }
                      } 
                      
                      
          if(Flag3.b.FlagACC)                
           {               
          if(((TrigType&0x12)==0X02) && (LongTimer[1]>60) && !Flag3.b.FlagLocked )     
             {  
             if(LLMode!=LockOn) 
             LLEMode(LockOn,0);
             Flag4.b.OpenDoorAction1=0;
              }    
           }          
           
          else
          { 
          if(Flag3.b.FlagLocked  || Flag5.b.FlagACC0 ) 
            {
             if(LLMode!=DACCLockOff) 
             {LLMode=DACCLockOff;LightClock=0;}
             Flag5.b.FlagACC0=0;
            }
          }
           
           
           
          if(Flag4.b.OpenDoorAction1 && Flag3.b.FlagLocked) {Flag3.b.FlagLocked=0;LongTimer[1]=0;}
           
          if(TrigType&0X02 && Flag2.b.FlagStep2)  
           {
              if (!Flag2.b.TestTimer) {Flag2.b.TestTimer=1;GDelay(20);}
              else if(Flag2.b.FlagGDelay) 
              {
               if(Status&0x20) Voice(Defence);
               LLEMode(Toggle120ms,6);
               Flag5.b.FlagDuration=1;
               Flag2.b.FlagStep2=0;
               Flag2.b.FlagStep3=1;
               LongTimer[1]=0;
               Flag4.b.OpenDoorAction1=0; 
             }
           } 
          
           if(Flag2.b.FlagStep3)  
            {
               if(LongTimer[1]>240 && !Flag4.b.FlagSet1 )
                 {
                   if(Status&0x20)  Voice(0x19);
                   Status|=0X05;
                   Status&=~UNLOCK;
                   LLEMode(Toggle120ms,2);
                   
                }
               else if (Flag4.b.OpenDoorAction1) 
                 {
								  //FlagStep2=1;
									//FlagStep3=0;
									//TestTimer=0;
									Flag2.b.FlagStep2=1;
									Flag2.byte&=~(BIT4+BIT7);
								 }  
                 
               else if((TrigType&0xF0)!=0XD0) 
                 {
								   //FlagStep3=FlagStep2=0;
									 Flag2.byte&=~(BIT3+BIT4);
									 Flag2.b.FlagStep1=1;
								 } 
             
            }  /* after 1 minutes , if don't set in defence mode, default Mute defence mode*/
					if(TrigType&0X02)   {Flag5.b.FlagIndicate=0;if(LLMode==Toggle ) LLMode=0;}
          
          else
           {
            Flag2.b.TestTimer=0;
            if(Flag4.b.OpenDoorAction1 && !LLMode )                   /* whenever open sidedoor the light will being flash ,till reclose the door*/
             {LLEMode(Toggle,36); Flag4.b.OpenDoorAction1=0; Flag5.b.FlagIndicate=1;}     
           }    

        } 
 }
}  
/*#################################################################*/
void OpenBackDoor(void )
{
    PFDR|=BackDoor;
		RS232Imformation=44;
    R[5]=4;
    Flag1.b.FlagIgnoreBackDoor=1;
}  
/*#################################################################*/

void CheckOpenDoor(void)
 {
 if(TrigType&0x02) Flag4.b.OpenDoorAction0=1;
 if(!(TrigType&0x02) && Flag4.b.OpenDoorAction0) 
 {Flag4.b.OpenDoorAction1=1;Flag4.b.OpenDoorAction0=0;}
 }
/*#################################################################*/

void GDelay(char GDelayTime)
{
 Flag2.b.FlagGDelay=0;
 R[4]=GDelayTime;
}
/*#################################################################*/
void CheckLearn(void)
{
  char i;
  if(PDDR&Learn_Key) 
	  {
		 //FlagLearn=0;
		 //FlagLearn1=0;
		 //FlagLearn2=0;
		 Flag3.byte&=~(BIT4+BIT5+BIT6);
		 Flag3.b.FlagLearnEnable=1;
		 Flag3.b.FlagLearn=0;
		}
  else
   {
    //if(Flag3.b.FlagLearn2 || !LearnEnable) {PFDR&=~LED;return;}
		if(!Flag3.b.FlagLearnEnable) {PFDR&=~LED;return;}
		else
    { 		
     if(!Flag3.b.FlagLearn) 
		 {
		   PFDR|=LED;
			 RS232Imformation=Learn0;
			 TACR2=0;
			 LLEMode(WAIT,15);
		 }
	  }
    Flag3.b.FlagLearn=1;
    if(!ReceiveCode) return;
    else
    { 
		  DI();
      if(!Flag3.b.FlagLearn1) 
        {
           RS232Imformation=Learn1;
           Flag3.b.FlagLearn1=1;
           i=6;
          CodeID1=CodeID0=ReceiveBuff;
        } 
      else 
        {     
             RS232Imformation=Learn2;
             Flag3.b.FlagLearn1=0;
             Flag3.b.FlagLearn2=1;
             i=11;
             Flag3.b.FlagLearnEnable=0;
             CodeID1=ReceiveBuff;
        }  
     }   
     StoreCodeID();
     while(i--) 
      {
        PFDR^=LED;
        delay(10000);
      } 
     delay(10000);
     FlagRX&=~ReceivedCode;
     ReceiveCode=0;
     EI();
   } 
}
/*#################################################################*/
void StoreCodeID(void)
{
     char i;
         
    	*IntPointer=CodeID0;
    	*(IntPointer+1)=CodeID1;
    	RCBPointer=DataBuff;
     	DataBuff[8]=0;
    	i=8;
    	while(i--) 
          {
   	       DataBuff[8]+=*(RCBPointer++);  
  	      }
       RCBPointer=DataBuff; 
       RW24XX(RCBPointer,9,0x10,Write24c01);  /*CheckSum--DataBuff[7];  DataBuff[0-2]--CodeID0;DataBuff[3-5]--CodeID1; */
       RCBPointer=DataBuff; 
       RW24XX(RCBPointer,9,0x20,Write24c01);  /*CheckSum--DataBuff[7];  DataBuff[0-2]--CodeID0;DataBuff[3-5]--CodeID1; */
}
/*#################################################################*/

void StoreStatus(void)
{
  if(Status!=DataBuff[9] && !(TACR2) )
   {  

       DI(); 
       DataBuff[9]=Status;
       RCBPointer=&DataBuff[9]; 
       RW24XX(RCBPointer,1,0x19,Write24c01);  /*CheckSum--DataBuff[7];  DataBuff[0-2]--CodeID0;DataBuff[3-5]--CodeID1; */
       RW24XX(RCBPointer,1,0x29,Write24c01);  /*CheckSum--DataBuff[7];  DataBuff[0-2]--CodeID0;DataBuff[3-5]--CodeID1; */
       EI();
   } 
}   
/*#################################################################*/

void CodeIDMonitor(void)
{
   if(CodeIDMonitor_EN)
   { 
	  DI(); 
   	if((CodeID0-*IntPointer) || (CodeID1-*(IntPointer+1))) 
		while(1);
		CodeIDMonitor_EN=0;
		EI();
   } 
}
/*#################################################################*/

void FireMode(void)
{
  while(Status&0x80)
   {  
      WDGCR=0XFF;
      EI();
      if(!Flag3.b.FlagLearn)
      PFDR=LED;
      PEDR&=~LockClose;
			PFDR&=~LockOpen;
			PDDR=0;
			TACR2=0;
      ClearVoice();
      CodeIDMonitor();
      TimerGenerator();
      TrigCheck();
      CheckLearn();
      StoreStatus();
      if(ReceiveCode==T_UNLOCK) 
         {
          Status&=~0xC8;
          return;
         } 
    }      
}
/*#################################################################*/





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久激情视频| 91精品欧美综合在线观看最新| 精品国产免费人成在线观看| 麻豆精品一区二区综合av| 欧美videos大乳护士334| 国内欧美视频一区二区 | 亚洲国产日韩精品| 欧美日韩高清一区| 精品综合免费视频观看| 国产女主播视频一区二区| 97精品久久久午夜一区二区三区| 亚洲免费毛片网站| 欧美一区二区视频在线观看| 国产一区欧美日韩| 日韩一区在线免费观看| 欧美日韩夫妻久久| 国产麻豆9l精品三级站| 一区二区视频在线看| 欧美日韩的一区二区| 国产在线不卡一区| 亚洲免费观看在线视频| 欧美高清www午色夜在线视频| 国产一区二区三区四区在线观看| 中文字幕一区日韩精品欧美| 91精品婷婷国产综合久久竹菊| 国产一区二三区好的| 亚洲精选一二三| 欧美videossexotv100| av欧美精品.com| 日本一区中文字幕| 成人免费一区二区三区在线观看| 欧美日韩视频不卡| 国产91精品精华液一区二区三区| 亚洲午夜影视影院在线观看| 精品国产乱码久久久久久闺蜜| 色综合久久久网| 国产精品一区二区久久精品爱涩| 亚洲一卡二卡三卡四卡| 国产欧美视频一区二区三区| 欧美在线观看一二区| 国产精品亚洲第一| 性做久久久久久免费观看欧美| 久久精品一区二区三区av| 欧美无乱码久久久免费午夜一区| 国产精品一二一区| 亚洲成人自拍网| 国产精品国产自产拍在线| 欧美tickle裸体挠脚心vk| 91成人网在线| 成人sese在线| 九九久久精品视频 | 日本欧美加勒比视频| 亚洲日本va午夜在线电影| 欧美精品一区视频| 91精品国产麻豆| 欧美性做爰猛烈叫床潮| 91麻豆国产福利在线观看| 国产盗摄视频一区二区三区| 全部av―极品视觉盛宴亚洲| 一区二区三区四区精品在线视频| 久久久久久一级片| 精品国产乱码久久久久久久久| 8x8x8国产精品| 欧美精品久久久久久久多人混战 | 欧美国产日韩亚洲一区| 日韩欧美高清在线| 欧美一区二区三区四区久久| 欧美日韩国产综合久久| 欧美日韩日本视频| 欧美私模裸体表演在线观看| 欧美性生活一区| 欧美中文字幕一区二区三区 | 成人免费精品视频| 国产成人av电影在线播放| 国内久久精品视频| 国产精品一级片在线观看| 国产精品影视天天线| 国产91在线|亚洲| 成人app下载| 91尤物视频在线观看| jiyouzz国产精品久久| 97国产一区二区| 欧美亚一区二区| 欧美性欧美巨大黑白大战| 欧美日韩三级一区二区| 欧美一区二区三区在线观看| 日韩欧美国产系列| 国产欧美精品一区aⅴ影院 | 亚洲成a人片在线不卡一二三区 | 欧美视频一二三区| 制服.丝袜.亚洲.另类.中文| www国产成人| 亚洲欧洲精品天堂一级| 亚洲国产精品久久人人爱蜜臀| 日本成人在线视频网站| 国产综合久久久久久久久久久久| 国产成人免费视频网站| 99精品国产热久久91蜜凸| 欧美日韩亚洲综合在线| 2023国产精品视频| 国产精品视频在线看| 亚洲自拍偷拍网站| 激情欧美日韩一区二区| 99热国产精品| 91精品国产一区二区三区| 国产嫩草影院久久久久| 亚洲精品亚洲人成人网在线播放| 亚洲福利电影网| 国产精品中文字幕日韩精品 | 成人黄色网址在线观看| 在线观看不卡一区| 久久综合成人精品亚洲另类欧美 | 欧美亚洲高清一区二区三区不卡| 欧美一区二区播放| 国产精品素人视频| 日韩**一区毛片| 成人av在线网| 91精品国产综合久久精品麻豆 | 男人的j进女人的j一区| 国产suv精品一区二区883| 欧美日韩成人一区二区| 国产视频911| 精彩视频一区二区| 91麻豆自制传媒国产之光| 日韩欧美一级二级| 亚洲精品国产精华液| 国产一区三区三区| 7777精品伊人久久久大香线蕉超级流畅 | 成人免费在线视频观看| 麻豆精品国产传媒mv男同| 色综合久久综合网| 久久精品日韩一区二区三区| 日韩影院在线观看| 99精品1区2区| 国产亚洲成av人在线观看导航| 午夜av区久久| 91久久线看在观草草青青| 国产日韩一级二级三级| 青青草成人在线观看| 欧洲一区在线电影| 中文字幕一区二区在线观看 | 亚洲欧洲av在线| 国产尤物一区二区在线| 欧美一区二区网站| 亚洲一区二区三区三| 91视频免费看| 国产欧美一区二区精品久导航| 老司机精品视频线观看86| 欧美久久久一区| 亚洲.国产.中文慕字在线| 欧美天堂一区二区三区| 亚洲欧美日韩国产中文在线| 国产69精品久久久久777| 欧美精品一区二区三区在线播放 | 色婷婷亚洲一区二区三区| 国产精品久久久久aaaa| 国产精品亚洲一区二区三区妖精| 日韩一级在线观看| 日韩国产在线一| 欧美人牲a欧美精品| 亚洲国产成人porn| 欧美无乱码久久久免费午夜一区| 亚洲男人的天堂网| 91免费观看国产| 亚洲欧美另类在线| 色婷婷亚洲一区二区三区| 亚洲精品视频在线观看免费| 91视频免费看| 亚洲午夜在线电影| 欧美日本一区二区| 免费在线视频一区| 亚洲精品一区二区三区在线观看| 国模少妇一区二区三区| 久久久影视传媒| k8久久久一区二区三区| 一区二区三区在线看| 欧美在线观看视频一区二区| 午夜伊人狠狠久久| 日韩手机在线导航| 国产成人精品亚洲日本在线桃色| 国产精品色呦呦| 91麻豆免费视频| 爽好久久久欧美精品| 精品卡一卡二卡三卡四在线| 国产一区三区三区| 亚洲欧洲综合另类| 欧美福利视频导航| 国产一区三区三区| 亚洲天堂网中文字| 欧美精品粉嫩高潮一区二区| 国产一区美女在线| 1区2区3区国产精品| 欧美日韩成人综合| 国产在线播放一区| 亚洲精品国产成人久久av盗摄 | 欧美国产欧美综合| 色婷婷久久久久swag精品 | 6080国产精品一区二区| 国产一区 二区| 一区二区成人在线观看|