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

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

?? 0.0-6.0v ok.txt

?? 使用89c52單片機
?? TXT
字號:
#ifndef	_PWLOCK_H 		// 防止PWLock.h被重復引用

#define	_PWLOCK_H

#include <reg52.h>
#include <absacc.h>
#include <stdio.h>	
#include <math.h>

#define uchar unsigned char
#define uint unsigned int

uchar px;
uint a;
uint b;
uint c;                          //為0XFF
uint i;
uchar digbit;                    // 字位
uchar dy;				
uchar wordbuf[2];				// 字型碼緩沖區
uchar count;					// 位計數
uchar pwbuf[2];					// 輸入數字存儲區
bit enterflag;					// 確認鍵按下與否標志
bit lh;
bit pwflag;						// 密碼正確與否標志
bit showflag;					// 數碼管顯示與否標志

sbit P20=P2^0;
sbit P21=P2^1;

void display(void);				// 顯示函數

#endif

//#include "PWLock.h"

/* 鍵消抖延時函數 */
void delay(void)
{
	uint i;
	for (i=4000;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;

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


/* 根據共陰極字型編碼表獲取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 */
		default: 			break;
	}
	return(p);
}

void Display(void)   //LED數值顯示
{ 
 switch (px%2)
  {
case 0:
        P20 = 1;P21 = 0; P0 = getcode(wordbuf[0]);break;
case 1:
        P21 = 1;P20 = 0; P0 = getcode(wordbuf[1]);break;
default:  return;
 }
}

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

	P2 = 0x0;						// 關閉顯示
//	P20=0;
//	P21=0;
	P0 = getcode(wordbuf[i]);		// 送字型碼
	P2=digbit;                    	// 送字位碼
	digbit=1;
	if(digbit==1)
    {	
    digbit=2;
	P20 = 1;				
	P21 = 0;
    }
	digbit=2;
	P21 = 1;
	P20 = 0;
	if (digbit<0x02)				// 共2位
		digbit = digbit*2;			// 左移一位
	else
	    digbit = 0x01;
}
*/
/* 主程序 */
void main()
{
	uchar j,key;
    uint temp;

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

	/* 2ms 定時設置 */
	TH0 = -2000/256;
	TL0 = 2000%256;
	
	/* 啟動計數器0,關閉計數器1 */
	TR0 = 1;
	ET0 = 1;
	TR1 = 0;
	ET1 = 1;
	EA = 1;

	count = 0;						// 初始計數器設為0
	enterflag = 0;					// 沒有按下確認鍵
	lh = 0;
	pwflag = 0;						// 標志先置為0
	
	digbit = 0x01;					// 從第一位數碼管開始動態掃描

	/* 剛加電時,bu顯示*/
	for (j=0;j<2;j++)
		wordbuf[j] = 17;

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

  	while(1)

    {
		key = keyscan();					// 調用鍵盤掃描函數
        switch(key)
   		{
      		case 0x11:						// 1行1列,數字1
				if (count<2)
				{
					wordbuf[count] = 1;	// 對應位上顯示“1”
					pwbuf[count] = 1;
					if(count==0)
                    {a=1;
                    }
					if(count==1)
                    {b=1;
                    }
					count++;
					
				}
				break;
			case 0x21:						// 1行2列,數字3
				if (count<2)
				{
					wordbuf[count] = 2;	// 對應位上顯示“2"
					pwbuf[count] = 2;
					if(count==0)
                    {a=2;
                    }	
					if(count==1)
                    {b=2;
                    }
					count++;
				}
				break;			
			case 0x41:						// 1行3列,數字3
				if (count<2)
				{
					wordbuf[count] = 3;	// 對應位上顯示“3"
					pwbuf[count] = 3;
					if(count==0)
                    {a=3;
                    }
					if(count==1)
                    {b=3;
                    }
					count++;
				}
				break;
    
			case 0x12:						// 2行1列,數字4
				if (count<2)
				{
					wordbuf[count] = 4;	// 對應位上顯示“4"
					pwbuf[count] = 4;
					if(count==0)
                    {a=4;
                    }	
					if(count==1)
                    {b=4;
                    }
					count++;
				}
				break;
			case 0x22:						// 2行2列,數字5
				if (count<2)
				{
					wordbuf[count] = 5;	// 對應位上顯示“5"
					pwbuf[count] = 5;
					if(count==0)
                    {a=5;
                    }
					if(count==1)
                    {b=5;
                    }
					count++;
				}
				break;
			case 0x42:						// 2行3列,數字6
				if (count<2)
				{
					wordbuf[count] = 6;	// 對應位上顯示“6"
					pwbuf[count] = 6;
			    	if(count==0)
                    {a=6;
                    }	
					if(count==1)
                    {b=6;
                    }
					count++;
				}
				break;
	
			case 0x14:						// 3行1列,數字7
				if (count<2)
				{
					wordbuf[count] = 7;	// 對應位上顯示“7"
					pwbuf[count] = 7;
					if(count==0)
                    {a=7;
                    }
					if(count==1)
                    {b=7;
                    }
					count++;
				}
				break;
			case 0x24:						// 3行2列,數字8
				if (count<2)
				{
					wordbuf[count] = 8;	// 對應位上顯示“8"
					pwbuf[count] = 8;
					if(count==0)
                    {a=8;
                    }
					if(count==1)
                    {b=8;
                    }
					count++;
				}
				break;
			case 0x44:						// 3行3列,數字9
				if (count<2)
				{
					wordbuf[count] = 9;	// 對應位上顯示“9"
					pwbuf[count] = 9;
					if(count==0)
                    {a=9;
                    }	
					if(count==1)
                    {b=9;
                    }
					count++;
				}
				break;	
		
			 case 0x18:						// 4行1列,數字*
				count = 0;
				P3=0;
				px=0;					// 顯示清零
				for (j=0;j<2;j++)
				{
					wordbuf[j] = 17;			// 數碼管不顯示
					pwbuf[j] = 0;		// 用FFFFFF清除已經輸入的密碼
				}
				break;	
			case 0x28:              	// 4行2列,數字0
				if (count<2)
				{
					wordbuf[count] = 0;	// 對應位上顯示“0"
					pwbuf[count] = 0;
					if(count==0)
                    {a=0;
                    
                    }	
					if(count==1)
                    {b=0;
                    }
					count++;
				}
				break;
			case 0x48:						// 4行3列,數字#
				 enterflag = 1;				// 確認鍵按下	
				 if (count==2) 				// 只有輸入2個數后按確認鍵才有效輸出
			    	pwflag = 1;      
				break;
		
			default:break;
		}

		if (enterflag==1)					// 如果按下確認鍵
		{
			enterflag = 0; 					// 標志位置回0
			count = 0;                      // 計數器清零
			c=0xff/6;						
			if (pwflag==1)			
            {
             P3=a*c+b*c/10+12*c/100;
             temp=a*c+b*c/10+12*c/100;
               if(temp>=0xff)
               {
                  P3=0xff;
               }
            }
            				
		}
	}    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91色综合久久免费分享| 亚洲一二三四区不卡| 日韩美女一区二区三区四区| 精品视频999| 欧美色图一区二区三区| 欧美亚洲高清一区| 欧美一区二区三区视频在线观看 | 精品三级av在线| 欧美一区二区三区喷汁尤物| 91麻豆精品国产| 日韩免费视频一区二区| www国产成人免费观看视频 深夜成人网| 日韩精品在线一区二区| wwww国产精品欧美| 成人免费在线视频| 日本人妖一区二区| 国产成人综合在线| 色综合久久久久综合99| 欧美日韩国产首页| 久久网站最新地址| 中文字幕一区二区三区在线播放| 一区二区三区在线观看网站| 亚洲成人综合在线| 激情另类小说区图片区视频区| 国产精品系列在线观看| 91九色02白丝porn| 91精品在线观看入口| 国产欧美日韩另类视频免费观看| 亚洲人成精品久久久久久| 视频一区二区中文字幕| 国产精品资源在线看| av综合在线播放| 91精品国产色综合久久不卡电影 | 国产高清成人在线| 欧美视频中文字幕| 日韩欧美一区电影| 国产精品不卡一区| 久久精品国产精品亚洲红杏| 成人免费视频一区| 91精品国产入口| 中文字幕在线不卡视频| 蜜桃精品视频在线| 在线亚洲高清视频| 中文字幕免费在线观看视频一区| 亚洲国产视频网站| 成人美女在线视频| 精品三级在线观看| 天天亚洲美女在线视频| 99国产精品99久久久久久| 欧美一区午夜视频在线观看| 综合久久国产九一剧情麻豆| 久久99精品久久只有精品| 色狠狠色狠狠综合| 国产精品美女www爽爽爽| 美女久久久精品| 欧美主播一区二区三区| 日韩一区有码在线| 处破女av一区二区| 精品av久久707| 丝袜脚交一区二区| 欧美四级电影网| 一区二区三区久久久| 99久久婷婷国产综合精品| 久久久久国产精品免费免费搜索| 视频在线观看一区| 精品视频一区三区九区| 亚洲一卡二卡三卡四卡| 日本精品一区二区三区四区的功能| 国产日韩欧美激情| 免费视频一区二区| 日韩欧美国产一区二区在线播放| 欧美aaa在线| 91精品午夜视频| 琪琪一区二区三区| 日韩欧美中文字幕精品| 日韩av一区二区在线影视| 欧美日韩一区二区三区视频| 午夜久久电影网| 欧美一区永久视频免费观看| 美女视频一区二区| 精品免费一区二区三区| 韩国女主播一区二区三区| 精品国产乱码久久久久久老虎| 免费不卡在线视频| 久久影院午夜论| jiyouzz国产精品久久| 亚洲人成精品久久久久| 欧美主播一区二区三区美女| 石原莉奈在线亚洲三区| 91精品在线一区二区| 国内精品视频666| 久久综合视频网| 成人午夜av在线| 亚洲女厕所小便bbb| 欧美亚洲日本国产| 精品一区二区三区的国产在线播放| 久久综合国产精品| 99久久精品国产精品久久| 亚洲国产精品久久艾草纯爱| 制服丝袜在线91| 国产91丝袜在线18| 一区二区三区精品| 精品久久久久久无| 91在线观看视频| 日韩精品一二三区| 国产精品伦一区| 欧美日韩在线不卡| 国产激情一区二区三区| 一区二区三区日韩精品视频| 日韩午夜精品视频| 不卡的av电影| 美女视频黄久久| 亚洲人成精品久久久久| 精品人在线二区三区| 99久久国产综合精品女不卡| 午夜成人免费电影| 国产精品福利影院| 日韩一区二区三区在线观看| 97se亚洲国产综合自在线不卡 | 欧美日韩一本到| 国内精品第一页| 亚洲午夜私人影院| 久久精品水蜜桃av综合天堂| 欧美亚洲一区二区三区四区| 国产成人av电影在线| 午夜久久久久久电影| 中文字幕日本不卡| 26uuuu精品一区二区| 欧美日本在线视频| 欧洲精品一区二区三区在线观看| 久久成人免费网站| 一区二区在线观看av| 日本一区二区电影| 精品1区2区在线观看| 欧美二区在线观看| 91在线云播放| 福利一区福利二区| 毛片一区二区三区| 日本美女一区二区三区| 亚洲成人黄色小说| 亚洲欧美激情小说另类| 国产精品久久久久影院亚瑟 | 国产亚洲欧洲997久久综合| 欧美日本在线一区| 欧美天堂一区二区三区| 成人免费黄色大片| 国产一区二区美女| 日本亚洲最大的色成网站www| 亚洲人成网站色在线观看| 国产精品麻豆网站| 国产精品视频免费| 国产精品第五页| 日韩一级片网站| 欧美精品一二三四| 欧美区一区二区三区| 欧美日韩精品三区| 5858s免费视频成人| 欧美一区二区成人6969| 3atv在线一区二区三区| 欧美一区二区人人喊爽| 6080日韩午夜伦伦午夜伦| 日韩一区二区在线观看视频| 亚洲精品在线观| 欧美国产精品一区二区| 亚洲免费观看高清完整版在线观看熊| 日韩美女视频19| 亚洲综合在线免费观看| 亚洲一区二区三区视频在线播放| 亚洲一区二区精品久久av| 天堂影院一区二区| 久久国产精品免费| 国产99精品国产| 94色蜜桃网一区二区三区| 欧美区一区二区三区| 精品理论电影在线| 亚洲国产成人一区二区三区| 亚洲伦理在线精品| 天天做天天摸天天爽国产一区 | 国产精品一区二区91| 久久99国内精品| 成人深夜在线观看| 欧美亚州韩日在线看免费版国语版| 欧美日韩精品一区二区三区蜜桃| 欧美成人乱码一区二区三区| 国产精品色哟哟| 亚洲成人av电影| 国产传媒欧美日韩成人| 91视频.com| 精品国产免费人成在线观看| 国产精品人人做人人爽人人添| 亚洲成a人片在线观看中文| 国产一区二区精品在线观看| 色哟哟日韩精品| 久久一区二区三区国产精品| 亚洲电影视频在线| 国产成人鲁色资源国产91色综| 欧美三级电影网站| 国产精品色在线观看| 奇米一区二区三区| 91激情五月电影|