关于51单片机的密码锁的代码修改

问题遇到的现象和发生背景

添加一个数组让这个6位密码锁能运行,并且三次输入密码错误后,蜂鸣器报警3秒。

问题相关代码,请勿粘贴截图
#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
#include "ds1302.h"
#include "onewire.h"
#include "iic.h"
#include "Buzzer.h"

unsigned char KeyNum;
unsigned long Password,Count;

void main()
{
    LCD_Init();
    LCD_ShowString(1,1,"Password:");
    while(1)
    {
        KeyNum=MatrixKey();
        if(KeyNum)
        {
            if(KeyNum<=10)    //如果S1~S10按键按下,输入密码
            {
                if(Count<6)    //如果输入次数小于6
                {
                    Password*=10;                //密码左移一位
                    Password+=KeyNum%10;        //获取一位密码
                    Count++;    //计次加一
                }
                LCD_ShowNum(2,1,Password,6);    //更新显示
            }
            if(KeyNum==15)    //如果S15按键按下,确认
            {
                if(Password==653421)    //如果密码等于正确密码
                {
                    LCD_ShowString(1,14,"OK ");    //显示OK
                    Password=0;        //密码清零
                    Count=0;        //计次清零
                    LCD_ShowNum(2,1,Password,6);    //更新显示
                }
                else                //否则
                {
                    LCD_ShowString(1,14,"ERR");    //显示ERR
                    Password=0;        //密码清零
                    Count=0;        //计次清零
                    LCD_ShowNum(2,1,Password,6);    //更新显示
                }
            }
            if(KeyNum==16)    //如果S16按键按下,取消
            {
                Password=0;        //密码清零
                Count=0;        //计次清零
                LCD_ShowNum(2,1,Password,6);    //更新显示
            }
        }
    }
}

运行结果及报错内容
我的解答思路和尝试过的方法

这个代码是根据一个四位密码锁改的,但是LCD1602存储不了6位密码数据,所以希望加个数组可以实现6位密码锁,并且三次输入密码错误后,蜂鸣器报警3秒。

我想要达到的结果

浅学一下

lcd1602是液晶用来显示的跟存储没有关系,你是说存密码的数据类型问题吧,用个数组就行了,每次修改判断是修改数组里的第几位