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

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

?? main.c

?? 基于ST72324設計的汽車防盜器源程序
?? 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一区二区三区免费野_久草精品视频
色狠狠av一区二区三区| 极品少妇一区二区三区精品视频| 日韩欧美高清一区| 色偷偷一区二区三区| eeuss鲁片一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 不卡视频一二三四| a亚洲天堂av| 91在线观看视频| 91色在线porny| 色爱区综合激月婷婷| 色哟哟日韩精品| 欧美日韩1234| 91精品国产综合久久国产大片| 欧美日韩国产精品成人| 欧美精品一级二级| 91麻豆精品国产91久久久更新时间| 欧美精品久久一区二区三区| 日韩一区二区三区精品视频| 中文字幕视频一区二区三区久| 欧美激情艳妇裸体舞| 国产精品欧美精品| 一区二区三区不卡视频在线观看| 亚洲成av人影院在线观看网| 秋霞国产午夜精品免费视频| 国产二区国产一区在线观看| 在线视频亚洲一区| 日韩美女视频一区二区在线观看| 国产欧美日韩不卡| 亚洲超碰精品一区二区| 国产精品小仙女| 在线精品亚洲一区二区不卡| 欧美sm美女调教| 亚洲免费观看高清完整版在线| 日韩精品亚洲一区二区三区免费| 国产一区二区福利视频| 日本乱人伦aⅴ精品| 精品国产免费人成电影在线观看四季| 国产精品污www在线观看| 丝袜亚洲另类丝袜在线| 国产精品系列在线播放| 欧美日韩一区视频| 欧美经典一区二区| 婷婷夜色潮精品综合在线| 国产激情视频一区二区三区欧美 | 精品人伦一区二区色婷婷| 中文字幕精品在线不卡| 日本不卡一区二区三区| jizz一区二区| 亚洲精品在线电影| 亚洲电影一级片| 国产999精品久久| 欧美成人乱码一区二区三区| 一区二区三区日韩欧美| 国产高清不卡二三区| 欧美裸体bbwbbwbbw| 国产精品久久精品日日| 久久精品免费观看| 欧美日韩成人一区| 亚洲免费观看高清完整版在线观看熊 | 日韩精品久久久久久| av色综合久久天堂av综合| 久久精品一区二区三区不卡| www..com久久爱| 久久久久久**毛片大全| 视频一区二区中文字幕| 欧美日韩中文字幕一区| 亚洲欧美二区三区| 91小视频在线免费看| 国产精品丝袜在线| 成人动漫一区二区| 国产精品三级在线观看| 国产麻豆一精品一av一免费| 亚洲精品一区在线观看| 久久99精品国产91久久来源| 欧美一区二区啪啪| 美国精品在线观看| 欧美一区二区三区男人的天堂| 亚洲综合色网站| 欧美日韩另类国产亚洲欧美一级| 亚洲高清免费在线| 欧美乱妇23p| 日本不卡在线视频| 日韩欧美一区电影| 精品一区二区国语对白| 久久综合色8888| av一区二区三区四区| 亚洲日本乱码在线观看| 在线中文字幕一区二区| 亚洲成人www| 欧美一区二区不卡视频| 久久er99热精品一区二区| 精品奇米国产一区二区三区| 国产乱码精品一区二区三区忘忧草| 日本一区二区三区视频视频| 成人免费毛片a| 亚洲午夜久久久久| 欧美一级黄色大片| 国产精品中文有码| 中文字幕在线一区免费| 欧美视频在线播放| 奇米一区二区三区av| 亚洲国产精华液网站w| 91视频免费观看| 日韩精品五月天| 国产欧美日本一区视频| 欧美私模裸体表演在线观看| 奇米色777欧美一区二区| 国产亚洲成av人在线观看导航| 99国产精品久| 日韩在线一区二区| 久久久另类综合| 欧美色电影在线| 国产经典欧美精品| 亚洲成人第一页| 欧美国产一区二区| 5858s免费视频成人| 成人免费视频视频| 免费一级片91| 亚洲精品高清在线观看| 亚洲精品一区二区三区99| 色哟哟一区二区在线观看| 国内精品伊人久久久久av影院| 一区二区在线免费| 久久久久久97三级| 91精品欧美一区二区三区综合在| 成人激情动漫在线观看| 天天操天天色综合| 国产精品女同互慰在线看 | 丝袜美腿一区二区三区| 中文字幕不卡的av| 久久色视频免费观看| 欧美日韩一级二级| 色视频一区二区| 丁香一区二区三区| 欧美日韩一区二区电影| 菠萝蜜视频在线观看一区| 狠狠色狠狠色合久久伊人| 午夜久久福利影院| 亚洲一区二区在线免费观看视频| 国产欧美一区二区精品忘忧草 | |精品福利一区二区三区| 久久伊人蜜桃av一区二区| 欧美日本乱大交xxxxx| 欧美午夜一区二区三区| a4yy欧美一区二区三区| 成人动漫视频在线| 成人午夜免费av| 风间由美中文字幕在线看视频国产欧美| 奇米色777欧美一区二区| 日韩影院在线观看| 亚洲一区二区三区四区五区黄| 一区在线中文字幕| 亚洲丝袜自拍清纯另类| 亚洲视频中文字幕| 亚洲精品videosex极品| 亚洲美女视频一区| 一区二区三区在线视频播放| 亚洲黄色片在线观看| 亚洲一区欧美一区| 丝袜亚洲精品中文字幕一区| 奇米一区二区三区av| 久久99国产精品久久99| 国产精品123区| 91浏览器打开| 欧美综合久久久| 欧美一区国产二区| 亚洲精品一区二区三区四区高清| 久久色.com| 亚洲欧美日韩国产综合在线 | 欧美精品一区二区精品网| 精品成a人在线观看| 欧美国产国产综合| 一级日本不卡的影视| 天堂蜜桃一区二区三区 | 99久久99久久免费精品蜜臀| 91视频www| 91精品欧美久久久久久动漫| 精品99久久久久久| 亚洲天堂久久久久久久| 日韩电影网1区2区| 国产一区二区在线视频| 一本久久综合亚洲鲁鲁五月天 | 不卡免费追剧大全电视剧网站| 一本色道综合亚洲| 欧美一区二区三区播放老司机| 久久精品在这里| 一区二区三区欧美久久| 久草热8精品视频在线观看| 成人美女视频在线看| 欧美日韩一区二区三区高清| 久久久综合激的五月天| 一区二区成人在线| 国产精品系列在线观看| 欧美日韩一卡二卡| 国产精品亲子乱子伦xxxx裸| 五月婷婷激情综合网| 成人国产一区二区三区精品| 日韩一级二级三级| 亚洲裸体xxx|