51单片机实现矩阵键盘密码锁,数码管显示

该博客详细介绍了如何使用51单片机结合矩阵键盘和数码管,实现一个密码锁系统。用户通过矩阵键盘输入密码,数码管动态显示密码。正确密码为5555,当密码匹配时,LED D8闪烁作为验证成功指示。代码中包含了按键检测、数码管显示、定时器初始化等关键功能。
摘要由CSDN通过智能技术生成

板子是普中的,按键按下10为0,按键11为确认,按键12为取消。

输入密码正确时LED D8闪烁(正确密码为5555)

#include <REGX52.H>//头文件定义
unsigned char nixie[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示的段码

unsigned int Code = 0;//用于保存密码的变量
void Tim_int(void);//定时器初始化函数声明
void delay(unsigned int t);//延时函数声明
void wei(unsigned char pizz);//用于显示第几个数码管的函数声明
unsigned char Key(void);//检测按键的函数声明
void Password();//判断密码

int main()
{
    unsigned char Num;//接收按键值
    unsigned char k;//限制按下次数
    Tim_int();//定时器初始化
    while(1)
    {
        Num=Key();
        if(Num!=0)
        {
            if(Num<=10)
            {
                if(k<4)
                {
                    Code*=10;            
                    Code+=Num%10;
                    k++;
                }    
            }
            else if(Num==12)
            {
                k=0;
                Code=0;
            }
            else if(Num==11)
            {
                k=0;
                Password();//判断密码
         

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值