基于单片机的多功能电子密码锁系统设计

发布者:支持中文最新更新时间:2022-04-23 来源: elecfans关键字:单片机  电子密码锁系统 手机看文章 扫描二维码
随时随地手机看文章

该密码锁是以STC89C52单片机为核心,加上需要的硬件部分,实现密码的设定、保存、检测,从而控制电路的闭合是否进行开锁的决定。单片机通过用户输入的密码,转化成键码,与保存在24C02芯片中的密码进行比较,本次设定的初始密码为六位密码,这就可以有300多万组密码可以更改和选择,安全性大大的增加,可选密码组是连续排列的,输入的密码正确,继电器吸和,二极管发光,代表着密码锁开启;如果密码输入不正确,则由蜂鸣器发出报警信号,多次错误会锁定键盘,直到再次复位才能使用。

密码锁主要由单片机、键盘、外部硬件等器件构成。这里面矩阵键盘的作用是用户输入密码,修改密码等。本次设计用继电器代替电磁锁,实际使用时只要继电器变成电磁锁即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈,单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给单片机的芯片处理,同时将接收来自无限循环的密码识别程序的报警信息也发送给智能报警器,从而使整个密码锁正常运行。

电源电路提供的一个直流电压。由于单片机工作需要一个振荡频率,所以需要晶振电路来提供一个基准频率。复位电路是一种使电路恢复到起始状态的电路,这里是让单片机与其他部件都保持在一个特定的状态下,当供电后按下开关就会复位。键盘接口电路部分提供输入密码的功能。开锁电路顾名思义,当密码正确输入后,单片机会发出开锁请求,继电器吸和二极管发光代表着门成功打开。报警电路是密码输入错误时,蜂鸣器发出声响报警。


通过键盘扫描模块,既可以显示密码又能够修改密码,通过键盘扫描模块将密码输入到STC89C52单片机中,通过LCD显示器将我们需要的数据显示出来。该系统还拥有掉电存储,报警等功能,掉电存储可以增加密码锁的实用性。报警模块部分,当我们输入的密码正确时,密码锁开锁,显示模块的灯会亮,当我们输入的密码错误时,则会由蜂鸣器发出报警音,提示错误。


1 硬件电路设计

1.1 主控制模块

单片机最小系统包括单片机、复位电路、时钟电路构成。STC89C52 单片机的工作电压范围:4V-5.5V,所以通常给单片机外界5V直流电源。

单片机最小系统包括单片机、复位电路、时钟电路构成。单片机最小系统就是指能使单片机正常工作的最低配置。


1.2 键盘电路

键盘需要通过接口电路和CPU相连接,CPU可以采用查询接口或者中断的方式来判断用户是否使用键盘,然后确定使用的键是在什么位置。无论是查询方式还是中断方式都要用到单片机的I/O口。因为矩阵键盘相比于独立键盘占用更少的I/O口,所以在需要使用多个键的时候,一般采用矩阵键盘的方式来实现多按键的功能。本系统采用4*4矩阵式键盘,键盘连接方式如图所示:

1.3 液晶显示电路

LCD1602作为一种字符型液晶显示器,它是一种点阵式液晶显示器,它是专门用于显示字母、数字、符号等的。LCD1602的显示容量为16*2个字符(既每行16个字符,共计两列),LCD的芯片工作电压在4.5~5.5V之间,工作电流为2.0mA(5.0V),模块的最佳工作电压为5.0V。另外需要注意的是,LCD显示器要想正常的工作,必须提供足够的电流,所以,在本次设计中,为了保证LCD正常显示,在数据端口上加了一个电阻,来保证顺利进行。本设计采用液晶显示屏LCD进行显示,具体连接方式如图所示。

1.4 存储芯片电路

AT24C02的工作电压在1.8V~5.5V之间,输入/输出引脚兼容5V。AT24C02是二线串型接口,支持硬件写保护,具有高保护性,读写次数高达100万次,数据可以保存100年。E1~E3作为器件地址选择端口,这本次设计中,全部接地。VCC可以接入1.8V~6.0V的工作电压,这里接入5V电压。VSS接地端,这里接入电源负极。WP是专门写保护的端口,当WP=1时,只能读取,不能写入,当WE=0时才可以进行正常的读写功能。SCL是串行时钟输入端,SDA是串行数据、地址线,用于传送和接受数据,是一个双向的端口。P2.5为串行时钟输入线接口,P2.6为数据线接口。A0,A1,A2接地,所以单片机在读AT24C02时,器件地址为:10100001B=0A1H;在写AT24C02时,器件地址为:10100000B=0A0H。WP=0,允许单片机进行读写操作。


AT24C02系列是典型的I2C串行总线的EEPROM,本系统采用此芯片进行数据存储,存储系统连接如图所示:

1.5 报警电路

本次设计中,报警部分由蜂鸣器及外围电路组成,通过控制蜂鸣器发声来实现报警的功能。蜂鸣器是一种采用直流电压供电的电子讯响器,当P3.7口有脉冲信号输入时,蜂鸣器即会发音。通过控制输入脉冲的频率还能控制蜂鸣器的发音频率。如图所示。

1.6 密码锁电路

在单片机密码锁中,输入正确的密码,锁就会打开。本次设计降低成本不用电磁锁,用继电器和二极管来替代。当密码输入正确时,灯亮起,继电器吸和,象征着密码锁打开。所以用如图所示的电路代替电磁锁开锁机构。

2 软件程序设计

2.1 主程序流程图

2.2 键盘扫描子程序

2.3 显示模块子程序

 

2.4 开锁子程序

2.5 报警子程序

2.6 掉电存储子程序

 

在设计中我们必须首先熟悉和掌握单片机的结构及工作原理,单片机的接口技术及相关外围芯片的外特性,控制方法。以单片机核心的电路设计的基本方法和技术了解表关电路参数的计算方法。同时,学习使用单片机了解计算机原理与结构的最佳选择。 在本次设计中,所有的设计要求都得到了实现,可以在LCD显示器上以“*”形式显示密码,修改密码,掉电存储等功能也全都实现。再输入密码的过程中,可以清空密码、倒退,长时间不操作会有锁定密码锁的功能。

关键字:单片机  电子密码锁系统 引用地址:基于单片机的多功能电子密码锁系统设计

上一篇:基于单片机的智能社区安全监测系统设计
下一篇:基于单片机的踢球智能车系统设计

推荐阅读最新更新时间:2024-11-09 11:34

MCU处理模拟量的过程
MCU只能处理的是数字量,所以数字量输入----- MCU-------- 数字量输出 MCU不能直接处理模拟量,所以模拟量输入---- 模拟信号处理----- 模数转换器--- MCU------ 数模转换器---- 模拟信号处理--- 模拟输出 所以,模拟量最终也是转换为数字量才能被MCU处理。 ps:流程中的模拟信号处理是由于输入的信号小,需要对信号先进行放大。
[单片机]
11种常见的单片机电路设计模块
1、双路232通信电路 3线连接方式,对应的是母头,工作电压5V,可以使用MAX202或MAX232. 2、三极管串口通信 本电路是用三极管搭的,电路简单,成本低,但是问题,一般在低波特率下是非常好的。 3、单路232通信电路 三线方式,与上面的三级管搭的完全等效。 4、USB 采用的是PL2303HX,价格便宜,稳定性还不错。 5、SP706S复位电路 带看门狗和手动复位,价格便宜(美信的贵很多),R4为调试用,调试完后焊接好R4。 6、SD卡模块电路(带锁) 本电路与SD卡的封装有关,注意与封装对应。此电路可以通过端口控制SD卡的电源,比较完善,可以用于5V和3.3V。但是要注意,有些
[单片机]
11种常见的<font color='red'>单片机</font>电路设计模块
关于单片机程序的执行过程
前言 我们想要理解单片机是如何运行程序的,我们首先需要了解单片机的组成,我们这里以80C51单片机为例来理解程序在单片机中是如何运行的。 单片机的组成 8051单片机的内部硬件结构包括: 中央处理器CPU:它是单片机内部的核心部件,决定了单片机的主要功能特性,由运算器和控制器两大部分组成。 存储器:8051单片机在系统结构上采用了哈佛型,将程序和数据分别存放在两个存储器内,一个称为程序存储器,另一个为数据存储器在物理结构上分程序存储器和数据存储器,有四个物理上相互独立的存储空间,即片内ROM和片外ROM,片内RAM和片外RAM。 定时器/计数器(T/C):8051单片机内有两个16位的定时器/计数器,每个T/C既可以设置成计数
[单片机]
关于<font color='red'>单片机</font>程序的执行过程
不复位MCU直接调试运行程序,让bug闻风丧胆
1 调试窘境 经常有朋友在开发中遇到这样的窘境,当单片机程序运行异常以后,由于调试信息做得并不是很全面,导致相应的问题场景非常难分析。当时的你肯定会叹息道: 要是我一直插着仿真器就好了,这个bug还不是分分钟的事~ ,每个人都想有颗“后悔药”可吃,然而遇到这种场景也并非绝路。主要是因为大部分朋友插上仿真器以后,调试器在启动时会发出硬件重置信号,应用程序当前的状态都会丢失,包括内存变量、状态等等,对于一些长时间的偶发故障调试更不太友好。此时此刻有一种调试需求是朋友们非常想要的:一旦程序出了问题,我只需要插上仿真器,目标硬件不会复位,而是与我当前所调试的程序同步,类似于仿真程序的时候的“全速运行”,然而通过添加断点,便可查看程序具体的
[单片机]
STM32 Dali库是什么?
DALI库适用于STM32F系列和STM32L系列单片机。 在STM32单片机中的DALI包中有: 1.STM32F和STM32L系列的Dali从机示例 2.用户手册DALI从机接口 STM32 Dali Slave库根据DALI规范进行了测试。 STM32L1xx Dali 从机接口的文档是UM1629. STM32F1xx Dali 从机接口的文档是UM1728 用于DALI通信的STM8S-Discovery接口的插入式硬件模块是STEVAL-ILM001V1 以上是STM32 Dali的基础知识,希望对用户有所帮助。
[单片机]
AT89C51单片机的解密原理
  单片机解密简单就是擦除单片机片内的加密锁定位。由于AT89C系列单片机擦除操作时序设计上的不合理。使在擦除片内程序之前首先擦除加密锁定位成为可能。   AT89C系列单片机擦除操作的时序为:擦除开始----》擦除操作硬件初始化(10微秒)----》擦除加密锁定位(50----200微秒)---》擦除片内程序存储器内的数据(10毫秒)-----》擦除结束。如果用程序监控擦除过程,一旦加密锁定位被擦除就终止擦除操作,停止进一步擦除片内程序存储器,加过密的单片机就变成没加密的单片机了。片内程序可通过总线被读出。   对于AT89C系列单片机有两种不可破解的加密方法。   一、永久性地破坏单片机的加密位的加密方法。简称OTP加
[单片机]
单片机自学需要买开发板嘛?初学者如何使用单片机开发板?
从事单片机开发的那些老工程师,或者是刚入门的单片机软件工程师,可以说99%的人都曾经买过开发板,或者一直借助开发板来从事单片机开发工作。 也许有人会质疑这个说法,如果你质疑,那你绝对还没有入门单片机,或者想学单片机但不懂单片机。 单片机最重要的一点就是动手实践,只靠书本上的学习是远远不够的,刚开始没人带也不可能直接做项目,只能从开发板学习开始。 从事单片机开发工作的大多数是电子相关专业毕业的,很多专业都有单片机原理与应用这门课程,但大学的单片机课程,我们又能学到什么? 大学课程学到的知识包括:单片机发展历史,单片机的内部寄存器,定时器功能,汇编指令集等理论知识,没有操作和实践,最多做个流水灯功能就算毕业了。 一般大学课程是不带开发
[单片机]
基于8051内核MCU的满足物联网应用需求的通信接口选择浅析
0 引言 对于基于flash控制器的8051的芯片结构,一般在进行数据传输时,都是先通过串口将数据传送到flash控制器的buffer中。由于buffer的大小为512 bytes,所以每次传输的最大数据量为512bytes。本文中所讨论的三种检错方法的传输数据量均为512 bytes。 1 检错方式 基于8051的串口数据通信系统的硬件开发平台框图如图1所示。利用该平台进行数据传输时,通常有三种数据检错方式。 1.1 奇偶校验 奇偶校验是检错中比较常见的一种方法。它利用数据中的1的个数作为检错的标志位,若1的个数为奇数个,则错误检测的标志位为1,若1的个数为偶数,则错误检测的标志位为0。在发送端和接收端同时检测奇偶位,若得
[单片机]
基于8051内核<font color='red'>MCU</font>的满足物联网应用需求的通信接口选择浅析

推荐帖子

meego git+repo
(转)1.git安装sudoapt-getinstallgit-corecurl2.repo安装首先在用户主目录下面创建一个文件夹bin,然后把该路径加入到环境path里面,具体方法如下:编辑~/.bashrc,在末尾加入一行:exportPATH+=:~/bin/然后启动终端,通过curl来下载Repo脚本,保存到~/bin/repo文件中,具体命令如下:curlhttp://android.git.kernel.org/repo~
perfect13 嵌入式系统
DSP芯片的定点运算
1.数据的溢出:1溢出分类:上溢(overflow):下溢(underflow)2溢出的结果:unsignedchar0255signedchar-128127unsignedint065535signedint-3276832767上溢在圆圈上按数据逆时针移动;下溢在圆圈上顺时钟移动。例:signedint:32767+1=-32768;-32768-1=32767unsignedcha
Jacktang DSP 与 ARM 处理器
MPU9250磁力计ID读取得不到正确的值,原因如下:
刚刚跳出来的坑,记录一下,防止以后忘记了。MPU9250磁力计ID读取得不到正确的值,原因如下:这里写的是磁力的IIC地址(0x0C),在寄存器手册上可以找到磁力计器件地址寄存器(0x00),以及器件地址(0x48).现象:读取寄存器的时候正确的地址值应该是0x48,这里读取错误的现象是值为0xff,同时读取MPU9250的ID值时却是正确结果原因&解决:注意上图黄色高亮部分,手册上写IIC模式Pass-Throughmode;拉低INT引脚以开启Pass-Th
shijizai stm32/stm8
STVD+cosmic编译问题
编译时出现下面的错误提示:#errorclnkDebug\\hall208mini.lkf:1symbol_TIM1_TimeBaseInitnotdefined(Debug\\tim1.o)#errorclnkDebug\\hall208mini.lkf:1symbol_UART1_DeInitnotdefined(Debug\\uart.o)#errorclnkDebug\\hall208mini.lkf:1symbol_UART1_I
chenyt stm32/stm8
分享一个msp430单片机da.c驱动
msp430单片机da转换源代码://*************************************************************************//初始化IO口子程序//*************************************************************************voidPort_Init(){P4SEL=0x00;P4DIR=0xFF;//数
Aguilera 微控制器 MCU
EDN新开通“模拟学堂”,提供大量电子电路图下载和在线查看。欢迎访问!
http://www.ednchina.com/Analog.aspxEDN新开通“模拟学堂”,提供大量电子电路图下载和在线查看。欢迎访问!
babyjiejie 电源技术
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved