【51单片机】初学者必学的一个矩阵键盘基本项目——(矩阵键盘密码锁)(8)

简介: 【51单片机】初学者必学的一个矩阵键盘基本项目——(矩阵键盘密码锁)(8)

前言

大家好吖,欢迎来到 YY 滴单片机系列 ,热烈欢迎! 本章主要内容面向接触过单片机的老铁

主要内容含:

一.前文提要

  • 相关的前置代码&知识点&代码调试教程。在前一篇博客中,大家可以跳转连续起来看
  • 传送门

二.密码锁程序设计

  • 如果S1~S10按键按下,输入密码
  • 如果S11按键按下,确认
  • 如果S12按键按下,取消
  • 在我们LCD1602的调试包中有这样的规则,显示的数字小于65535
  • 无符号整型正好最大是65535unsigned int Password
  • 我们定义四位密码unsigned int Count;
#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) //如果输入次数小于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);  //更新显示
      }
    }
  }
}

相关文章
|
2月前
|
存储 数据安全/隐私保护
基于51单片机的6位密码锁设计
【10月更文挑战第11天】多功能电子密码锁系统由AT89C52单片机最小系统、4×4矩阵键盘、LCD1602显示、AT24C02存储模块以及报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。
86 23
|
2月前
|
存储 传感器 安全
基于51单片机的指纹锁设计
基于51单片机的指纹锁设计
17 0
|
7月前
|
存储 数据安全/隐私保护
基于51单片机的6位密码锁设计
该文档描述了一个基于AT89C52单片机的多功能电子密码锁系统设计,具备6位密码设置与修改功能,输入错误三次会锁定,并在LCD屏上以*号隐藏真实密码。系统包括矩阵键盘、LCD显示、AT24C02存储及报警系统,当密码错误时,会有蜂鸣器报警和LED灯闪烁。此外,还提供了密码重置(通过管理员密码131420)和输入错误提示。文中附有Proteus仿真及原理图,展示了开锁、重设密码和错误输入时的响应。
124 0
|
4月前
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
【51单片机】开发板上矩阵键盘键码在数码管上的显示,按下键盘在数码管上显示对应段码
120 0
|
6月前
|
数据安全/隐私保护
单片机课程设计——基于C51电子密码锁(源代码)
单片机课程设计——基于C51电子密码锁(源代码)
|
7月前
|
传感器
51单片机矩阵键盘超详解!(内含LCD1602代码)
51单片机矩阵键盘超详解!(内含LCD1602代码)
【51单片机】初学者必学的一个矩阵键盘基本项目——(读矩阵键盘的数字显示在LCD屏上)(7)
【51单片机】初学者必学的一个矩阵键盘基本项目——(读矩阵键盘的数字显示在LCD屏上)(7)
|
7月前
|
编译器 C语言 开发者
单片机原理与应用:探索微型计算机世界
单片机原理与应用:探索微型计算机世界
59 1
|
7月前
|
数据采集 数据处理 C语言
单片机:探索其原理、应用与编程实践
单片机:探索其原理、应用与编程实践
103 1
|
7月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
144 0