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

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

?? passwordlock.c

?? 開發環境 KEIl 用4*4鍵盤組成0~9,確認,取消,共12個數字按鍵,用6位7段數碼管組成顯示電路,加電后,顯示888888,輸入密碼時,會逐位顯示F,密碼輸入過程中有錯,可以按取消鍵再重新
?? C
字號:
#include "PWLock.h"

/* 鍵消抖延時函數 */
void delay(void)
{
	uchar i;
	for (i=300;i>0;i--);
}

/* 鍵掃描函數 */
uchar keyscan(void)
{
	uchar scancode,tmpcode;
	P1 = 0xf0;			 					// 發全0行掃描碼
	if ((P1&0xf0)!=0xf0)					// 若有鍵按下
	{
		delay();							// 延時去抖動
		if ((P1&0xf0)!=0xf0)				// 延時后再判斷一次,去除抖動影響
		{
			scancode = 0xfe;
			while((scancode&0x10)!=0)		// 逐行掃描
			{
				P1 = scancode;				// 輸出行掃描碼
				if ((P1&0xf0)!=0xf0)		// 本行有鍵按下
				{
					tmpcode = (P1&0xf0)|0x0f;

					/* 返回特征字節碼,為1的位即對應于行和列 */
					return((~scancode)+(~tmpcode));
				}
				else scancode = (scancode<<1)|0x01;		// 行掃描碼左移一位
			}
		}
	}
	return(0);								// 無鍵按下,返回值為0 	
}

/* 定時器0中斷服務子程序,2ms定時動態掃描顯示 */
void time0_int(void) interrupt 1 
{
	/* 重置2ms定時 */
	TH0 = -2000/256;
	TL0 = -2000%256;

	if (showflag==1)
		display();				// 調用顯示函數
}

/* 定時器1中斷服務子程序,50ms*/
void time1_int(void) interrupt 3 
{
	uchar k;
	/* 重置50ms定時 */
	TH1 = -50000/256;
	TL1 = -50000%256;

	if (t1count<10)				
	{
		t1count++;
	}
	else						// 計時到1s
	{
		TR1 = 0;				// 關閉計數器1
		t1count = 0;	
		green = 1;				// 綠燈不亮
		red = 1;				// 紅燈不亮
		showflag = 1;			// 打開數碼管顯示
		digbit = 0x01;			// 從數碼管第1位開始動態顯示
		for (k=0;k<6;k++)		// 顯示888888
			wordbuf[k] = 8;
	}
}

/* 根據共陰極字型編碼表獲取0~9,A~B字型代碼 */
uchar getcode(uchar i)
{
	uchar p;
	switch (i)
	{
		case 0:	 p=0x3f;	break;			/* 0 */
		case 1:	 p=0x06;	break;			/* 1 */
		case 2:	 p=0x5B;	break;			/* 2 */
		case 3:	 p=0x4F;	break;			/* 3 */
		case 4:	 p=0x66;	break;			/* 4 */
		case 5:	 p=0x6D;	break;			/* 5 */
		case 6:	 p=0x7D;	break;			/* 6 */
		case 7:	 p=0x07;	break;			/* 7 */
		case 8:	 p=0x7F;	break;			/* 8 */
		case 9:	 p=0x67;	break;			/* 9 */
		case 10: p=0x77;	break;			/* A */
		case 11: p=0x7C;	break;			/* B */
		case 12: p=0x39;	break;			/* C */
		case 13: p=0x5E;	break;			/* D */
		case 14: p=0x79;	break;			/* E */
		case 15: p=0x71;	break;			/* F */
		default: 			break;
	}
	return(p);
}

/* 顯示函數 */
void display(void)
{
	uchar i;
	switch (digbit)
	{
		case 1:		i=0;	break;
		case 2:		i=1;	break;
		case 4:		i=2;	break;
		case 8:		i=3;	break;
		case 16:	i=4;	break;
		case 32:	i=5;	break;
		default: 	break;
	}  

	P2 = 0x0;						// 關閉顯示
	P0 = getcode(wordbuf[i]);		// 送字型碼
	P2 = digbit;					// 送字位碼
	
	if (digbit<0x20)				// 共6位
		digbit = 2*digbit;			// 左移一位
	else
	    digbit = 0x01;
}

/* 密碼比較函數 */
bit pwcmp(void)
{
	bit flag;
	uchar i;
	for (i=0;i<6;i++)
	{
		if (pw[i]==pwbuf[i])
			flag = 1;
		else
		{
			flag = 0;
			i = 6;
		}
	}
	return(flag);
} 

/* 主程序 */
void main()
{
	uchar j,key;

	P2 = 0x00;							// 關閉數碼管顯示
	
	TMOD = 0x11;						// T0,T1工作方式1

	/* 2ms 定時設置 */
	TH0 = -2000/256;		  // (65536-2000)+1=補碼形式的-2000
	TL0 = -2000%256;

	/* 50ms 定時設置 */
	TH1 = -50000/256;
	TL1 = -50000%256;
	
	/* 啟動計數器0,關閉計數器1 */
	TR0 = 1;
	ET0 = 1;
	TR1 = 0;
	ET1 = 1;
	EA = 1;

	count = 0;						// 初始沒有輸入密碼,計數器設為0
	enterflag = 0;					// 沒有按下確認鍵
	pwflag = 0;						// 密碼標志先置為0
    green = 1;						// 綠燈不亮
	red = 1;						// 紅燈不亮
	
	/* 假設內定密碼為888888 */
	pw[0] = 8;
	pw[1] = 8;
	pw[2] = 8;
	pw[3] = 8;
	pw[4] = 8;
	pw[5] = 8;
	
	digbit = 0x01;					// 從第一位數碼管開始動態掃描

	/* 剛加電時,顯示888888 */
	for (j=0;j<6;j++)
		wordbuf[j] = 8;

	showflag = 1;					// 打開數碼管顯示

  	while(1)
  {	  P1 = 0xf0;
      if ((P1&0xf0)!=0xf0)	//	 有健按下
		{
			key = keyscan();					// 調用鍵盤掃描函數
			switch(key)
	   		{
	      		case 0x11:						// 1行1列,數字0
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F”
						pwbuf[count] = 0;
						count++;
					}
					break;
				case 0x21:						// 1行2列,數字1
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 1;
						count++;
					}
					break;			
				case 0x41:						// 1行3列,數字2
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 2;
						count++;
					}
					break;
	     		case 0x81:						// 1行4列,數字3
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 3;
						count++;
					}
					break;
				case 0x12:						// 2行1列,數字4
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 4;
						count++;
					}
					break;
				case 0x22:						// 2行2列,數字5
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 5;
						count++;
					}
					break;
				case 0x42:						// 2行3列,數字6
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 6;
						count++;
					}
					break;
				case 0x82:						// 2行4列,數字7
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 7;
						count++;
					}
					break;
				case 0x14:						// 3行1列,數字8
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 8;
						count++;
					}
					break;
				case 0x24:						// 3行2列,數字9
					if (count<6)
					{
						wordbuf[count] = 0x0f;	// 對應密碼位上顯示“F"
						pwbuf[count] = 9;
						count++;
					}
					break;
				case 0x44:						// 3行3列,確認鍵
					enterflag = 1;				// 確認鍵按下
					if (count==6) 				// 只有輸入6個密碼后按確認鍵才作密碼比較
						pwflag = pwcmp();
					else						
						pwflag = 0;				// 否則直接pmflag賦0
					break;
				case 0x84:						// 3行4列,取消鍵
					count = 0;					// 密碼計數清零
					for (j=0;j<6;j++)
					{
						wordbuf[j] = 8;			// 數碼管顯示888888
						pwbuf[j] = 0x0f;		// 用FFFFFF清除已經輸入的密碼
					}
					break;
				default:break;
			}
		    while((P1&0xf0)!=0xf0);  //松手檢測
			   
			}
			
			
			if (enterflag==1)					// 如果按下確認鍵
			{
				enterflag = 0; 					// 標志位置回0
				count = 0;						// 密碼位計數器清零
				for (j=0;j<6;j++)
					pwbuf[j] = 0x0f;			// 用FFFFFF清除已經輸入的密碼			
				showflag = 0;					// 關閉數碼管顯示
				TR1 = 1;						// 計數器1開始計數
				t1count = 0;					// 定時器1由50ms累積到1s所用的計數器
				if (pwflag==1)			
					green = 0; 					// 綠燈亮
				else							
					red = 0; 					// 紅燈亮		
			}
		   
	    		 
	}   
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品99久久久| 国产乱人伦精品一区二区在线观看| 国产欧美一区二区三区在线看蜜臀| 国产一区福利在线| 欧美成人女星排名| 欧美肥妇bbw| 一区二区三区欧美在线观看| 国产成人免费在线| 久久精品日产第一区二区三区高清版 | 免费在线观看视频一区| 秋霞成人午夜伦在线观看| 麻豆国产一区二区| 国产麻豆一精品一av一免费 | 精品国产自在久精品国产| 精品国产乱码久久| 国产网站一区二区三区| 欧美国产欧美综合| 亚洲欧美日韩精品久久久久| 亚洲一区精品在线| 久久精品999| 日本道在线观看一区二区| 日韩精品一区二区三区视频播放 | 蜜臀久久99精品久久久画质超高清| 国产91丝袜在线观看| 日韩一区二区三区在线| 一个色综合网站| 国产精品一卡二卡| 久久一区二区三区四区| 日韩高清在线一区| 欧美日韩免费电影| 亚洲免费高清视频在线| 国产精品一卡二卡| 久久精品亚洲一区二区三区浴池 | 洋洋成人永久网站入口| 粉嫩av一区二区三区| 国产亚洲短视频| 成人黄色片在线观看| 亚洲欧美怡红院| 91精品国产免费久久综合| 在线观看一区日韩| 69p69国产精品| 国产一区二区导航在线播放| 亚洲综合一二区| 国产在线视频不卡二| 日韩三级免费观看| 日韩av电影免费观看高清完整版| 国产91对白在线观看九色| 一区二区欧美视频| 国产欧美日本一区视频| 欧美一级理论性理论a| 色综合久久88色综合天天6| 久草精品在线观看| 日欧美一区二区| 一区二区三区欧美| 亚洲天堂中文字幕| 91视视频在线观看入口直接观看www | 色狠狠av一区二区三区| 亚洲精品中文在线影院| 成人一区二区在线观看| 中文字幕制服丝袜一区二区三区| 福利一区二区在线观看| 大白屁股一区二区视频| wwwwww.欧美系列| 国产精品免费看片| 国产99一区视频免费| 久久久国产精品午夜一区ai换脸| 欧美怡红院视频| 亚洲青青青在线视频| 久久久精品国产免大香伊| 中文子幕无线码一区tr| 色婷婷久久一区二区三区麻豆| 国产精品三级视频| 欧美三级韩国三级日本三斤| 国产色综合一区| a在线欧美一区| 波多野结衣一区二区三区| 波多野结衣在线一区| 91影院在线观看| 欧美丰满嫩嫩电影| 欧美sm极限捆绑bd| 亚洲人妖av一区二区| 一级日本不卡的影视| 久久爱www久久做| www.亚洲激情.com| 午夜视频久久久久久| 91成人看片片| 欧美性三三影院| 欧美三级中文字幕在线观看| 99免费精品视频| 色噜噜偷拍精品综合在线| 99久久精品情趣| av一区二区三区| 欧美熟乱第一页| 精品电影一区二区| 中文字幕亚洲一区二区av在线| 国产日韩av一区| 欧美日韩国产综合一区二区| 免费一级片91| 亚洲精品美国一| 国产精品欧美极品| 久久久久99精品国产片| 欧美日韩国产a| 在线精品亚洲一区二区不卡| 国产传媒一区在线| 成人免费毛片片v| 色婷婷精品大视频在线蜜桃视频| 欧美性猛交xxxx乱大交退制版| 欧美乱熟臀69xxxxxx| 日本一区二区综合亚洲| 日韩国产欧美在线播放| 成人国产精品免费| 欧美tk—视频vk| 亚洲综合自拍偷拍| 成人性视频免费网站| 欧美老女人第四色| 亚洲日本成人在线观看| 狠狠色综合播放一区二区| 在线日韩国产精品| 亚洲欧美区自拍先锋| 国产精品一二三区在线| 欧美二区三区的天堂| 亚洲欧美区自拍先锋| 国产成人精品免费网站| 日韩欧美一区二区久久婷婷| 亚洲国产一区视频| 在线影院国内精品| 香蕉久久夜色精品国产使用方法| 在线视频一区二区三区| 亚洲欧美日韩国产综合| 99re这里只有精品6| 亚洲欧洲日韩在线| 91福利在线观看| 天天综合色天天| 亚洲精品一区二区三区蜜桃下载 | 国产人成亚洲第一网站在线播放| 蜜臀av一区二区| 国产色产综合产在线视频| 国产精品香蕉一区二区三区| 欧美成人精精品一区二区频| 麻豆成人免费电影| 国产欧美在线观看一区| 日韩电影在线一区| 五月天中文字幕一区二区| 91官网在线免费观看| 一区二区三区色| 欧美人牲a欧美精品| 日韩高清不卡在线| 色综合天天综合狠狠| 亚洲女爱视频在线| 欧美亚洲高清一区二区三区不卡| 亚洲综合在线免费观看| 欧美亚洲动漫另类| 狠狠色狠狠色综合日日91app| 精品国产99国产精品| 久久国产剧场电影| 国产精品素人视频| 欧美自拍偷拍一区| 精品一区二区成人精品| 久久精品日韩一区二区三区| 99综合影院在线| 亚洲午夜免费电影| 国产午夜精品理论片a级大结局 | 欧美肥胖老妇做爰| 亚洲天堂2014| 在线一区二区三区四区五区| 欧美久久久久久久久| 亚洲第一主播视频| 色哟哟国产精品| 亚洲欧美激情一区二区| 在线视频一区二区三区| 亚洲一区二区视频| 欧美va亚洲va香蕉在线| 成人久久18免费网站麻豆 | 精品中文字幕一区二区| 日韩va欧美va亚洲va久久| 这里只有精品免费| 亚洲精品大片www| 在线精品视频一区二区| 国产精品久久久久影院亚瑟| 国产成人综合在线| 麻豆精品视频在线观看视频| 欧美大片在线观看一区二区| 久久精品国产在热久久| 精品久久久久久久久久久院品网| 粉嫩高潮美女一区二区三区| 国内精品免费**视频| 男女男精品视频网| 毛片不卡一区二区| 日韩影院在线观看| 久久国产尿小便嘘嘘尿| 日本不卡1234视频| 精品在线观看视频| 蜜臀a∨国产成人精品| 九九国产精品视频| 天天亚洲美女在线视频| 日韩精品成人一区二区在线| 日韩不卡手机在线v区| 久久精品国产亚洲a| 日韩精品视频网站| 久久国产成人午夜av影院|