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

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

?? main.c

?? 汽車防盜器源程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*----------------------------------------------------------------------
/* Device st72324k2:
/* Clock Type: RC/8MHZ
/* Project : Car Alarming System with voice
/* Date: 2006-3-9 ----------
/* Rev: A
/*---------------------------------------------------------------------*/
#define __DEFINE_REGISTERS_STVD7_INCLUDE__
#include "ST72324BLK2.h"
#undef  __DEFINE_REGISTERS_STVD7_INCLUDE__

#define asm_nop() _asm ("nop\n")
#define DI() _asm ("sim\n")
#define EI() _asm ("rim\n")


/*Define Operation Code*/
#define  T_MUTE    0X03
#define  T_UNLOCK  0X0C
#define  T_LOCK    0X08
#define  T_ALARM   0X0F
#define  T_BACKDOOR 0X04
/*Define 24c01 read/write operation*/
#define  Read24c01 0XA1
#define  Write24c01 0XA0
/*Define led indication */
#define  InGuarding  1
#define  HadVibrate  2
#define  HadSwitched 3
#define  ReleaseAlarm 4
#define  ReleaseUrgency 5
#define  OpeningDoor 6
#define  Learning    7
/*define Status (mem in eeprom) */
#define LOCK BIT0
#define UNLOCK BIT1
#define MUTE BIT2
#define DoorTriged BIT3
#define Alarm BIT4
#define VOICE  BIT5
#define Vibrated BIT6
#define Fire   BIT7
/* define LLMode */
#define LockOn 10
#define LockOff 11
#define OneFlash 33 // Light flash one times 
#define TwoFlash 02
#define Toggle   03
#define Toggle500ms 04
#define VoiceVibrate 06
#define VoiceSelect  07
#define Toggle120ms 31
#define Toggle250ms   34
#define DACCLockOff   35
#define Continue      36
#define WAIT     1
#define Learn0   41
#define Learn1   42
#define Learn2   43

/*Define Alarm Type*/
#define  LongAlarm  0x10
#define  ShortAlarm 0x11
#define  DoubleAlarm 0x12
#define  LShortAlarm 0x13
#define  Vibrate    0x14
#define  Switch     0x15
/*Define voice type*/
//#define Defence   0X40   /*攱晥宊*/
//#define CloseDoor 0X00  /*攣峸崕翏d*/
//#define Warning   0X80   /*攱楊嫀瓓T*/
//#define Notice1   0X90   /*had been Vibrated*/
//#define Notice2   0X50   /*had been open */

#define Defence   0X08   /*攱晥宊*/
#define CloseDoor 0X00  /*攣峸崕翏d*/
#define Warning   0X01   /*攱楊嫀瓓T*/
#define Notice1   0X11   /*had been Vibrated*/
#define Notice2   0X18   /*had been open */



/* Global variable */
extern unsigned char ReceiveCode;
extern unsigned  int long CodeID0,CodeID1,ReceiveBuff;
extern void EnableRfReceiver(void);
extern char TrigType;
extern unsigned char FlagRX;

BIT_CHAR Flag1,Flag2,Flag3,Flag4,Flag5,Flag6;
unsigned char DataBuff[10];
unsigned char  *RCBPointer;
unsigned  long int *IntPointer=(unsigned long int *)DataBuff;
unsigned char AlarmMode=0;
unsigned char Status=0x02;
unsigned char VibrateTimes=0;
unsigned char FlashTimes=0;
unsigned char R[10];
unsigned int LongTimer[4];
unsigned char LastReceive=0;
unsigned char PressTimes=0;
unsigned char LedTimes ;
unsigned char LockTime;
unsigned char CodeIDMonitor_EN=0;
unsigned char RS232Imformation=0;

/* Flag1 BITS */
#define  FlagPlsCloseDoor b0
#define  FlagVoice b1
#define  FlagTemp0 b2
#define  FlagOSO b3
#define  VoiceSetting b4
#define  FlagSearchMyCar b5
#define  FlagIgnoreBackDoor b6
#define  FlagOpenBackDoor b7
/* Flag2 BITS */
#define  FlagOver b0
#define  Flag120ms600msToggle b1
#define  FlagStep1 b2
#define  FlagStep2 b3
#define  FlagStep3 b4
#define  FlagGDelay b5
#define  TestingWrongUnlock b6
#define  TestTimer b7
/* Flag3 BITS */
#define  FlagACC b0
#define  FlagLocked b1
#define  FlagHelpMe b2
#define  FlagHelpMe0 b3
#define  FlagLearn b4
#define  FlagLearn1 b5
#define  FlagLearn2 b6
#define  FlagLearnEnable b7
/* Flag4 BITS */
#define  Direct b0
#define  FlagSet0 b1
#define  FlagSet1 b2
#define  FlagLed0 b3
#define  OpenDoorAction0  b4
#define  OpenDoorAction1 b5
#define  FlagLED3s b6
#define  FlagAlarmInOpen b7
/* Flag5 BITS */
#define  FlagEmergency b0
#define  FlagPortTrig b1
#define  FirstEnter b2
#define  FlagRecovery b3
#define  FlagDuration b4
#define  FlagDisEngineOff b5
#define  FlagACC0 b6
#define  FlagIndicate b7


unsigned char StandarClock0=0,StandarClock1=0,StandarClock2=0;
unsigned char VoiceTime=0;
unsigned int AlarmClock=0;
unsigned char LedClock=0;
unsigned char LightClock=0;
unsigned char TrigClock=0;
unsigned char LLMode=0 ;    /* Center Lock on/off control*/
unsigned char TAOC2LBuff;
unsigned char UARTTimer=0;

void  RemoveCtrl(void);
void LedScan(void);
void  Initial (void); 
void TimerGenerator(void);
void LightCtrl(void);
void LLEMode(char Mode,char Times);
void LockLightEngine(void);
void  AlarmCtrl (void);
void Voice (unsigned char VoiceMode);
void ClearVoice(void);
void CenterCtrl(void);
void DisSensorChek(unsigned char duration);
void GDelay(char GDelayTime);  
void OpenBackDoor(void);
void EngineOff(void);
void CheckLearn(void);
void StoreStatus(void);
void StoreCodeID(void);
void CheckOpenDoor(void);
void CodeIDMonitor(void);
void ReadCodeID(void);
void FireMode(void);
void CheckJumper(void);
void FlashLed(void);
void delay(int DelayNum);
extern void TrigCheck(void);

extern unsigned char RW24XX(unsigned char *DataBuff,unsigned char ByteQuantity,unsigned int Address,unsigned char ControlByte);
extern void RS232(void);

/*#################################################################*/
/*#################################################################*/
void main(void)
{
	Initial();
  while(1)
	{
  CheckJumper(); 
  FireMode();
	WDGCR=0XFF;
  CodeIDMonitor();
	RS232();
  TimerGenerator();
  AlarmCtrl();
  LedScan();
  LockLightEngine();
  TrigCheck();
  ClearVoice();
  CenterCtrl();
  StoreStatus();
  }

}
/*#################################################################*/
/*#################################################################*/

void delay(int DelayNum)/*DelayNum=100=0.728US*/
{
while(DelayNum--);
WDGCR=0XFF;
}

/*#################################################################*/

void Initial (void)
{
 unsigned char j;	
 Flag1.byte=0;
 Flag2.byte=0;
 Flag3.byte=0;
 Flag4.byte=0;
 Flag5.byte=0;
 Flag6.byte=0;
 Flag5.b.FirstEnter=1;
 //WDTM=0X67;
	MCCSR=(BIT1+BIT4);  // FOSC2/2 ,system clock is 2mhz
	
/* For voice and jumper detector*/  
	//PADDR=0XFF;
  //PADR=0;
	//PAOR=0XFF;
	PBDDR=0XFF;
	PBDR=0;
	PBOR=0XFF;
/* For Learn key & engine ctrl*/
  PDDDR=Engine;
	PDOR =(Engine+Learn_Key);
	PDDR=0;
	
/* Portf assignment*/
  PFDDR=(BackDoor+LED+Light+LockOpen);
	PFOR=(BackDoor+LED+Light+LockOpen);
	PFDR=0;
/* Porte assignment*/
	PEDDR=(TDO+LockClose);
	PEOR=(TDO+LockClose);
	PEDR=0;
	
	
/* For RF Receiver Timer setting*/
  PCDDR=0;
	//PCOR=0XFF;  //Enable pushpull resister
	TBCR1=BIT7;  // Input capture enable , ICAP1 rising edge trigger
	TBCR2=(BIT2+BIT1);         // TimerB clock as Fcpu/2 ,ICAP2 falling edge trigger
	TBCSR=0;            // Enable TimerB
	TACLR=0;
	TACHR=0;            // Clear TimerB
	ISPR2=0XFB;         // Enable interrupt of TimerB (Normal)
	
/* UART Port Setting*/	
	SCISR=0;
	SCICR2=BIT3; //Transmitter is enable 
	SCIBRR=(BIT7+BIT6); // baut rate:9600
	SCICR1=0;
	
/*read the CodeID From EEPROM*/	
  ReadCodeID();
  j=5;
  while(j--)
  {
   delay(10000);
  }

  if(Status&0x48) LongTimer[1]=10; 
  TrigType=(PCDR&~(SIDE_TRIG+BIT2+BIT3));
	EI();
  if(Status&0x58 && Status&0x10)  
	{
	if((Status&0x4c)==0x44);
	else{Flag4.b.FlagAlarmInOpen=1;AlarmMode=LongAlarm;}
	LLEMode(Toggle,60);
	}
}
/*#################################################################*/
void ReadCodeID(void)
{
    char i=0,j,k; 
    do
    {
	 j=0; 
	 k=8; 
	 i+=0x10;
	 RCBPointer=DataBuff;               
	 RW24XX(RCBPointer,10,i,Read24c01);    //CheckSum--DataBuff[8];  //DataBuff[0-3]--CodeID0;DataBuff[4-7]--CodeID1; 
	 RCBPointer=DataBuff;               
	 while(k--) 
	   {
   		 j+=*RCBPointer;
   	     RCBPointer++;
   	   } 
   	  } 
    while(j!=DataBuff[8] && i<0x30);
    
    if(i>=0x30) {DataBuff[9]=0x02;}
    CodeID0=*IntPointer;
    CodeID1=*(IntPointer+1);
    Status=DataBuff[9];

}
/*#################################################################*/
void CheckJumper(void)
{
 if(PADR&BIT3) return;
 PBOR=0X0;   //Floating input  
 PBDDR=~(BIT0+BIT3+BIT4); //BIT4,6,7 Input
 delay(3);
 if(PBDR&BIT4)  Flag4.b.FlagSet0=1; 
 else  Flag4.b.FlagSet0=0; 
 if(PBDR&BIT3)  Flag4.b.FlagSet1=1;
 else  Flag4.b.FlagSet1=0;
 if(PBDR&BIT0)  LockTime=2; else  LockTime=20;
 PBDDR=0XFF;
 PBOR=0XFF;
}
/*#################################################################*/
void TimerGenerator(void)
{
	 if(!StandarClock0)
	 {if(StandarClock2>=7) goto Timer_Next1;}
	 else 
		 if(StandarClock2>=6)
Timer_Next1:		 
    {
      StandarClock2=0;
      TrigClock++;
      AlarmClock++;
      VoiceTime++;
      FlagRX|=ReceiveDelay;
      if(R[0]<250) R[0]++;    /*24ms; */
      if(++StandarClock0>=5) 
			  {
			  StandarClock0=0;
				LedClock++;
				UARTTimer=1;
        }  /*125ms*/
      if(++StandarClock1>=10) 
			  {              
		   							StandarClock1=0;
										CodeIDMonitor_EN=1;
      							LightClock++;
      							if(VibrateTimes) {if(!--R[2]) VibrateTimes=0;}
      							if(!(--R[4])) Flag2.b.FlagGDelay=1;
      							R[1]++;
      							R[9]++;
                                if(R[8]){R[8]--;}
      							if(!R[7]-- && Flag3.b.FlagHelpMe )
      							 {
      							   Flag3.b.FlagHelpMe0=1;
      							   AlarmMode=LongAlarm;
      							   LLMode=Toggle250ms;
      							   if(!Flag4.b.FlagSet0) PDDR|=Engine;
      							 }
										if(!(++LongTimer[1])) LongTimer[1]--; 
										if(!(++LongTimer[0])) LongTimer[0]--; 
										if(!(++LongTimer[2])) LongTimer[2]--; 
										if(!(++LongTimer[3])) LongTimer[3]--; 
										if(Flag1.b.FlagOpenBackDoor&&(!--R[5])) 
											{
											  Flag1.b.FlagOpenBackDoor=0;
												PFDR&=~BackDoor;
												RS232Imformation=0;
												} /* open back door*/                               
										if(LLMode!=Toggle) 
											{
											 if((!(R[6]--))) 
													{if(Flag3.b.FlagHelpMe && LLMode==Toggle250ms) 
													 return; 
													 PDDR&=~Engine;
													}
											} 
		  }  /*250ms;LongTimer[0] for Sensor Timer;LongTimer[1] for Detect the door is closed after 5 s under guarding mode */


		}                           
}
/*#################################################################*/

void Voice (unsigned char VoiceMode)
{
   PBDR=VoiceMode;
   VoiceTime=0;
   delay(10);
   PADR|=Voice_En;
}
/*#################################################################*/

void ClearVoice(void)
{

  if(FlagRX&ReceiveDelay) TBCR1=BIT7;
  if(VoiceTime>30)  {PADR=0;}  
  if(!R[8])  
        {
         if(Flag1.b.FlagIgnoreBackDoor)
          {
           if(TrigType&BACK_TRIG)  DisSensorChek(20);
           else               Flag1.b.FlagIgnoreBackDoor=0;
          }
        } 
 else TrigType|=SENSOR;       
}
/*#################################################################*/

void DisSensorChek(unsigned char duration)
{
 R[8]=duration;
 TrigType|=SENSOR;
}
/*#################################################################*/
void LedScan(void)
{
   
 if(Flag3.b.FlagLearn)		return;
 if(Flag1.b.FlagSearchMyCar || Flag1.b.VoiceSetting || (Flag1.b.FlagPlsCloseDoor && LLMode!=Toggle))
	{PFDR&=~LED;return;}

if(Status&0x01 && LongTimer[1]>20)
   { 
     if(Flag1.b.FlagPlsCloseDoor)
       {FlashLed();}
     else if(Status&0x08)   
       {
         FlashLed();
         if(LedClock>=17 && (LLMode!=Toggle))
         {PFDR^=LED;LedClock=0;}
       }   
      else if(Status&0x40)  //been vibrated
       { 
         FlashLed();
         if(Flag4.b.FlagLed0)
          {
            if(LedClock)
             {
                 PFDR^=LED;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品久久久久久久久99蜜臂 | 色8久久人人97超碰香蕉987| 久久精品国内一区二区三区| 亚洲一区二区综合| 亚洲欧美一区二区三区极速播放 | 日韩黄色免费网站| 五月婷婷色综合| 天堂va蜜桃一区二区三区| 亚洲一区免费在线观看| 亚洲电影激情视频网站| 亚洲电影一区二区三区| 亚洲国产一区在线观看| 亚洲国产日韩精品| 日本不卡视频一二三区| 美女视频黄 久久| 国产精品一卡二卡在线观看| 国产成人精品一区二区三区四区 | 一区二区欧美国产| 亚洲综合色视频| 青青草国产成人99久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 美女视频免费一区| 高清不卡在线观看av| 色哟哟国产精品| 欧美人与禽zozo性伦| 26uuu亚洲综合色欧美| 中文字幕精品综合| 亚洲国产欧美日韩另类综合| 九九**精品视频免费播放| 丰满白嫩尤物一区二区| 精品视频在线免费看| 91精品国产高清一区二区三区 | 亚洲成人av电影| 国产乱码精品1区2区3区| 99精品视频在线观看免费| 欧美日韩和欧美的一区二区| 久久免费视频色| 洋洋成人永久网站入口| 捆绑调教一区二区三区| 91麻豆国产福利在线观看| 欧美一区二区久久| 中文一区一区三区高中清不卡| 亚洲自拍偷拍欧美| 国产精品亚洲人在线观看| 一本大道综合伊人精品热热| 精品欧美一区二区久久| 亚洲精选在线视频| 国产精品亚洲一区二区三区妖精| 欧美日韩一区二区电影| 国产女人18毛片水真多成人如厕| 午夜精品久久久久久久久| 国产激情视频一区二区三区欧美| 欧美年轻男男videosbes| 亚洲国产成人一区二区三区| 高清国产一区二区| 日韩欧美国产综合一区| 一区二区三区欧美日韩| 国产91富婆露脸刺激对白 | 蜜臀av亚洲一区中文字幕| 成人av电影免费在线播放| 精品人在线二区三区| 亚洲图片欧美视频| 一本一道综合狠狠老| 国产精品国产三级国产aⅴ原创 | 欧美日韩在线亚洲一区蜜芽| 国产精品久久久久影院亚瑟| 国产在线一区二区综合免费视频| 欧美三级三级三级| 一区二区理论电影在线观看| 99精品1区2区| 国产精品乱人伦| 国产99一区视频免费| 精品电影一区二区| 免费一区二区视频| 91精品国产91综合久久蜜臀| 亚洲一区二区av电影| 欧美亚洲愉拍一区二区| 一区二区三区在线视频免费| 91麻豆产精品久久久久久 | 一本色道久久综合精品竹菊| 中文字幕一区不卡| 91精品婷婷国产综合久久性色| 亚洲一区免费观看| 欧美性大战xxxxx久久久| 亚洲国产va精品久久久不卡综合| 欧美亚洲动漫精品| 婷婷国产在线综合| 欧美一级搡bbbb搡bbbb| 老司机一区二区| 久久尤物电影视频在线观看| 国产成人午夜精品5599| 亚洲国产岛国毛片在线| 91麻豆成人久久精品二区三区| 亚洲综合久久av| 欧美一区永久视频免费观看| 久久97超碰色| 中文在线一区二区| 在线观看国产91| 日本一区中文字幕| 久久精品一区二区三区不卡牛牛| 国产ts人妖一区二区| 亚洲男人天堂av| 欧美一区二区三区日韩| 国产高清成人在线| 亚洲精品国产精品乱码不99 | 久久国产精品免费| 欧美国产精品一区二区| 91丨九色丨蝌蚪富婆spa| 午夜婷婷国产麻豆精品| 久久久精品免费免费| 99久久伊人精品| 免费的成人av| 亚洲色图丝袜美腿| 日韩欧美国产高清| 91免费国产视频网站| 美日韩一区二区三区| 亚洲欧美日韩在线不卡| 欧美一区二区二区| 色综合天天做天天爱| 久久精品999| 亚洲最大色网站| 国产欧美日韩麻豆91| 91麻豆精品国产91久久久久久 | 婷婷激情综合网| 中文字幕亚洲一区二区av在线 | 日韩精品一级中文字幕精品视频免费观看| 久久综合久久鬼色| 欧美日韩你懂的| 成人av免费网站| 久久97超碰色| 日韩综合一区二区| 亚洲色图欧美在线| 日本一区二区免费在线| 日韩一区二区在线观看视频| 在线日韩国产精品| 不卡一区二区中文字幕| 精品综合免费视频观看| 亚洲大型综合色站| 一区二区三区电影在线播| 国产欧美日韩精品在线| 久久综合久久综合久久| 欧美成人乱码一区二区三区| 欧美午夜精品久久久久久孕妇| eeuss国产一区二区三区| 久草这里只有精品视频| 蜜臀av性久久久久av蜜臀妖精| 亚洲国产综合视频在线观看| 一区二区三区四区在线播放| 亚洲特黄一级片| 国产精品久久久久一区二区三区共| 精品av综合导航| ww亚洲ww在线观看国产| 久久亚洲捆绑美女| 欧美精品一区二区三区很污很色的| 欧美一区二区在线免费播放| 69堂精品视频| 91精品中文字幕一区二区三区| 欧美电影在线免费观看| 欧美日韩国产经典色站一区二区三区| 欧洲激情一区二区| 欧美日韩国产a| 日韩三级免费观看| 精品美女一区二区| 久久久久久久一区| 国产精品久久久久影院老司 | 亚洲一区二区不卡免费| 亚洲一卡二卡三卡四卡无卡久久| 亚洲图片欧美视频| 肉色丝袜一区二区| 激情综合五月婷婷| 国产成人鲁色资源国产91色综| 国产精品综合av一区二区国产馆| 国产乱国产乱300精品| 99久久精品国产网站| 欧美亚洲动漫另类| 欧美大胆人体bbbb| 国产精品卡一卡二| 亚洲国产一区二区在线播放| 日本vs亚洲vs韩国一区三区二区 | 精品国产一区二区亚洲人成毛片| 2023国产一二三区日本精品2022| 欧美激情综合在线| 亚洲国产va精品久久久不卡综合| 日本免费新一区视频| 国产成人aaa| 色婷婷国产精品综合在线观看| 欧美剧情片在线观看| 久久精品亚洲乱码伦伦中文| 日韩美女精品在线| 男女视频一区二区| 99久久综合狠狠综合久久| 欧美午夜一区二区| 亚洲国产精品黑人久久久| 亚洲国产va精品久久久不卡综合| 国内久久精品视频| 欧美伊人久久大香线蕉综合69| 久久综合九色综合97_久久久| 亚洲精选一二三| 国产91精品一区二区麻豆网站| 69成人精品免费视频|