矩阵键盘密码锁
所需要用的文件如下,(之前的文章已经给出,不重复贴出)
![image-20230424202148026](https://img-blog.csdnimg.cn/img_convert/24656ff074753776d3ab4872aec9b877.png)
main.c文件
#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
int PassWord=1111; //设置的密码
int Num=0; //获取的键值
int Put=0; //输入的密码
int count=1; //输入的次数
void main(){
LCD_Init();
LCD_ShowString(1,1,"PassWord:");
LCD_ShowNum(2,1,0,4);
while(1)
{
if(Num=MatrixKey())//获取按下的键值,并且键值不为0
{
if(Num<=10) //输入0-9时,键值10代表值是0
{
if(count<=4) //输入的次数不超过4次
{
Num%=10;
Put*=10;
Put+=Num; //左移位把新输入的密码加入
count++;
LCD_ShowNum(2,1,Put,4); //输入完后刷新显示
}
}
if(Num==11) //输入确认
{
if(PassWord==Put) //输入正确
{
LCD_ShowString(1,14,"OK ");
Put=0;
count=1; //重置
LCD_ShowNum(2,1,Put,4);
}
else //输入错误
{
LCD_ShowString(1,14,"err");
Put=0;
count=1; //重置
LCD_ShowNum(2,1,Put,4);
}
}
if(Num==12) //重新输入
{
Put=0;
count=1; //重置
LCD_ShowNum(2,1,Put,4);
}
}
}
}