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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? password.c

?? 在單片機(jī)的產(chǎn)品設(shè)計(jì)中
?? C
字號(hào):
#include<avr/io.h>
#include<avr/interrupt.h>
#include<avr/pgmspace.h>
#define PRG_RDB(addr)       pgm_read_byte(addr)
#include"right.h"
#include"ding.h"
#include"input.h"
#include"again.h"#include"succeed.h"
#include"wrong.h"

#define PPI_1_PA (unsigned char *)0x6000
#define PPI_1_PB (unsigned char *)0x6001
#define PPI_1_PC (unsigned char *)0x6002
#define PPI_1_CT (unsigned char *)0x6003
#define TLCD_CTRL (unsigned char *)0x7000
#define TLCD_DATA (unsigned char *)0x7001

unsigned char *lcd_data,*lcd_control,F_Pass=0;
unsigned char *ppi_ctrl,*key,F_Update=0,Flag=1;
unsigned int i=0,cnt=0;
unsigned int G_Password[6]={1,2,3,4,5,6};
unsigned int G_Password_Get[6];
unsigned int Update_Password[6];
volatile const char string_data0[]="Password Right  ";
volatile const char string_data1[]="Password Wrong  ";
volatile const char string_data2[]="Quit clear      ";
volatile const char string_data3[]="Password Updated";
volatile const char string_data4[]="Input Wrong     ";
volatile const char string_data6[]="Input Password  ";
volatile const char string_data5[]="Input Again     ";
volatile const char string_data7[]="operation wrong ";
volatile const char string_data8[]="Welcome         ";

unsigned char key_scan(void);
void delay(int d1,int d2);
void initialize_ppi(void);
void initialize_text_lcd(void);
void lcd_control_wait(void);
void lcd_data_wait(void);
void display(unsigned char in);
unsigned int Com_Password(unsigned int *a,unsigned int *b);
void F_numLED_Status(unsigned int temp);
void print_message(char *message);
void music(unsigned char __attribute__ ((progmem)) *snd_data,unsigned long int n);
unsigned char EEPROM_read(unsigned int uiAddress);
void EEPROM_write(unsigned int uiAddress, unsigned char ucData);

int main(void)
{
  unsigned char in,k;
  MCUCR=(1<<SRE);
  initialize_ppi();
  initialize_text_lcd(); 
  F_numLED_Status(0);
  print_message((char *)string_data8);	
  if(EEPROM_read(0x00f0)==1) 
  {
  for(k=0;k<6;k++)
  G_Password[k]=EEPROM_read(0x00f1+k);
  }
  do{
  delay(1000,700);
  in=key_scan();
  if(in)
      display(in);
    }while(1);	
	
}

unsigned char key_scan(void)
{
  unsigned char save_low,save_high;
  *ppi_ctrl=0x91;
  *key=0xf0;
  delay(10,10);
  save_low=*key&0x0f;
  *ppi_ctrl=0x90;
  *key=0x00;
  if(save_low){
  *ppi_ctrl=0x98;
  *key=0x0f;
  delay(10,10);
  save_high=*key&0xf0;
  *ppi_ctrl=0x90;
  *key=0x00;
  if(!save_high)
     return 0;
	 save_high |=save_low;
	 return save_high;
     }
	 return 0;
}

void display(unsigned char in)
{
  unsigned char a=11,j,k;
  switch(in){
       case 0x11:a=0x01;
	              break;
		case 0x21:a=0x02;
		          break;
	    case 0x41:a=0x03;
	              break;
		case 0x81://鍵入 A	表示顯示當(dāng)前密碼
		   if(F_Update==0){
    		if(F_Pass==1) {
			*lcd_control=0x80;
	        lcd_control_wait();
	       for(i=0;i<6;i++){
	        *lcd_data=G_Password[i]+'0';
	         lcd_data_wait();
	         }
		}
			   
    		else F_numLED_Status(2);}
			else{
			    print_message((char *)string_data7);
				music(snd_data,1976);
				}
	              break;
		 case 0x12:a=0x04;
	              break;
         case 0x22:a=0x05;
	              break;
		case 0x42:a=0x06;
	              break;
		case 0x82:
		     if(F_Pass==1){
		        F_Update=1;
				*lcd_control=0x01;
                lcd_control_wait();
				print_message((char *)string_data6);
				 music(input,10338);
				}
				else
    			    F_numLED_Status(2);	
    			    break;
		case 0x14:a=0x07;
	              break;
		case 0x24:a=0x08;
	              break;
		case 0x44:a=0x09;
	              break;
		case 0x84:
		        F_Pass = 0;
				F_Update=0;
    			F_numLED_Status(2);
	              break;
		case 0x18://鍵入 *	保存密碼
				if(Flag==1&&F_Update==1)			//若處于"開(kāi)門(mén)"狀態(tài),則可保存密碼(更新密碼)
    			{
				    Flag=0;
					*lcd_control=0x01;
                    lcd_control_wait();
					print_message((char *)string_data5);
					 music(again,11238);
    				}
    			else if(Flag==0&&F_Update==1)
    			{
				    Flag=1;
					j = Com_Password((unsigned int *)Update_Password,(unsigned int *)G_Password_Get);		//比效密碼
    			   if(j==1)				//返回值為1則表示通過(guò)對(duì)比
    			     {
				       for(i=0;i<6;i++){
	  		           G_Password[i] = G_Password_Get[i];	//保存新的密碼
				       EEPROM_write(0x00f1+i,G_Password_Get[i]);
				       EEPROM_write(0x00f0,1);
				    }
    				  F_numLED_Status(0);
					  print_message((char *)string_data3);
					  F_Update=0;
					  music(succeed,26632);
    				  }				
    			  else
    			  {
    				*lcd_control=0x01;
                    lcd_control_wait();
					print_message((char *)string_data4);
					F_Update=0;
					music(snd_data,1976);
					}
			}
			else{
			    *lcd_control=0x01;
                lcd_control_wait();
			    print_message((char *)string_data7);
				music(wrong,7667);
				}
	              break;
		case 0x28:a=0x00;
	              break;
		case 0x48://鍵入 #	表示顯示清零
    			if(F_Update==0)
				F_numLED_Status(0);		//顯示清零
				else{
			    print_message((char *)string_data7);
				music(snd_data,1976);
				}
	              break;
		case 0x88:		//鍵入 D	表示密碼輸入確認(rèn),對(duì)比輸入的密碼是否正確
    			if(F_Update==0){
				j = Com_Password((unsigned int *)G_Password,(unsigned int *)G_Password_Get);		//比效密碼
    			if(j==1)				//返回值為1則表示通過(guò)對(duì)比
    			{
    				F_Pass = 1;			//置當(dāng)前狀態(tài)為"開(kāi)門(mén)"
    				F_numLED_Status(1);	//改變顯示 ======
       			}				
    			else
    			{
    				F_Pass = 0;
    				F_numLED_Status(2);
    				}
				}
				else{
				
			    print_message((char *)string_data7);
				music(snd_data,1976);
				}
			    break;
		default:
	              break;
		}
	if(a>=0&&a<10)
	{
	  if(i>=6){
	  for(k=0;k<6;k++)
	  	{
	  	   G_Password_Get[k]='*';
	  	}
	      *lcd_control=0x01;
          lcd_control_wait();
	     *lcd_control=0x80;
		 lcd_control_wait();
		 i=0;
		 }
	i++;
  if(F_Update==0){	
	*lcd_data='*';
	lcd_data_wait();
	G_Password_Get[i-1]=a;}
   else  {
   *lcd_data=a+'0';
	lcd_data_wait();
	if(Flag==1)
	Update_Password[i-1]=a;
	else
	G_Password_Get[i-1]=a;}
  }
}

void initialize_ppi(void)
{
 ppi_ctrl=PPI_1_CT;
 key=PPI_1_PC;
*ppi_ctrl=0x90;
*key=0x00;
}

void delay(int d1,int d2)
{
   int i,j;
   for(i=0;i<d1;i++)
   {
     for(j=0;j<d2;j++);
   }
}

void initialize_text_lcd(void)
{
  lcd_control=TLCD_CTRL;
  lcd_data=TLCD_DATA;
  lcd_control_wait();
  *lcd_control=0x38;
  lcd_control_wait();
    *lcd_control=0x02;
  lcd_control_wait();
  *lcd_control=0x01;
  lcd_control_wait();
  *lcd_control=0x06;
  lcd_control_wait();
  *lcd_control=0x0f;
  lcd_control_wait();
}
void lcd_control_wait(void)
{
  delay(1000,100);
}
void lcd_data_wait(void)
{
  delay(1000,10);
}
unsigned int Com_Password(unsigned int *a,unsigned int *b)
{
	unsigned int uiBack=0,i;

	for(i=0;i<6;i++)
	{
		if(a[i]!=b[i]) break;
	}
	if(i==6) uiBack = 1;
	else uiBack = 0;
	return uiBack;
}
void F_numLED_Status(unsigned int temp)
{
	unsigned char b;
	switch(temp)
	{
		case 0:
			b= '0';
			break;
		case 1:
		    b= '=';
			break;
		case 2:
			 b='-';
			break;
		default:
			break;
	}
	*lcd_control=0x80;
	lcd_control_wait();
	for(i=0;i<6;i++){
	  *lcd_data=b;
	  lcd_data_wait();
	}
	if(b=='=')
	 {print_message((char *)string_data0);
	 music(right,22427);}
	else if(b=='-'){
	 print_message((char *)string_data1);
	  music(snd_data,1976);
	 }
	else
	 print_message((char *)string_data2);	
}
void print_message(char *message)
{
		 *lcd_control=0xc0;
		 lcd_control_wait();
		 for(i=0;i<16;i++){
		 *lcd_data=message[i];
		 lcd_data_wait();}
}
void music(unsigned char __attribute__ ((progmem)) *snd_data,unsigned long int n)
{
    unsigned char *ppi_pb,*ppi_ctrl;
	
	MCUCR|=(1<<SRE);
	ppi_ctrl=PPI_1_CT;
	ppi_pb=PPI_1_PB;
	*ppi_ctrl=0x80;
	for(cnt=0;cnt<=n;cnt++)
	   {*ppi_pb=PRG_RDB(&snd_data[cnt]);
	     delay(10,40);}
}
void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
{
while(EECR & (1<<EEWE));/* 等待上一次寫(xiě)操作結(jié)束 */
EEAR = uiAddress;/* 設(shè)置地址和數(shù)據(jù)寄存器 */
EEDR = ucData;
EECR |= (1<<EEMWE);/* 置位EEMWE */
EECR |= (1<<EEWE);/* 置位EEWE以啟動(dòng)寫(xiě)操作E */
}
unsigned char EEPROM_read(unsigned int uiAddress)
{
while(EECR & (1<<EEWE));/* 等待上一次寫(xiě)操作結(jié)束 */
EEAR = uiAddress;/* 設(shè)置地址寄存器 */
EECR |= (1<<EERE);/* 設(shè)置EERE以啟動(dòng)讀操作 */
return EEDR;/* 自數(shù)據(jù)寄存器返回?cái)?shù)據(jù) */
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产片一区二区| 开心九九激情九九欧美日韩精美视频电影| 26uuu久久天堂性欧美| 欧美日韩国产在线播放网站| 丰满少妇在线播放bd日韩电影| 91小视频免费观看| 欧美群妇大交群中文字幕| 99国产精品久久久久久久久久 | 亚洲成人免费看| 亚洲一区二区三区中文字幕| 一区二区久久久久久| 亚洲中国最大av网站| 亚洲成av人综合在线观看| 午夜久久久影院| 麻豆精品在线看| 国产一区欧美二区| 丁香激情综合国产| 色综合久久88色综合天天免费| 91麻豆福利精品推荐| 欧美三电影在线| 日韩免费电影网站| 久久久精品免费网站| 国产精品久久久久久久岛一牛影视 | 亚洲精品中文字幕乱码三区| 亚洲美女视频在线观看| 亚洲第一av色| 国内偷窥港台综合视频在线播放| 国产精品一卡二卡在线观看| 成人免费毛片app| 91久久精品日日躁夜夜躁欧美| 51精品秘密在线观看| 久久这里都是精品| 亚洲丝袜制服诱惑| 午夜精品久久久久影视| 韩国理伦片一区二区三区在线播放| 国产91精品精华液一区二区三区| 91美女在线视频| 日韩一区二区免费电影| 国产精品视频免费| 午夜精品福利一区二区三区av| 久久精品二区亚洲w码| 99久久精品免费看| 欧美日韩国产电影| 亚洲国产岛国毛片在线| 午夜在线成人av| 国产激情一区二区三区桃花岛亚洲| 91视频国产观看| 欧美一区二区精品在线| 国产精品萝li| 日本高清成人免费播放| 欧美丰满嫩嫩电影| 国产精品你懂的在线| 日韩专区欧美专区| www.欧美色图| 日韩欧美中文字幕一区| 综合久久给合久久狠狠狠97色| 日本欧美肥老太交大片| 9色porny自拍视频一区二区| 7777精品久久久大香线蕉 | 日韩和欧美一区二区| 国产成人亚洲综合色影视| 欧美日本一区二区| 国产精品黄色在线观看| 蜜桃一区二区三区在线| 91毛片在线观看| 久久久久久97三级| 日本不卡一二三| 色94色欧美sute亚洲线路二 | 午夜婷婷国产麻豆精品| 国产精品一二三区在线| 欧美日韩国产美女| 亚洲天堂成人在线观看| 国产伦精品一区二区三区视频青涩 | 色噜噜狠狠成人网p站| 精品国免费一区二区三区| 午夜精品一区在线观看| 色哟哟亚洲精品| 欧美高清在线精品一区| 精品在线一区二区| 欧美精品久久久久久久久老牛影院| 亚洲欧美成aⅴ人在线观看 | 久久久久久久精| 欧美96一区二区免费视频| 在线免费观看日本欧美| 亚洲色图在线视频| 成人午夜视频在线观看| www成人在线观看| 免费看精品久久片| 555www色欧美视频| 天天影视涩香欲综合网| 在线看不卡av| 亚洲精品一二三区| 波多野结衣中文一区| 日本一区二区三区在线观看| 国产最新精品精品你懂的| 精品精品国产高清一毛片一天堂| 日韩电影一二三区| 久久久精品一品道一区| 国产一区二区三区四区五区入口| 日韩精品中文字幕一区| 久久激情五月激情| 日韩精品一区二区在线观看| 蜜桃视频在线一区| 精品久久久久久久久久久久久久久久久| 日韩精品久久理论片| 欧美肥妇free| 看电视剧不卡顿的网站| 欧美电视剧在线看免费| 国产麻豆欧美日韩一区| 久久久国产精华| 国产成人亚洲综合a∨婷婷 | 亚洲在线视频网站| 在线观看欧美精品| 亚洲高清免费观看| 欧美精品xxxxbbbb| 另类欧美日韩国产在线| 久久理论电影网| 从欧美一区二区三区| 成人免费在线观看入口| 一本大道久久精品懂色aⅴ| 亚洲综合色丁香婷婷六月图片| 欧美在线视频你懂得| 天天操天天色综合| 精品少妇一区二区三区日产乱码| 国产乱色国产精品免费视频| 中文字幕中文乱码欧美一区二区 | 2022国产精品视频| 成人精品免费看| 亚洲乱码精品一二三四区日韩在线| 91国偷自产一区二区使用方法| 亚洲丶国产丶欧美一区二区三区| 欧美一区二区三区啪啪| 国产一区二区三区不卡在线观看| 国产农村妇女毛片精品久久麻豆| 一本到不卡免费一区二区| 天天综合天天综合色| 久久久久国产一区二区三区四区| 99re成人精品视频| 午夜久久久久久久久| 久久综合久久鬼色| 色婷婷亚洲一区二区三区| 日产国产欧美视频一区精品| 国产日韩欧美高清| 欧美日韩在线观看一区二区 | 美国十次综合导航| 国产精品精品国产色婷婷| 欧美老肥妇做.爰bbww视频| 国内不卡的二区三区中文字幕| 综合久久久久久| 欧美成人精品二区三区99精品| 成人综合婷婷国产精品久久| 亚洲成人综合视频| 欧美激情在线观看视频免费| 欧美日韩一区视频| 成人手机在线视频| 五月婷婷色综合| 国产精品麻豆久久久| 日韩视频免费观看高清完整版 | 国产毛片精品国产一区二区三区| 亚洲欧美色图小说| 亚洲精品一线二线三线无人区| 成人a区在线观看| 另类综合日韩欧美亚洲| 一区二区三区影院| 久久精品视频免费观看| 欧美日本一区二区三区四区| proumb性欧美在线观看| 久久成人免费网| 亚洲国产日日夜夜| 国产精品丝袜在线| 日韩欧美亚洲国产另类| 在线一区二区三区| 国产成人在线看| 精油按摩中文字幕久久| 亚洲一区二区欧美激情| 国产精品高潮呻吟| 久久视频一区二区| 日韩一区二区三区四区 | 国产午夜精品一区二区三区嫩草 | 欧美日本免费一区二区三区| 91影院在线观看| 国产成人精品亚洲777人妖| 日本在线播放一区二区三区| 一区二区三区鲁丝不卡| 中文字幕一区免费在线观看 | 国产精品一区二区久久精品爱涩| 日韩专区中文字幕一区二区| 亚洲精品国产精品乱码不99 | 国产精品资源在线看| 麻豆中文一区二区| 天天影视网天天综合色在线播放| 亚洲乱码国产乱码精品精可以看 | 波多野结衣亚洲| 成人在线综合网| 国产一区二区不卡在线| 国产一区美女在线| 国精产品一区一区三区mba桃花| 免费国产亚洲视频| 免费成人av资源网| 蜜臀av性久久久久蜜臀aⅴ四虎|