代码如下:
#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
char keynum;
int password;
int cout;
void main()
{
LCD_Init();
LCD_ShowString(1,1,"password:");
while(1)
{
keynum=MatrixKey();
if(keynum!=0)
{
if(keynum<=10)//按1-10输入密码
{
if(cout<4)//如果次数小于4
{ password*=10;//密码左移一位
password+=keynum%10;//获取一位密码
cout++;//次数+1
}
LCD_ShowNum(2,2,password,4);
}
if(keynum==11)//如果11按键按下,确认
{
if(password==2345)//如果密码正确
{
LCD_ShowString(1,14,"OK");//显示ok
password=0;//清零
cout=0;//计次清零
LCD_ShowNum(2,2,password,4);
}
else//否则
{
LCD_ShowString(1,14,"cw");//显示错误--cw
password=0;//密码清零
cout=0;//计次清零
LCD_ShowNum(2,2,password,4);
}
}
if(keynum==12)//按下12 清除
{ password=0;//密码清零
cout=0;//计次清零
LCD_ShowNum(2,2,password,4);
}
}
}
}