单片机-矩阵键盘密码锁

该代码实现了一个基于89C52RC芯片的系统,使用LCD1602显示器进行密码输入和验证。用户通过矩阵按键输入四位数字密码,正确密码显示ok,错误则显示Err。程序包含了延迟函数、LCD1602控制函数以及矩阵按键扫描函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

89C52RC芯片

1.矩阵按键输入正确密码,LCD1602右上角显示ok,错误显示Err。

涉及文件:

1.main.c (#include<regx52.h>)

2.lcd1602.c        lcd1602.h

3.Delay.c           Delay.h

4.MatrixKey.c    MetrixKey.h

共7项

 

 

代码

main.c

#include <REGX52.H>
#include "Delay.h"		// 延时
#include "LCD1602.h"	// LCD1602库
#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==6666) //密码正确
				{
					LCD_ShowString(1,14,"ok ");
					Password=0;//密码清零
					Count=0;   //计数清零
					LCD_ShowNum(2,1,Password,4);//更新显示	
				}else{			  //密码错误
					LCD_ShowString(1,14,"Err");	
					Password=0;//密码清零
					Count=0;   //计数清零
					LCD_ShowNum(2,1,Password
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值