|
#include <REGX51.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
unsigned char KeyNum;
unsigned int Password; //密碼變量
unsigned int Count; //計(jì)次
void main ()
{
LCD_Init();
LCD_ShowString(1,1,"hello:");
while (1)
{
KeyNum=MatrixKey();
if(KeyNum)
{
if(KeyNum<=10) //如果S1~S10按鍵按下輸入密碼
{
if(Count<4) //如果輸入次數(shù)小于4
{
Password*=10; //密碼左移一位
Password=KeyNum%10; //獲取一位密碼
Count++; //計(jì)時(shí)加一
}
LCD_ShowNum(2,1,Password,4); //更新顯示
}
if(KeyNum==11) //如果S11按鍵按下,確認(rèn)鍵
{
if(Password==6666) //如果密碼等于正確密碼
{
LCD_ShowString(1,14,"YES"); //顯示YES
Password=0; //密碼清零
Count=0; //計(jì)次清零
LCD_ShowNum(2,1,Password,4); //更新顯示
}
else //否則
{
LCD_ShowString(1,14,"NO "); //顯示NO
Password=0; //密碼清零
Count=0; //計(jì)次清零
LCD_ShowNum(2,1,Password,4); //更新顯示
}
}
if(KeyNum==12) //如果S12按鍵按下,取消鍵
{
Password=0; //密碼清零
Count=0; //計(jì)次清零
LCD_ShowNum(2,1,Password,4); //更新顯示
}
}
}
}
|
|