<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > AVR單片機密碼鎖程序

AVR單片機密碼鎖程序

作者: 時(shí)間:2012-08-02 來(lái)源:網(wǎng)絡(luò ) 收藏

switch(key)//確定有按鍵按下了就判斷下到底是哪個(gè)值
{

case 0xEE:qing=0;
key=0x0;
break;
case 0xDE:qing1=1;
key=0x1;
break;
case 0xBE:qing2=2;
key=0x2;
break;
case 0x7E:qing3=3;
key=0x3;
break;
case 0xED:
key=0x4;
break;
case 0xDD:
key=0x5;
break;
case 0xBD:
key=0x6;
break;
case 0x7D:
key=0x7;
break;
case 0xEB:
key=8;
break;
case 0xDB:
key=9;
break;
case 0xBB:
key=0xA;
break;
case 0x7B:
key=0xB;
break;
case 0xE7:
key=0xC;
break;
case 0xD7:
key=0xD;
break;
case 0xB7:
key=0xE;
break;
case 0x77:
key=0xF;
break;
}
}
}
return key;//返回按鍵值
}
/******************************************************/
/*******************密碼判斷子程序*********************/
/******************************************************/
void mi()
{
switch(num)
{
case 1://只有按鍵標志位為1時(shí),說(shuō)明按下的是第1次
if(qing==yin)//此時(shí)第1位密碼比較變量與初始密碼變量比較,是否相等
{
temp++;//如果相等則將比較標志位加1,以作記號
qing=0xff;//作完記號后,將比較變量賦值,以便它再次記數標志位變量
}
break;//返回
case 2://只有按鍵標志位為2時(shí),說(shuō)明按下的是第2次
if(qing1==yin1)
{
temp++;
qing1=0xff;
}
break;
case 3://只有按鍵標志位為3時(shí),說(shuō)明按下的是第3次
if(qing2==yin2)
{
temp++;
qing2=0xff;
}
break;
case 4://只有按鍵標志位為4時(shí),說(shuō)明按下的是第4次
if(qing3==yin3)
{
temp++;
qing3=0xff;
}
break;
}
if(temp==4)//如果比較標志位變量為4,則說(shuō)明以上4個(gè)密碼是對的,此時(shí)蜂鳴器響起
bbt();//調用蜂鳴器響起子程序
}
/***********************************************/
/*******************主程序*********************/
/***********************************************/
void main()
{
uchar ik=16;//定義局部變量
temp=0;//蜂鳴器計數變量變0
num=0;//計數器清0
yin=0;//密碼1
yin1=1;//密碼2
yin2=2;//密碼3
yin3=3;//密碼4
qing=qing1=qing2=qing3=0;//密碼比較變量清0
DDRB=0xff;//設置PB口為輸出
DDRC=0xff;//設置PC口為輸出
while(1)
{
ik=key_scan();//將按鍵返回值給變量IK
/*****************第15個(gè)鍵按下時(shí)處理的程序*****************/
if(ik==15)//如果按下了第15個(gè)鍵,就將按下的次數清0,即進(jìn)入初始化
{
num=0;//清0計數器
temp=0;//清0計數器
qing=qing1=qing2=qing3=0;//密碼比較變量清0
}
/*****************數碼管顯示部分*****************/
if(ik16)//如果返回值小于16就在數碼
xian(ik); //調用顯示子程序
else//如果返回值不小于16,就顯示黑屏
xian(16);
/*****************密碼判斷部分*****************/
mima();
}
}

蜂鳴器相關(guān)文章:蜂鳴器原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: AVR 密碼鎖 矩陣鍵盤(pán)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>