亚洲欧美第一页_禁久久精品乱码_粉嫩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| 久久久精品国产免费观看同学| 国产精品剧情在线亚洲| 美女在线视频一区| 91亚洲男人天堂| 久久久亚洲综合| 日本伊人午夜精品| 97精品视频在线观看自产线路二| 国产精品狼人久久影院观看方式| 五月婷婷综合在线| jizz一区二区| 久久久久99精品一区| 日韩精品一级二级| 色婷婷综合久久| 国产午夜亚洲精品午夜鲁丝片| 午夜精品久久久久久久99水蜜桃| 不卡的av网站| 久久久99精品免费观看不卡| 日本成人超碰在线观看| 欧美日韩一区二区在线观看| 亚洲天堂成人网| 成人精品免费看| 欧美国产精品一区二区三区| 狠狠色综合色综合网络| 日韩区在线观看| 男女男精品视频网| 欧美二区在线观看| 婷婷开心激情综合| 欧美疯狂性受xxxxx喷水图片| 亚洲精品一二三区| 欧美性生活大片视频| 亚洲另类在线一区| 色婷婷亚洲一区二区三区| 亚洲视频在线一区二区| av在线不卡电影| 亚洲欧美日韩国产另类专区| 91麻豆精品在线观看| 亚洲欧洲成人精品av97| av一二三不卡影片| 亚洲人成网站色在线观看| 91在线视频网址| 亚洲乱码国产乱码精品精的特点| 99精品视频在线播放观看| 一区二区三区在线影院| 欧美色综合久久| 日韩高清一区在线| 欧美xxxxx裸体时装秀| 国产麻豆视频一区二区| 亚洲国产高清不卡| 欧美在线综合视频| 日本aⅴ精品一区二区三区 | 人人超碰91尤物精品国产| 欧美福利视频导航| 奇米色一区二区三区四区| 精品国产精品网麻豆系列| 丁香婷婷综合网| 亚洲精品免费在线| 日韩一区二区麻豆国产| 国产成人高清在线| 亚洲免费视频中文字幕| 91精品婷婷国产综合久久竹菊| 久久97超碰色| **性色生活片久久毛片| 欧美久久一二区| 国产剧情一区二区| 一区二区三区精品| 精品国产乱码久久久久久1区2区| 91一区二区三区在线观看| 婷婷久久综合九色国产成人| 久久美女艺术照精彩视频福利播放| 972aa.com艺术欧美| 日韩电影在线观看网站| 国产午夜精品在线观看| 欧美影视一区在线| 国产另类ts人妖一区二区| 亚洲综合免费观看高清完整版| 欧美一级日韩免费不卡| 91亚洲国产成人精品一区二区三 | 老司机精品视频线观看86 | 99久久精品99国产精品| 日韩极品在线观看| 1024精品合集| 久久先锋影音av鲁色资源网| 欧美系列亚洲系列| 懂色中文一区二区在线播放| 奇米在线7777在线精品| 亚洲情趣在线观看| 久久久亚洲精品一区二区三区| 欧美系列日韩一区| 一本色道久久加勒比精品| 国产在线观看一区二区| 日韩在线a电影| 洋洋成人永久网站入口| 国产欧美一区二区精品忘忧草| 91麻豆精品国产自产在线观看一区| 成人激情视频网站| 国内精品视频一区二区三区八戒| 亚洲午夜电影网| 亚洲欧洲美洲综合色网| 中文字幕av一区二区三区免费看| 日韩欧美一区二区三区在线| 欧美日韩国产一级片| 91看片淫黄大片一级在线观看| 国产精品99久久久久久有的能看| 蜜臀av一区二区| 日韩va欧美va亚洲va久久| 亚洲一区二区在线视频| 亚洲人成小说网站色在线| 亚洲欧洲另类国产综合| 国产精品美女久久久久久| 中文字幕欧美日本乱码一线二线| 久久一区二区三区四区| 精品国免费一区二区三区| 91 com成人网| 777xxx欧美| 欧美一级黄色片| 日韩欧美一区中文| 欧美一区二区人人喊爽| 日韩手机在线导航| 日韩免费看的电影| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美成人一区二区三区片免费| 4438x成人网最大色成网站| 777a∨成人精品桃花网| 欧美成人猛片aaaaaaa| 精品国产乱码久久久久久免费| 精品欧美一区二区在线观看| 久久色视频免费观看| 久久精品视频网| 1区2区3区精品视频| 艳妇臀荡乳欲伦亚洲一区| 午夜视频一区在线观看| 看电视剧不卡顿的网站| 国产宾馆实践打屁股91| av一区二区三区在线| 欧美日韩在线不卡| 日韩三级视频中文字幕| 久久久精品欧美丰满| 国产精品高清亚洲| 亚洲一区二区av在线| 毛片av一区二区| 国产成人h网站| 在线观看国产一区二区| 日韩欧美一卡二卡| 中文字幕日本乱码精品影院| 亚洲福利一二三区| 韩国毛片一区二区三区| av成人免费在线观看| 欧美日韩国产美| 国产亚洲人成网站| 尤物视频一区二区| 韩国视频一区二区| 欧美一a一片一级一片| 久久综合精品国产一区二区三区| 亚洲欧洲色图综合| 日韩国产欧美在线视频| 成人免费视频播放| 欧美一区二区视频在线观看2020| 国产欧美日韩三区| 日韩精品免费视频人成| av高清久久久| 久久男人中文字幕资源站| 一区二区三区四区高清精品免费观看| 奇米色777欧美一区二区| 色综合久久天天| 久久蜜桃一区二区| 日韩中文字幕一区二区三区| 成人免费看的视频| 日韩欧美第一区| 一二三区精品视频| 成人网页在线观看| 精品久久久久久久久久久院品网 | 自拍偷拍欧美激情| 精品亚洲aⅴ乱码一区二区三区| 欧美专区亚洲专区| 国产精品福利影院| 国产一区二区视频在线| 欧美精品v国产精品v日韩精品 | 欧美做爰猛烈大尺度电影无法无天| 久久青草欧美一区二区三区| 日韩精品久久久久久| 色www精品视频在线观看| 欧美激情一区二区三区四区| 久久电影国产免费久久电影| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 国产欧美中文在线| 国产一区二区三区蝌蚪| 日韩一区二区免费在线观看| 亚洲高清不卡在线| 欧美日韩一区高清| 亚洲综合色区另类av| 色婷婷综合五月| 日韩理论在线观看| 99精品视频一区二区三区| 国产精品久久久久久福利一牛影视| 国产精品综合在线视频| 国产视频一区二区在线| 国产激情一区二区三区| 日本一区二区在线不卡|