矩阵键盘密码锁

简介: 矩阵键盘密码锁

1.其余文件均与前面的矩阵键盘章节引用文件相同




2.main.c文件

#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
unsigned char KeyNum;
unsigned int Password=0,Count=0;
void main()
{
  LCD_Init();
  LCD_ShowString(1,1,"Password:");
  while(1)
  {
    KeyNum=MatrixKey();
    if(KeyNum)
    {
      if(KeyNum<=10)  //如果S1~S10按键按下,输入密码
      {
        if(Count<4) //如果输入次数小于4
        {
          Password*=10;       //密码左移一位
          Password+=KeyNum%10;    //获取一位密码
          Count++;  //计次加一
        }
        LCD_ShowNum(2,1,Password,4);  //更新显示
      }
      if(KeyNum==11)  //如果S11按键按下,确认
      {
        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)  //如果S12按键按下,取消
      {
        Password=0;   //密码清零
        Count=0;    //计次清零
        LCD_ShowNum(2,1,Password,4);  //更新显示
      }
    }
  }
}


相关文章
|
算法
class067 二维动态规划【算法】
class067 二维动态规划【算法】
144 0
|
10月前
|
存储 JSON API
如何自定义Python环境变量?
如何自定义Python环境变量?
261 3
|
9月前
|
安全 关系型数据库 MySQL
解决MySQL删除/var/lib/mysql下的所有文件后无法启动的问题
删除 `/var/lib/mysql` 下的所有文件后,需要重新初始化数据目录,确保正确的权限设置,并重新启动 MySQL 服务。通过按照上述步骤操作,可以解决 MySQL 无法启动的问题,并恢复数据库的正常运行。初始化数据目录后,别忘了配置安全设置,并根据需要恢复备份数据。这些步骤不仅能够恢复 MySQL 的正常运行,还能确保数据库的安全性和完整性。
627 2
|
传感器 安全 Java
汇编语言基础教程
汇编语言基础教程
|
JavaScript Java 测试技术
基于SpringBoot+Vue的学生读书笔记共享平台的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的学生读书笔记共享平台的设计与实现(源码+lw+部署文档+讲解等)
249 1
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的医院门诊信息管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的医院门诊信息管理系统附带文章源码部署视频讲解等
95 0
|
druid Java 数据库连接
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
606 0
|
负载均衡 网络协议 小程序
Nginx配置Tcp负载均衡
Nginx配置Tcp负载均衡
288 0
|
缓存 Android开发 iOS开发
手机端常见兼容问题
手机端常见兼容问题
|
NoSQL Linux Redis
Linux搭建Redis5.0集群(编译安装Redis5.0)
Linux搭建Redis5.0集群(编译安装Redis5.0)
574 0
Linux搭建Redis5.0集群(编译安装Redis5.0)