15-51_电子密码锁_仿真

基于51单片机的电子密码锁

矩阵键盘 · 密码验证 · 蜂鸣器报警 · Proteus仿真

一、项目简介

本项目设计了一个基于51单片机的电子密码锁。用户通过4×4矩阵键盘输入6位密码,系统验证密码正确则控制继电器开锁,密码错误3次则蜂鸣器报警锁定。支持密码修改功能,需验证旧密码后才能设置新密码。LCD1602显示操作提示和输入状态。

项目属性

说明

主控平台

AT89C52(Proteus仿真)

开发语言

C语言

开发环境

Keil C51 / Keil MDK

仿真工具

Proteus(部分项目)

图1-1 系统整体效果图

二、系统总体架构

本系统以单片机为核心,外围连接传感器、显示模块、按键模块和执行机构。系统总体架构如下:单片机通过相应接口与各外设通信,采集传感器数据后进行处理,结果输出至显示模块,同时根据逻辑控制执行机构动作。

图2-1 系统总体架构框图

模块

功能描述

主控模块

系统核心,负责数据采集、逻辑处理和输出控制

传感器模块

采集环境参数(温度/光照/按键输入等)

显示模块

LCD1602/OLED实时显示数据和状态

按键模块

用户输入,参数调整和模式切换

执行机构

蜂鸣器/LED/电机等,执行报警和驱动动作

三、硬件设计

3.1 核心器件选型

器件

型号

说明

主控芯片

AT89C52

Proteus仿真

矩阵键盘

4×4

0~9数字+功能键

显示屏

LCD1602

操作提示

继电器

5V继电器

控制电磁锁

蜂鸣器

有源

报警

图3-1 核心器件实物图

3.2 引脚分配

单片机各引脚分配如下表所示,在设计时需注意引脚复用和电平匹配问题:

引脚

连接

功能描述

P1.0~P1.7

矩阵键盘

4行+4列

P2.0

RELAY

继电器控制

P2.1

BEEP

蜂鸣器

P2.5~P2.7

LCD控制

LCD1602

P0

LCD数据

LCD1602

图3-2 引脚分配电路原理图

四、软件设计

4.1 软件流程

主循环扫描矩阵键盘。输入6位数字后按确认键:密码正确→继电器吸合开锁+LCD显示"OPEN";密码错误→错误计数+1,3次锁定+蜂鸣器报警。按设置键→验证旧密码→输入新密码→保存。

图4-1 主程序流程图

4.2 模块划分

源文件

模块名称

功能描述

matrixkey.c

矩阵键盘

行列扫描、消抖

lcd1602.c

LCD驱动

显示

eeprom.c

EEPROM

密码存储(可选)

main.c

主程序

密码验证、开锁、报警

4.3 关键代码

以下代码均从项目工程源文件中直接提取,完整展示了各模块的核心实现:

📄 main.c

📄 LCD1602.c

📄 MatrixKey.c

📄 Delay.c

五、项目文件结构

项目工程的目录结构如下,展示了源代码文件的组织方式:

六、功能演示

系统功能演示步骤如下:

1. LCD显示"Input Password:"

2. 输入正确密码,继电器吸合开锁

3. 输入错误密码3次,蜂鸣器报警锁定

4. 按设置键修改密码

图6-1 功能演示照片/截图

图6-2 运行状态特写

七、总结

本项目实现了电子密码锁的基本功能,矩阵键盘扫描和密码验证是核心逻辑。错误锁定机制增强了安全性。如需保存密码断电不丢失,可扩展EEPROM存储。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

— END —

posted @ 2026-07-21 21:12  Yan_2  阅读(2)  评论(0)    收藏  举报