#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
unsigned char KeyNum;
unsigned int Password,Count;
void main()
{
LCD_Init();
LCD_ShowString(1,1,"Password:");
while(1)
{
KeyNum=MatrixKey();
if(KeyNum)
{
if(KeyNum<=10) //如果s1~s10按键按下,输入密码
{
if(Count<4)//判断输入次数
{
Password*=10;//密码左移
Password+=KeyNum%10;//获取一位密码
Count++;//计次加一
}
LCD_ShowNum(2,1,Password,4);//更新显示
}
if(KeyNum==11)//如果为按键11,为确认
{
if(Password==2345)
{
LCD_ShowString(1,14,"OK ");//正确显示OK
Password=0;//密码清零
Count=0;//计次清零
LCD_ShowNum(2,1,Password,4);//更新显示
}
else
{
LCD_ShowString(1,14,"ERR");//错误显示ERR
Password=0;//密码清零
Count=0;//计次清零
LCD_ShowNum(2,1,Password,4);//更新显示
}
}
if(KeyNum==12)
{
Password=0;//密码清零
Count=0;//计次清零
LCD_ShowNum(2,1,Password,4);//更新显示
}
}
}
}