找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 497|回复: 0
打印 上一主题 下一主题
收起左侧

矩阵键盘密码锁

[复制链接]
跳转到指定楼层
楼主
ID:1089019 发表于 2023-7-19 20:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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);        //更新显示
                        }
                }
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表