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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? keyscan119.c

?? pic6527 控制鎖程序包括keyscan 電機(jī)控制 eeprom等
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
		if(pos_close == 0)					//沒有到位報(bào)警
		{
			for(i=0;i<3;i++)
			sound_buzzer(10);
		}	
	}
		sound_buzzer(2);
		sound_buzzer(1);
		mot_down=0;					//反轉(zhuǎn)
		mot_up=0;					//正轉(zhuǎn)
		vcc_kid=0;
}


void initialize(void)
{

   WDTCON = 0 ;

	INTCON=0x38;				//關(guān)閉所有中斷,B口變位中斷允許,int0變化中斷允許,TMR0允許
	INTCON2=0xFC;				//使能B口不上拉,B口中斷,int3低優(yōu)先級(jí)上升沿有效,TMR0高優(yōu)先級(jí)
	INTCON3=0x38;				//int2 int1 低優(yōu)先級(jí) 使能3
	RCONbits.IPEN=1;			//使能中斷優(yōu)先級(jí)
	PORTB=PORTB;				//讀B口的值,為變位中斷創(chuàng)造條件*/	

	T0CON=0x87;				//timer0 on, 16bit,內(nèi)部時(shí)鐘,256分頻 大概3秒
}


void initialize_io (void)
{


//Initialize PORT A INPUT
//RA0低壓檢測(cè)報(bào)警,RA2 光耦OPEN,RA3 光耦CLOSE,RA4   光耦LOCK
//RA5   SW17   R,  RA1不知做什么

 	PORTA = 0;            //Initialize PORTG by clearing output data latches
	LATA = 0;            //; Alternate method to clear output data latches
   	ADCON1 = 0x0F;          //設(shè)置A位I/O口
	TRISA = 0xFF;         //Set RA<5:0> as inputs


//Initialize PORT B INPUT
//RB0   SW3    OPEN/CLO,   RB1   SW2    D ,      RB3   SW4    N    
//RB2   指紋開關(guān),         RB4   鍵盤開關(guān) 
//RB5   外部強(qiáng)行闖入 ,      RB6   仿真,RB7   仿真
   	PORTB = 0;            //Initialize PORTB by clearing output data latches
   	LATB = 0;            //; Alternate method to clear output data latches
	TRISB = 0xFF;           //PORTGB inputs

/*//Initialize PORT C INPUT
//OUT      RC0   讓dsp重置 刪除已有指紋                    /reset
//OUT      RC1   spi開始(猜測(cè))                             spiss
//OUT      RC2   外蓋打開 從sleep恢復(fù)                      /pwr_on
//IN/OUT   RC3   spi clock                                 sck
//IN      RC4   master in slave out                       miso
//OUT      RC5   slave in master out                       mosi
//         RC6,RC7  不知用途
*/
   	PORTC = 0;            //Initialize PORTC by clearing output data latches
   	LATC = 0;            //; Alternate method to clear output data latches
   	TRISC = 0x10;           //0001 0000

//Initialize PORT D INPUT
//IN   RD0   成功標(biāo)志                 錄入或登入成功標(biāo)志     
//OUT   RD7   MOT-
   	PORTD = 0;            //Initialize PORTD by clearing output data latches
   	LATD = 0;            //; Alternate method to clear output data latches
   	TRISD = 0x01;           //0000 0001


//Initialize PORT E INPUT
//RE0   VCC_IO   接通  與VCC_6V              高有效
//RE7   VCC_IO2  接通  與VCC_6V              高有效
//RE2   KID電源  接通  與VCC_6V   恩
//RE1   MOT+
//RE3   BUZZ聲音控制 沒有用到
//RE4   鍵盤面板燈
//RE5   鍵盤藍(lán)色燈
//RE6   下拉了  沒有用
   	PORTE = 0;            //Initialize PORTE by clearing output data latches
   	LATE = 0;            //; Alternate method to clear output data latches
   	TRISE = 0x00;           //output



   PORTF = 0;            //Initialize PORTF by clearing output data latches
   LATF = 0;            //; Alternate method to clear output data latches
   ADCON1 = 0x0F;          //設(shè)置F位I/O口
   TRISF = 0xF0;           //PORTF 0-3輸出,4-7輸入
//Initialize PORT G 
//RG0   buzz聲音控制,RG1 指紋RED, RG2 指紋BLUE

   	PORTG = 0;            //Initialize PORTG by clearing output data latches
   	LATG = 0;            //; Alternate method to clear output data latches
   	TRISG = 0x00;           //PORTG 0-4輸出 沒有6,7  5為MCLR


}


void initialize_eeprom()
{
int i,j;
	for(i=0;i<6;i++)
		epprom_write(i,i+1);      		//地址i,寫入i,密碼為123456
	epprom_write(6,confim_key);					//最后一位停止位10
	for(i=0;i<9;i++)
	current_password[i] = epprom_read(i);
	sound_buzzer(4);

	i=0;
	while (current_password[i]!=confim_key&&current_password[i]==epprom_read(i))
	{i++;}
	if (current_password[i]==confim_key && epprom_read(i)==confim_key)
		{
		keyboard_blue=1;
		delay(10000000);

		keyboard_blue=0;
		}
}

void interrupt_handler_high()
{
	INTCONbits.GIE=0;				//高優(yōu)先級(jí)中斷允許
	INTCONbits.PEIE=0;				//低優(yōu)先級(jí)中斷允許
		T0CONbits.TMR0ON =1 ;		//開始計(jì)時(shí)
	delay(1000);
	if(INTCONbits.INT0IF==1)
	{

		TMR0H	= 0;
		TMR0L	= 0;				//計(jì)數(shù)器清零
		vcc_io  = 1;				//低壓+光耦
		vcc_io2 = 1;				//buzz and dsp
		sleep_cycle =	0;		
		delay(100);
			if(pos_close == 1)
				mot_move_open();
			else
				mot_move_close();
		TMR0H	= 0x00;				//開關(guān)門動(dòng)作之后轉(zhuǎn)入睡眠時(shí)間
		TMR0L	= 0;				//計(jì)數(shù)器清零
		sleep_cycle =	2;		
		INTCONbits.INT0IF		=0;
	}
	if(INTCONbits.T0IF==1)
	{
		INTCONbits.T0IF		=0;
		sleep_cycle++;
		if(sleep_cycle>=3)				//設(shè)置睡眠時(shí)間
		{
			sound_buzzer(10);
			sleep_prepare();			//睡眠準(zhǔn)備
			sleep_cycle=0;
			TMR0H	= 0;
			TMR0L	= 0;				//計(jì)數(shù)器清零
			INTCONbits.GIE=1;				//高優(yōu)先級(jí)中斷允許
			INTCONbits.PEIE=1;				//低高優(yōu)先級(jí)中斷允許
			_asm
			sleep
			_endasm
	
		}
	}
		

	INTCONbits.GIE=1;				//高優(yōu)先級(jí)中斷允許
	INTCONbits.PEIE=1;				//低高優(yōu)先級(jí)中斷允許
}


void interrupt_handler_low()
{
int i,j;
	//判斷哪個(gè)中斷,從而進(jìn)入相應(yīng)狀態(tài)

	INTCONbits.PEIE=0;				//低優(yōu)先級(jí)中斷允許
	TMR0H	= 0;
	TMR0L	= 0;				//計(jì)數(shù)器清零
	T0CONbits.TMR0ON =1 ;		//開始計(jì)時(shí)
	sleep_cycle =	0;		
	vcc_io  = 1;				//低壓+光耦
	vcc_io2 = 1;				//buzz and dsp
	delay(100);
	sound_buzzer(1);
	if(INTCON3bits.INT1IF==1)			//RB1 SW2    D
		{
			INTCON3bits.INT1IF=0;
			finger_input();
		}
	else if(INTCON3bits.INT2IF==1)		//RB2  鍵盤開關(guān)
		{
			INTCON3bits.INT2IF=0;
			password_confirm();
		}

	else if(INTCON3bits.INT3IF==1)		//RB3 SW4    N
			{
			INTCON3bits.INT3IF=0;
			password_input();
			}
			
	else if(INTCONbits.RBIF==1)
		{

			INTCONbits.RBIF	=0;			//中斷標(biāo)志清0
			if(force_in)		 //RB5 外部強(qiáng)行闖入
			{
			force_in_alarm();
			}
			if (outkey_finger)	 //RB4  指紋開關(guān)
			finger_confirm();
		}
/*	switch(PORTB)
	{

		case 0x02: 				 //RB1 SW2    D
		{
		finger_input();
		break;
		}

		case 0x04: 				 //RB2  鍵盤開關(guān)
		{
		password_confirm();
		break;
		}

		case 0x08: 				 //RB3 SW4    N
		{
		password_input();
		break;
		}

		case 0x10: 				 //RB4  指紋開關(guān)
		{
		finger_confirm();
		break;
		}
		case 0x20: 				 //RB5 外部強(qiáng)行闖入
		{
			for(i=0 ; i<20; i++)
			{
				if(pos_open == 0)
				sound_buzzer(10);
			}			
			break;
		}
//		case 0x40: 				 //RB6
//		case 0x80: 				 //RB7

	default: 
	//add error
	break;
	}//swich end*/
			INTCON3bits.INT1IF=0;
			INTCON3bits.INT2IF=0;
			INTCON3bits.INT3IF=0;
			INTCONbits.RBIF	=0;			//中斷標(biāo)志清0
	PORTB=PORTB;						//讀B口的值,為變位中斷創(chuàng)造條件*/	
	INTCONbits.GIE=1;				//高優(yōu)先級(jí)中斷允許
	INTCONbits.PEIE=1;				//低優(yōu)先級(jí)中斷允許
}

char password_confirm()
{

	int	password_num=0; 				 //	密碼計(jì)數(shù)
	int i=0;
	keyboard_blue=1;
	while(outkey_keyboard)
	{
		
		if(key_scan()  )
		{
			if(current_key!=confim_key)
			{
				current_password[password_num] = current_key;
				sound_buzzer(1);
				password_num++;
			}
			else
			{
				current_password[password_num] = confim_key;
				password_num=0;
				sound_buzzer(1);
				while (current_password[password_num]!=confim_key
						&&current_password[password_num]==epprom_read(password_num))
					{password_num++;}
				if (current_password[password_num]==confim_key && epprom_read(password_num)==confim_key)
				{
					keyboard_red=1;
					delay(100000000);
					keyboard_red=0;
					keyboard_blue=0;
					password_confirm_times=0;            //重置錯(cuò)誤次數(shù)
					if(pos_close == 1)
						mot_move_open();
					else
						mot_move_close();
							return(1);
				}
				else
					{
					password_confirm_times++; 
					if(password_confirm_times>=2)		//錯(cuò)誤多少次報(bào)警
					for(i=0;i<4;i++)
					sound_buzzer(1);
					keyboard_blue=0;
					return(0);
					}
			}
			delay(10);
			//delay(10000000);
		}		
	}
			delay(10);
		keyboard_blue=0;
		return(0);

}



char password_input()
{
	int i=0,j=0;
	int	password_num=0; 				 //	密碼計(jì)數(shù)	
	keyboard_blue=1;
	while(outkey_keyboard)
	{
		if(key_scan())
		{
			if(current_key!=confim_key)
			{
				current_password[password_num] = current_key;
				sound_buzzer(1);
				password_num++;
			}
			else
			{
				current_password[password_num] = confim_key;
				if(password_num < 9&& password_num > 5)			//6到8位密碼
				{
					for(i=0;i<9;i++)
					epprom_write(i,current_password[i]);
					sound_buzzer(3);				//確認(rèn)正確聲音
					keyboard_red=1;
					delay(100000000);
					keyboard_red=0;
					password_num=0;
					keyboard_blue=0;
					return(1);
				}
				else
				{
					sound_buzzer(10);
					password_num=0;
					keyboard_blue=0;
					return(0);
				}
			}
		}
	}

		keyboard_blue=0;
		return(0);
}



void sleep_prepare()
{
	vcc_io  = 0;				//低壓+光耦
	vcc_io2 = 1;				//buzz and dsp
	vcc_kid = 0;

  	PORTFbits.RF1 = 0;
	PORTFbits.RF2 = 0;
   	PORTFbits.RF3 = 0;

   	keyboard_red = 0;  	
    keyboard_blue= 0;        	
    buzz         = 0;     	
    finger_red   = 0;      	
    finger_blue  = 0;    
	mot_up 		 = 0; 
	mot_down  	 = 0; 

	T0CONbits.TMR0ON =0 ;  //停止計(jì)時(shí)
}


void finger_confirm()
{
finger_blue = finger_blue^1;  
delay(100000);

}

void finger_input()							//指紋輸入
{

  finger_red   = finger_red^1;  
}

void finger_del()							//指紋刪除
{


}

void force_in_alarm()
{
		 int i;
			for(i=0 ; i<20; i++)
			sound_buzzer(10);
				
}


void delay(int delaytime)
{
   while(delaytime)
   delaytime--;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品三级在线看| 国产精品毛片久久久久久久| 成人免费视频国产在线观看| 亚洲成av人片在线观看无码| 国产婷婷色一区二区三区四区| 91久久一区二区| 国产成人亚洲精品青草天美| 日本在线不卡视频| 一区二区三区丝袜| 国产日产精品1区| 日韩欧美一级二级三级| 欧美色图免费看| 91在线观看免费视频| 国产精品一区二区不卡| 美女视频网站久久| 视频一区中文字幕| 亚洲精品大片www| 中文字幕一区二区三区乱码在线| 精品少妇一区二区三区日产乱码 | 久久精品人人做人人综合| 欧美精三区欧美精三区| 色婷婷久久久亚洲一区二区三区| 成人午夜电影网站| 国产精品一区二区你懂的| 久88久久88久久久| 奇米亚洲午夜久久精品| 天天综合网 天天综合色| 一区二区三区在线视频免费| 国产精品高潮呻吟久久| 中文字幕免费一区| 国产日韩欧美麻豆| 久久久久久一级片| 久久午夜老司机| www激情久久| 久久老女人爱爱| 国产三级精品三级在线专区| 精品国产乱码久久久久久图片| 欧美狂野另类xxxxoooo| 欧美高清www午色夜在线视频| 欧美视频一区二区三区四区| 欧美专区在线观看一区| 91国偷自产一区二区三区成为亚洲经典 | 亚洲第一精品在线| 天天综合网 天天综合色| 视频一区二区三区入口| 日韩高清一区在线| 麻豆精品视频在线| 久久er99精品| 国产不卡在线一区| 成人精品在线视频观看| 色综合久久中文综合久久97| 91精品福利视频| 91精品视频网| 久久嫩草精品久久久精品一| 国产日韩欧美高清| 中文字幕亚洲电影| 亚洲国产综合人成综合网站| 午夜精彩视频在线观看不卡| 麻豆免费精品视频| 国产aⅴ综合色| 91香蕉视频mp4| 中文字幕不卡在线观看| 国产又黄又大久久| 99re热这里只有精品免费视频| 久久久综合九色合综国产精品| av资源网一区| 91久久精品一区二区三区| 欧美巨大另类极品videosbest| 欧美一区二区播放| 久久久久国色av免费看影院| 亚洲丝袜美腿综合| 丝袜国产日韩另类美女| 国产精品自在在线| 91麻豆免费观看| 日韩精品一区国产麻豆| 国产精品麻豆一区二区| 午夜不卡在线视频| 国产91综合网| 欧美精品免费视频| 国产精品人妖ts系列视频| 亚洲综合色视频| 国产乱码精品一区二区三区五月婷| 99riav一区二区三区| 欧美电影免费观看高清完整版在线 | 成人av网址在线观看| 欧美性生活久久| 国产亚洲成年网址在线观看| 亚洲夂夂婷婷色拍ww47 | 99久久99久久综合| 日韩亚洲欧美高清| 一区二区在线观看视频在线观看| 美腿丝袜在线亚洲一区| 一本色道久久综合亚洲aⅴ蜜桃| 日韩精品一区二区三区蜜臀 | 成人黄色av网站在线| 欧美高清激情brazzers| 亚洲欧洲性图库| 国产真实乱偷精品视频免| 欧美系列亚洲系列| 国产精品美女久久久久久久久久久 | 国产精品网曝门| 美女www一区二区| 欧美午夜电影在线播放| 中文字幕二三区不卡| 美女爽到高潮91| 69堂精品视频| 亚洲成人tv网| 一本到三区不卡视频| 国产欧美一区二区精品仙草咪| 日本va欧美va精品发布| 在线看日本不卡| 亚洲三级小视频| 国产.精品.日韩.另类.中文.在线.播放| 777久久久精品| 亚洲一区二区3| 一本色道a无线码一区v| 1024成人网| 国产成人免费高清| 久久久精品一品道一区| 韩国v欧美v日本v亚洲v| 欧美人妖巨大在线| 天天综合日日夜夜精品| 欧美午夜视频网站| 依依成人综合视频| 日本乱人伦一区| 一区二区在线观看免费视频播放 | 精品三级在线看| 蜜桃在线一区二区三区| 欧美一级艳片视频免费观看| 亚洲123区在线观看| 欧美日韩国产在线观看| 亚洲第一主播视频| 欧美精品99久久久**| 免费欧美在线视频| 欧美一级搡bbbb搡bbbb| 免费人成精品欧美精品| 日韩美一区二区三区| 国产一区二区三区在线观看精品 | 欧美在线免费观看亚洲| 亚洲综合清纯丝袜自拍| 欧美天堂一区二区三区| 婷婷久久综合九色综合绿巨人 | 在线观看91av| 日本成人在线看| 欧美成人video| 国产激情视频一区二区在线观看| 国产目拍亚洲精品99久久精品| 高清beeg欧美| 亚洲视频你懂的| 欧美性生活大片视频| 免费在线观看日韩欧美| 久久尤物电影视频在线观看| 国产成人精品影视| 1024国产精品| 欧美男生操女生| 国产一区二区主播在线| 国产精品高潮呻吟| 欧美日韩中文精品| 九九精品视频在线看| 国产精品麻豆99久久久久久| 日本伦理一区二区| 久久丁香综合五月国产三级网站| 国产午夜久久久久| 色综合咪咪久久| 男女男精品网站| 国产精品素人视频| 在线免费观看日本一区| 久久精品免费看| ...av二区三区久久精品| 欧美亚洲一区三区| 国内国产精品久久| 亚洲人成在线观看一区二区| 欧美日韩不卡一区二区| 国产成人三级在线观看| 一区二区三区在线观看视频| 欧美一区二区三区人| 成人精品鲁一区一区二区| 亚洲国产日韩av| 久久精品欧美日韩精品| 欧美三级电影在线观看| 国产在线精品不卡| 亚洲成人精品一区| 国产精品你懂的| 欧美一级黄色大片| 91亚洲永久精品| 国产一区二区三区久久悠悠色av| 亚洲人午夜精品天堂一二香蕉| 日韩精品一区二区三区视频播放| 91污片在线观看| 国产乱码精品一品二品| 亚洲国产一区视频| 中文无字幕一区二区三区 | 欧美高清视频一二三区| 不卡av在线网| 国内久久精品视频| 性欧美疯狂xxxxbbbb| 国产精品三级av| 2021国产精品久久精品| 欧美日韩国产123区| 91视频在线观看|