基于proteus的智能门锁单片机控制系统的开发

第一章 引言

1.1锁的定义及发展历史
1.1.1课题背景
  锁是经典的产品,拥有很长的历史,它是用来设计障碍的。如果一个房间能够通过进入正常的门的时候,需要
授权的话,把关之物便是门锁,俗称“把门将军”。锁据说起源于私有制的诞生,锁被用来保护个人财产。随着时代的
变化,锁在漫漫历史中不断地更新换代[1]。
1.1.2门锁的发展历程
1、木质锁
  木质锁最早被发现于5000年前的仰韶文化。木质锁记载出现在周朝的文字当中。春秋战国时期,有了鲁班这一流
传千古的神奇木器大师,木质锁经历了质飞跃,并经过改进绵延使用几千年,现在有些地方还有类似机械结构的木锁,
比如湖南绥宁苗族的翻心木锁[2]。如图1所示。在这里插入图片描述

2、青铜锁
  青铜锁,出现在了西周的文字记载中。如同木质锁的发展,青铜锁刚被发明出来的时候,由于结构较为简单,导
致其缺点很多,有各种缺陷,到了某一个点就会有了质的飞跃。其发展期为春秋战国经秦汉魏晋南北朝直至隋唐宋元
时期。继殷商青铜时代之后,春秋时期进入铁器时代,其中有代表性的是西周的青铜锁[3]。
3、弹子锁
  弹子锁被美国人耶鲁-林那斯所发明出来。该种结构在各地被广泛使用。现代弹子锁的结构又有新的发展,出现
双向、三向、四向弹子,母弹子等多种结构,以及平面、双面、多面、双排双面、多排多面弹子结构和组合弹子结
构,从而大大提高锁的保密性能,使锁的编号由原有的2500种通过“向”、“面”的变化达到百万种[4]。
4、叶片锁
  回归本源,锁的作用在于安全,根据国家锁具安全分类标准,弹子锁由于其易被特殊工具(如钩针等)快速破解
(有效防盗时间3秒),该B类锁无法应用于高等级的防盗场合。一种C类锁—“叶片锁”应运而生,它是一种利用钥匙
牙花拨动锁内于之吻合的叶片缺口进行开关的具有更高防盗等级的锁芯(有效防盗时间30分钟)。它主要由锁套、小
压簧、叶片,锁芯、钥匙及弹性挡圈组成,主要利用钥匙上斜面角度变化不同的牙花来旋转对齐锁芯中角度变化不
同的叶片,从而实现锁芯旋转开启的一种锁[5]。
1.2智能门锁以及指纹识别技术
1.2.1智能锁的控制系统
  在智能门锁系统中,往往会有一个自动感应的电子密码锁系统。当门被用户关上的时候,门会自动锁上。智能
锁可以通过多种方式进行解锁开门。如:指纹、触摸屏、卡片等方式。在智能门锁的市场中,有的系统还额外添加
了语音模块,进行语音提示,该功能可以结合LCD屏来提示用户,极大程度方便了用户的使用。此外,该功能对于失
明的残障人士尤为重要。在密码按键解锁开门,这一方面中,为了防止密码的泄露,如今的智能门锁市场里,大多
数智能门锁额外添加了虚位密码的技术,该技术还通过软件,进行算法优化。因此,它很大程度的提高了智能门锁
密码的安全性。它的原理是用户输入的密码中含有部分用户之前设定好的密码序列。此外,市场上的智能门锁系统
还添加了监控模块,它跟门禁系统类似,可以房间内的人可以通过监控与门外的人进行交流。除此以外,房间里的
人可以通过APP进行远程开门,以此来帮助访客进门。
1.2.2指纹识别系技术
  指静脉、人脸、虹膜等人自有的生物特征,将其作为开门的钥匙可大大提高开锁效率,并由于唯一性,降低门
锁钥匙的泄漏的风险。指纹识别技术生物特征识别技术是一种进行身份识别的技术。主要特点是利用个体具有差异
性的生物特征。它利用这一特点进行区分和识别。如今的智能门锁市场中,绝大多数的智能门锁都采用该技术进行
识别。
1.3智能门锁的控制方案
1.3.1指纹识别系统设计
指静脉、人脸、虹膜等由于人自有的生物特征作为开门的钥匙可大大提高开锁效率,并降低门锁钥匙的泄漏的风
险。如图3所示,指纹识别技术是生物特征识别技术的一种。它利用人体独一无二的生物特征进行身份识别的技术,
是智能门锁所需要的必不可少的技术[8]。
  指纹模块主要分为三种类型:光学指纹模块、半导体指纹模块、频射指纹模块。指纹识别系统由外部晶振路、电源电路、复位电路、液晶显示电路和指纹识别电路等部分组成。在指纹识别系统中,最重要的模块为液晶显
示电路和指纹识别电路。单片机控制液晶显示器的显示,构成人机交互的显示界面,以此来提示用户使用。这种设
计方案,这极大程度方便了用户的使用。依据引脚图,对相应的硬件电路进行设计。指纹模块里面主要是DSP芯片以
及CMOS芯片,CMOS芯片主要是对指纹进行录入,生成指纹特征,录入两次的指纹特征就能生成一个指纹模板[9]。
  此外,自动指纹识别系统的工作模式有两类,分别是验证模式和辨识模式。这两种识别的模式有所差异,具体
体现为:验证模式下,是根据标识码,系统进行一对一比对,辨识模式又称一对多比对,是把录入指纹与样本数据
库中的所有指纹逐一进行对比直至找到相匹配的指纹或搜索完整个样本数据库后给出无对应指纹的结论[10]。
1.3.2 基于单片机的智能门锁系统
  单片机(Single-Chip Microcomputer)由于其高集成度,体积小,高可靠性、控制功能强等优点,智能门锁的
设计大多采用单片机为控制器。例如:张萍等人[11] 本系统采用 STC89C52RC, 附加了红外遥控功能,提高了系统
的抗干扰性和可靠性。杨争辉等人[12]以 STC12LE5A60S2 作为核心处理器,通过硬件选型和编程,实现了低功耗目
标。他还利用 TEA 加密算法,对开锁密码进行加密,提高整个系统的安全性。张狄[13]以 STM32F103ZET6为控制芯
片,采用指纹解锁和密码解锁两种解锁方式,有所欠缺的是,该设计管理员模式下无法更改指纹。为了应对紧急情
况,步鹤等人[14]采用MQ-2 半导体烟雾传感器,火灾发生时,自动开门并进行报警,保证了人员的安全。范浩等人
[15] 采用 GPRS 通信技术,实现远程控制。他还采用AT24C02作为记忆存储装置,避免了数据的丢失。杨永源等人
[16]添加了GSM模块和震动模块,实现了系统无线通讯能力和防盗功能。总体可见,单片机在智能门锁的系统设计中
获得了很多的肯定。
1.3.3智能门锁其他开锁方式的设计
  关于蓝牙模块的设计:蓝牙无线传输技术能使用户实时接收到门锁开关的信息,大大提高了门锁的安全性。基
于单片机系统的手机蓝牙智能锁设计策略中,尚钰澎[16]的设计以STM32F103C8T6作为主控芯片,选用了AS608作为
指纹识别模块,与主控芯片通过串口进行通信,显示屏则是2.8寸TFT电阻触摸屏。而当识别模块遭到暴力破坏时,
主控连接的GSM将会发送短信到管理员手机上。控制部分则是一个SG90舵机,当指纹识别成功时,舵机转动一个角度
,模拟开门[17]。
  此外,蓝牙模块可与APP技术相结合。当今的智能门锁市场,大多智能门锁的设计都能使用户通过手机远程解
锁,还可以通过APP进行密码的修改。在这里插入图片描述

图4 蓝牙的设计总体设计框图
  关于抗干扰的设计:由于在总系统中单片机的 I/ 0 端口主要负责控制执行、数据采集等工作,这会导致I/O接
口的硬件受到干扰。不仅如此,这些工作是控制系统受到干扰的主要因素。单片机控制系统的硬件抗干扰朱顺华设
计采用光电耦合隔离、双绞线传输、长线传输的阻抗匹配等方式来抗I/O接口的硬件干扰。采用电场屏蔽、磁场屏
蔽、电磁场屏蔽来抑制场的干扰[18]。该设计通过分析单片机控制系统中电磁干扰产生的机理和各种原因,运用了不
同的方法,来抑制单片机的电磁干扰。
  关于RFID方面的设计:有些智能门锁用RFID模块,以此取代了传统钥匙的功能进行开门。用户可以通过携带门
禁卡进行刷卡开门。门禁卡可以由手机的NFC功能进行读取,之后用户可以用收据来进行解锁。在智能门锁系统中加
入RFID,可大大提高门锁的安全性。在智能门锁市场中,NFC解锁成为门锁主要开锁方式之一。NFC主要依靠RFID技
术来实现。此外,它也使得用户方便进入。无需输入密码,只用携带门卡就可进入。如今,RFID系统使用广泛,在
大学门禁系统和小区的门禁系统常常被使用。此外,RFID系统还可以添加其他功能如:RFID系统杨家骅[18] 在设计
中添加了人脸识别技术,提高了RFID系统的安全性,并说明了RFID系统的重要性。
1.4研究思路和研究方法
1.4.1 研究思路
1.通过所学的专业课知识并查阅相关资料,并认识了解单片机的结构特点和主要功能,分析各种单片机的经济性和
发展趋势,了解Keil和Proteus的编程语言等。明确智能门锁控制系统的系统架构、实现方式等功能的具体需求完成
Keil程序编写。
2.结合设计任务书的要求,以智能门锁为研究对象,采用所选系列的单片机作为智能门锁的控制器。
3.分析智能门锁的控制系统的功能,阐述控制系统的组成和工作原理。
4.提出硬件的各组成模块和硬件模块设计方案,并对控制方案进行设计和程序编写。
5.用Proteus进行仿真
6.结合仿真结果,对功能进一步完善,使其达到控制的要求。
1.4.2 研究方法
1、查阅文献,进行市场调研,完成对智能门锁硬件功能模块的选型
2、根据设计好的功能,查阅文献,在实验室设计Keil程序以及Proteus仿真
3、搭建硬件控制系统,对实物进行控制
4、参阅相关文献,请教老师和同学们
1.5小结
  本章讲述了课题背景、智能门锁以及生物识别技术、智能门锁的控制方案以及研究思路及研究方法。通过查阅
资料,了解到,现如今,智能门锁的出现大大符合人们的需求,智能门锁的市场需求越来越大。相比传统的锁,智
能门锁有着很高的安全性和便捷性。通过查阅文献,了解到现在智能门锁市场大多都采用生物识别技术,指纹是运
用最广泛的生物识别技术之一。此外,对于智能门锁的设计方案多种多样,可拓展的识别模块有很多。由此可见,
智能门锁这一课题的研究与当今人们的生活朝夕相关,它有很高的研究价值。

第二章 智能门锁的设计

2.1 单片机
2.1.1单片机系统的选型以及介绍
  由于使用一个售价仅为几元的单片机芯片,再搭配少量的外设就能构成一个功能较为丰富的智能控制系统,所
以单片机有着较高的性价比。由于单片机采用了内部总线设计,所有功能部件均集成在芯片上,所以几乎所有的单
片机的尺寸都不大。也正是因为单片机的结构紧凑、尺寸小巧,所以也更加易于加入电磁屏蔽和密封措施,所以单
片机相较于其他控制方式可靠性更高。智能门锁的需求量很大,所以成本控制就显得尤其重要,而且智能门锁对系
统可靠性的要求较高。所以综上所述,智能门锁应该使用单片机控制。
图2.1单片机原理图在这里插入图片描述

通过查阅文献,如今,智能门锁系统的控制系统设计中,用到最多的是c51和STM32Z这两个单片机。考虑到
STM32单片机与proteus软件的兼容性问题,故本设计采用C51系统。
  51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通
信设备中。如今,ST89C51单片机是该系列中功能较为强大的。故该设计采用此型号的单片机作为控制器。
c51单片机的原理图如上图所示,它的管脚说明以图片的形式展现。
2.1.2单片机系统的最小系统
最小系统包括电源电路,时钟电路和复位电路。
最小系统需要用到的引脚:
1、主电源引脚
VCC(40): 电源输入,接+5V电源
GND(20): 接地线
2、外接晶振引脚
  
XTAL1(19): 片内振荡电路的输入端(片内反向放大器输入)
XTAL2(18): 片内振荡电路的输出端(片内反向放大器输出)
3、控制引脚
  
RST/VPP(9): 复位引脚
引脚上出现2个机器周期(如果用11.0592Mhz的晶振,一个机器周期为1us,一个机器周期等于12个时钟周期)的高
电平将使单片机复位
4、EA/VDD
  片外ROM选用端。该引脚有效时(低电平)只选用片外ROM,否则计算机上电或复位后先用片内ROM。如果选择外
部的存储器,太浪费单片机仅有的资源,所以这一脚永远接电源5V(如上图所示),使用单片机的内部存储器。
2.2指纹模块
2.2.1指纹模块的选型
  经过市场调研发现,指纹模块运用更加广泛。指纹模块主要分为三种类型:光学指纹模块、半导体指纹模块、
频射指纹模块。由于半导体指纹模块具有防伪性能好,安全性高,扫描进度高,灵敏度高,功耗低,体积小等优
点,故本设计采用半导体指纹。在这里插入图片描述

图2.2.1指纹模块
2.2.2 ZN-530模块的获取指纹原理
半导体指纹获取指纹的原理:
  ZN-530半导体指纹模块是集成了半导体传感器和指纹算法芯片为一体化的指纹处理模块。它还能够感应到手
指,当手指放在指纹采集面时,模块Touch脚输出高电平。ZN-530模块通讯接口为UART接口,本模块作为从设备,由
主设备发送相关命令对其进行控制。该模块具有可调节的安全等级功能、指纹特征数据的读写功能。他集成了半导
体传感器和指纹算法芯片。它还能够感应到手指,当手指放在指纹采集面时,模块Touch脚输出高电平。ZN-530模块
通讯接口为UART接口,本模块作为从设备,由主设备发送相关命令对其进行控制。该模块具有可调节的安全等级功
能、指纹特征数据的读写功能。
2.2.2 ZN-530模块的优点
  它的优点是当它在读取到手指的指纹图像的时候,无论你的手指是否潮湿,它都灵敏的能读取到手指的指纹信
息并判断,能获得较佳的成像质量。对于一些容易出汗的人群以及由于脱皮等原因指纹纹理不易采集的人群,在日
常生活中,他们往往会在指纹的采集、识别的时候出现识别错误的情况。考虑到这种情况,本设计采用ZN-530指纹芯片。
2.2.3指纹模块的工作原理及通讯方式
  工作原理:通过半导体成像原理,获取指纹的图像。由于每个人基因不同,手指内侧表面的皮肤褶皱不同,产
生不同的纹路,会形成不同的指纹图像。在录的时候,将其特征转化为一段数据。我们就可以把一个人身份id号同
他的特征数据对应存储起来。验证指纹的时候,将模块获取到的指纹和指纹库中的指纹进行比较即可。
通讯方式:通讯协议采用半双工异步串行通讯,即UART串口通讯协议。传送的帧格式为10位。
  指纹模块与c51通讯采用UART串口通讯协议。UART传输数据包前,首先要接收到传输数据包的指令包,做好传输
准备后发送成功应答包,最后才开始传输数据包。上传数据包之前,先将数据放在缓冲区,之后再从缓冲区上传。
2.3按键模块
2.3.1按键模块的选型
  键盘输入模块作为c51单片机智能门锁设计中的关键部分。采用矩阵键盘作为按键。判断按键按下的逻辑为:采
用先行搜索,在列搜索的模式,按下后输出对应命令。
键盘的选取,按键的键盘一般分为独立按键键盘和矩阵按键键盘。
  普通的独立按键组的优点是按键之间不受影响,一个键盘对应一个I/O口。但是这样会导致它的缺点:占据I/O
口的数量过多。
  矩阵式键盘通过一个按键加以连接,这可以使得多个的键盘按键仅占据一个I/O口。根据市场调研发现,现在的
智能门锁的键盘大多都有12个按键。需要的键数比较多,故采用矩阵键盘来做为系统按键模块的键盘。在参考一些
设计方案之后,发现添加一些按键的功能,能够使得用户方便使用。故本设计对按键功能进行了优化,添加了四个功
能按键。该四个功能按键可以使用户更加快捷的进行操作。故需要16个键盘,该键盘的按键数目较多,故使用矩阵
键盘作为该设计的按键键盘。
2.3.2按键模块的原理
  按键的物理特性:按键没有被按下的时候,为断开的状态。这是因为弹簧使得按钮分离。按键被按下的瞬间,
为接通的状态。这是因为手对弹簧的作用。之后由于手的离开,弹簧又恢复最初的状态。
按键有四个引脚,一对常开触点,一对常闭触点。
  识别按键按下原理:对矩阵键盘进行初始化,所有按键的输入端都默认为1电平。当用户按下键盘按键的时候,
输入端的电平就会从0到1变化。
  因此,判断按键是否被按下的方法是:观察输入端口的电平状态。为了方便搜索,矩阵式键盘采用:先逐行搜
索,后逐列搜索的方式。以此来判断具体哪个按键按下。这种方式,提高了按键搜索的效率,简化了搜索的方法。
2.4 RFID卡系统
2.4.1射频识别识别系统构成
典型RFID系统由应答器、读写器以及计算机系统等组成。其中,读写器由无线收发模块、天线、控制模块及接口电
路等组成。
2.4.2系统原理
  寻卡模式下,将RC522进行初始化,打开天线,通过天线读取RFID卡的数据,然后将数据传送给单片机。51单片
机接收到RC522传输的数据后,将接收到的数据再传送给AT24C02进行存储。当进行RFID识别的时候,51单片机接受
到RC522芯片传输的数据后,将数据与AT24C02里存储的数据进行对比,若两者完全相同,则LCD1602显示卡匹配成
功,并进行开门。若不相同,则LCD1602显示卡识别错误。C51单片机接收到数据后,将数据与AT24C02里存储的数据
进行对比,若两者完全相同,则进行开门操作;若不相同,则报警。
2.4.3通讯方式
  一般采用半双工通信方式进行信息交换,同时阅读器通过耦合给无源应答器提供能量和时序。应答器是RFID系
统的信息载体,应答器大多是由耦合原件和微芯片组成无源单元。
2.5显示屏lcd模块
2.5.1 LCD1602介绍
  LCD1602液晶显示器一种字符型液晶显示模块。1602LCD是指显示的内容为32个模块。一共有两行,每行16个字
符液晶模块。它是由字符型液晶显示屏、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容
元件和结构件等装配在PCB板上而组成。由于它广泛被使用,故本次设计采用LCD1602作为显示模块。在这里插入图片描述

图2.5.1 LCD模块原理图
2.5.2 LCD1602的显示原理
  控制LCD1602显示模块显示字符的时候,一定要注意在执行每条指令之前,一定确认LCD此时为空闲状态,这时
才能写指令和数据。单片机通过忙标志为低电平的方式来确认。因为它是是一个慢显示器件,如果他在忙的时候否
输入指令,会导致指令无效,lcd将无法执行该指令。此外,要注意的是,因为它有32个字符模块,所以LCD1602显
示字符的时候,要先输入显示字符地址,即告诉他在哪里显示,然后再写入需要显示的字符,即告诉他要显示什么
内容,才能够正常显示字符。
2.5.3 LCD1602的参数
  
型 号 LCM1602A 封 装 COB
外型尺寸 80.0mm×36.0mm 连接方式 导电胶条
视域尺寸 64.5mm×14.5mm 接口方式 单排并口
点尺寸 0.55mm×0.65mm 背光类型 LED
字符尺寸 2.95mm×5.55mm 背光颜色 黄绿/白光/红光等
显示内容 16个字符×2行 工作电压 +5V/+3.3V
显示屏面 黄绿/蓝屏/黑白屏 工作温度 -20~+70℃
控制器 SPLC780D 储存温度 -30~+80℃
2.6开锁模块
开锁模块由继电器和电磁锁这两个应将组成。
通过市场分析,大多数的门锁采用两种方式:电磁锁、电机转动。
  电磁锁的原理是利用电磁铁的原理,当有持续的电流通过电磁锁的时候,使得电磁锁能够产生巨大的吸力,对
金属板产生持续的吸附,从而能将门死死锁住。当控制电磁锁的51单片机系统发出开锁的指令后,51单片机控制继
电器使得经过电磁锁的电流消失,电磁锁失去吸力即可开门。
  而电机转动的控制方式是通过控制电机的旋转方式来进行锁门。例如:顺时针方向转动为开门方向,反之,为
锁门方向。在实际应用中还需调试好转速,避免转速过快导致门的损坏。
  由于电磁锁的吸力大,控制方便简洁,仅通过控制电流通断便可以控制,故本设计采用电磁锁来进行开关门的
控制。
  本设计中需要一个控制开关来实现开门和锁门的操作。对于电磁锁来说,电流得有无对应着门的开关。故本设
计,需要一个阶跃信号来进行控制,即当输入量的变化满足某些要求的时候,它输出量便可以发生阶跃变化。一般
来说,它在自动化系统当中,通常应用于控制电路中。故它常常在电路中,作为自动调节控制模块、安全保护断电
模块、以及转换电路。该设计中,继电器作为自动控制模块,通过控制引脚的高低电平来控制继电器的开合。
2.7报警模块
  由于蜂鸣器的声音大,足以起到警示作用,故报警模块由主要由蜂鸣器构成。蜂鸣器分为类两大类:有源蜂鸣
器和源蜂鸣器。有源蜂鸣器通过改变引脚高低电平,即可通上直流电。当有源蜂鸣器通电的时候,会发出频率固定
的声音。它的缺点是无法改变声音的频率,只能通过延时函数来控制声音发出的时间,因此,它般在简单应场合。
源蜂鸣器可以发出任意频率的声音,它适合运用在需要声调变化的情况下使用。但它的缺点是,它仅仅只在交流电
的条件下开可以使用。此外,它的控制相对复杂,需要户以相应的信号驱动。由于该设计不需要对蜂鸣器的频率变
化进行控制,仅仅需要对蜂鸣器报警时长进行控制,故本设计采用有源蜂鸣器,方便操作。
2.8 电源模块
2.8.1电源模块的构成
  一般来说,给单片机通电的方式有很多种,电池供电和USB口供电较为常见。为了方便使用,本设计采用USB线
给电路通电,而不使用电池进行供电。此外,本设计采用按键作为系统的总开关。由于系统运行需求,按键按下后
电源接通,开关需保持闭合状态。故本设计采用自锁按键作为电路开关模块。普通的按键按下后,手指离开,弹簧
会使得按键自动恢复到最初状态。“自锁”的结构可以使得开关可以保持状态不变。
2.8.1插座的选型
  DC002插座在电子电器领域的应用非常广泛。由于DC002插座成本较低并且通用性强,所以诸多厂商均对DC002插
座有很大的需求。可以使用笔记本电脑或充电宝的USB-A接口配合DC002插座专用USB-A转DC线给电路板供电,十分便
捷。DC002插座的插拔寿命为5000次,较为耐用,不必担心出现插座因使用时间过长而损坏,需要换件的情况。
2.8.2 DC002插座的内部原理
  DC002插座的工作原理如图3-6所示,DC002插座共有3个引脚。其中1号引脚对应电源正极,2号引脚对应负极动
触点,3号引脚对应负极静触点。当有插头插入时,负极动触点与负极静触点分离,负极动触点与插头的负极相连,
电源正极与插头的正极相连,从而向电路板供电。
  当电路板设计有内部电源时,负极静触点连接内部电源的负极,电源正极连接内部电源的正极。 若没有插头插
入,插座会默认使用内部电源为电路板供电;若有插头插入,插座会断开内部电源,优先使用外部电源为电路板供
电。本次设计中没有涉及到内部电源,所以可以不用考虑插座的3号引脚。
图3-6 DC002插座的内部原理在这里插入图片描述

2.8.3 DC002插座的参数
  
插入力度 3~20N
绝缘电阻 ≥100MΩ
使用温度范围 -30℃~70℃
额定负荷 DC30V 0.5A
接触电阻 ≤0.03Ω
压力 86KPA~106KPA
耐压 AC500V(50Hz)/min
机械寿命 5000次
2.8.4 按键开关
  按键开关的简介:按键开关又称微动开关,是很常见的一种开关类型。按下开关后,开关接通。松手后,开关
会自动弹起并断开。
  按键开关的优势:按键开关的型号繁多,被许多电子产品所采用。按键开关的特性决定了它主要会被应用于手
动控制信号的输入,例如遥控器按键、设置按键以及输入按键等。按键开关的成本较低、使用寿命长、成熟可靠、
安装便捷,所以本次设计选择使用按键开关作为手动控制模块。在这里插入图片描述

图2.7.8自锁开关原理图
2.9本章小结
  本章介绍了智能门锁系统的硬件。详细介绍了单片机、按键模块、RFID模块、指纹模块和报警模块的选型。根
据市场需求以及实用性,以及优缺点分析,阐明了运用这些模块型号的原因。并对各个模块的原理进行分析,对硬
件设计方面进行了详细的描述。

第三章 智能门锁软件设计

3.1 系统各模块设计方案
3.1.1 按键模块
  功能运行逻辑:按键主要用来实现门锁的密码更改、输入。用户首先输入管理员密码,进入密码修改模式进行
修改密码,密码修改完成后,储存密码。进门时输入密码,若密码与已存储的密码一致,则开门;否则报警。此外
添加了功能按键,用来录入指纹、删除指纹、录入门卡、删除门卡。
以下为本设计系统的按键的功能示意:
1 2 3 A
4 5 6 B
7 8 C

  • 0 # D
    【0—9】为数字键,用于输入相应的密码,
    【A】为功能键,用于录入指纹,
    【B】为功能键,用于删除指纹,
    【C】为功能键,用于录入门卡,
    【D】为功能键,用于删除门卡,
      左图为智能门锁市场中广泛使用的密码锁按键,右图是根据左图基础上进行更改的智能门锁设计按键及其功
    能。可以看出,该设计保留了数字按键的位置及功能。由于该设计系统未增加蓝牙连接手机APP远程管理系统,故为
    了方便实用,该设计添加了按键的个数和功能。该设计增加了四个功能按键,以此作为快捷键。四个功能按键代表
    了录入指纹、删除指纹、录入门卡、删除门卡,这四个功能。
      此外,根据智能门锁市场的需求来看,为了提高密码锁的安全性,如今的智能门锁大多采用虚位密码作为密码
    解锁的方式。为了防止固定密码被泄露导致房屋被盗,该设计的密码采用虚伪密码,虚位密码功能也由按键来实
    现。虚位密码这种设计大大提高了密码的安全性,虚位密码是保障密码的有效方式之一。大致逻辑如下:用户设置
    好密码之后,输入的密码中有一段连续正确的密码即可开门。即用户设置密码为:123456 开门时输入密码为:
    123456000 即可开门。
    程序逻辑:首先,系统通过拉低p1.4、p1.5、p1.6和p1.7这四个端口的电压,判断是否有按键按下,延迟10ms之
    后,再次判断是否有按键按下,用延时的方法进行按键的消抖。通过测试列和行,来判断按键是否按下。
      unsigned char Key_m_Scan(bit mode){ unsigned char KeyValue = 0;key_up = mode;delay_ms(10);//延时
    消抖 if(GPIO_KEY!=0x0f)//判断按键是否按下GPIO_KEY=0X0F; //测试列 switch(GPIO_KEY){ case(0X07):
    KeyValue=0x80;break; case(0X0b): KeyValue=0x40;break; case(0X0d): KeyValue=0x20;break; case(0X0e):
    KeyValue=0x10;break; } GPIO_KEY=0XF0; //测试行 switch(GPIO_KEY) { case(0X70): KeyValue=KeyValue+0x08;
    break; case(0Xb0): KeyValue=KeyValue+0x04;break; case(0Xd0): KeyValue=KeyValue+0x02;break; case
    (0Xe0): KeyValue=KeyValue+0x01;break; }图3.1.1判断按键按下的部分程序图
      虚位密码的功能实现逻辑:单片机将用户设定好的密码进行存储。当用户输入密码时,用循环语句将输入密码
    的每一位逐一与设定好的密码的第一位进行比较。如果第一位相符,那么继续对比对应输入密码的下一位进行对
    比。例如:输入密码的第五位与设定密码的第一位相同,那么对比输入密码的第六位和设定密码的第二位。以此类
    推,如果全部相同,则显示密码正确,即可开门。如果其中有不相同的数字,则从相符的那一位之后,重新逐一与
    第一位密码进行对比。如果完成该循环,仍无与设定密码相对应密码段,则显示密码错误,进行报警处理。
    3.1.2指纹模块
    软件设计逻辑:
      首先用户按下录入指纹的功能键,进行指纹录入,用户要按两次手指,在录入两次指纹之后,指纹模块将两次
    指纹的图像合并储存入指纹库内,完成指纹的录入。
      之后当用户选择指纹识别开门时,单片机控制指纹模块扫描指纹图像,将其对应的标识特征写入指纹缓冲区,
    与指纹库内已存储的指纹逐一比对,查看是否与已储存的指纹相同。
    若与其指纹相同,则开门;否则,启动报警。
    程序逻辑:
      首先,指纹模块要与单片机进行握手,握手成功后,指纹模块向单片机应答,应答成功后,单片机输入指令对
    其进行控制。删除指纹时,单片机向指纹模块发送删除指纹的指令,将指纹库中的指纹模块进行删除。保存指纹
    时,将指纹模板存放在plash的位置,存放完毕之后,用过串口通讯将指纹的模板通过串口通讯传入单片机中存储。
    如下图为指纹模块的流程图。在这里插入图片描述

图3.1.2指纹模块流程图
3.1.3 LCD1602模块
LCD1602模块主要用来显示界面,方面用户操作。LCD1602与按键、指纹模块。
LCD1602运行逻辑设计方案:
  提示输入密码或按下指纹。当按下密码后,提示密码正确或错误;当按下指纹后,提示指纹是否匹配。按下录
入指纹按键,提示用户按两次指纹,之后显示录入成功。按下录卡的按键,录RFID卡完成后,提示用户录入成功。
以下是LCD1602的显示流程图。在这里插入图片描述

图3.1.3 lcd1602的流程图
  Wr_LCD1602_Str(0x40," Open The Door “);当删除指纹功能键按下,单片机提示用户删除指纹,显示指令为:
Wr_LCD1602_Str(0x00,” Finger delete…“);Wr_LCD1602_Str(0x40,” delete success ");添加指纹功能键按下
时,单片机提示用户连续按下手指,完成指纹的录入,显示指令为:Wr_LCD1602_Str(0x00,“Touch Finger…”);
Wr_LCD1602_Str(0x40,"To Open The Box “);当指纹识别错误,显示的指令为:Wr_LCD1602_Str(0x40,“Finger
Error
”);当指纹识别成功,显示指令为:Wr_LCD1602_Str(0x00,“Finger Authorize”);Wr_LCD1602_Str(0x40,”
Open The Door ");当删除指纹功能键按下,单片机提示用户删除LCD1602的程序运行逻辑:首先,寄存器读数据,
读取忙操作,低电平开始写操作。单片机准备数据,将显示数据的以及显示的位置给LCD1602读取。
3.1.4 RFID模块
RFID模块用来实现门卡的添加、识别和删除。
  RFID开启寻卡模式,当用户将有效的卡放在RC522模块上,该模块的天线可识别该卡。开启读卡模式,开启天
线,天线将读出卡的16位id号,并将该卡对应的16位id与储存的id对比,如果不同,则显示错误,报警。如果相
同,LCD提示开门并控制继电器驱动电磁锁开门。
  按下添加门卡的功能键,RFID开启寻卡模式当用户将有效的卡放在RC522模块上,该模块的天线可识别该卡。开
启读卡模式,读出卡的16位id号,并将该卡对应的16位id储存。
按下删除门卡的功能键,RFID将删除储存的卡片id号。
  除此之外,RFID系统应注意防冲撞,防止RFID读取两张卡。如果读取到两张卡时,控制器不保存卡的id数据。
由于该模块的程序较多,故在附录上展示。
读卡原理:
  MCU可以实现对读卡器芯片的控制。具体方式通过发送读写命令给RC522读卡器芯片内的寄存器,以此来实现
的。
  开启寻卡模式的时候,当有卡片在读卡器的天线可接收的空间内的时候,卡片可以收到来自MCU发送的寻卡命
令,寻找有合法性的卡片,天线将读出卡片的id以及卡片种类,建立卡片与读卡器的联系。单片机对RC522发出防冲撞的指令,当天线读取到多张卡片时,RC522可以选特定的卡片id,以此来给予某一张卡片的优先权限。在防冲撞的时
候,优先权靠后额卡片不会被选中,仍然处于空闲的状态,等待下一个寻卡命令。选中卡片后,当验证码确认后,
就可以读卡和写卡了。此外,在启动防冲撞指令的时候,如果未规定哪张卡被选中,单片机将控制RC522停止寻卡。
通过添加延时函数,一段时候后,再次打开天线,开启寻卡模式。
3.1.5 开锁模块
程序逻辑设计:
  sbitrelay=P1^4;//设置继电器的控制IO口voidmain(){relay=0;//初始时继电器闭合while(1){ delay1s(1);//
延时 relay=1;//继电器打开 delay1s(1);//延时 relay=0;//继电器闭合}}通过单片机控制继电器,继电器在控制
电磁锁转动进行开门。具体的控制流程为:通过c51单片机控制继电器,通过控制继电器的引脚的电平高低变化,从
而使继电器控制改变电磁锁内的电流大小。开门的时候,智能门锁的开关应闭合。由此可知,需要激发出电磁场。
因此,应该将继电器的引脚置于高电平。关门的时候。智能门锁的开关应处于断开状态,无需电磁场,因此应该将
若单片机输出端置为低电平。
3.1.5开锁部分的程序图
3.1.6 报警模块
单片机控制蜂鸣器发声的基本原理和方法:
  声音的控制方法:蜂鸣器发声的方法是通过单片机对其输出驱动电平实现的。通过改变每一个脉冲循环内,输
出电平的通电时间相对于总时间所占的比例,以此来实现对声音大小的控制。在发声时长这一方面,通过延时函数
设定不同的时间。以此来控制报警时长。此外,蜂鸣器的音调由
  typedef unsigned int u16; //对数据类型进行声明定义typedef unsigned char u8;sbit beep=P2^0;//定义
蜂鸣器的引脚void delay(u16 i){ while(i–); }void Beep(){ beep=~beep;//进行高低电平的转换 delay(100);
//延时函数}void main(){ while(1) { Beep(); }3.2 系统整体设计
3.2.1系统原理图以及逻辑框图
  整个系统由六个模块组成,采用c51单片机控制。采用密码解锁、指纹解锁、RFID卡解锁,这四种解锁功能,用
户可以在不同条件下任意选用。LCD1602将操作流程可视化,提示用户操作,方便用户解锁。用户可根据LCD1602的
显示字符进行操作,这大大降低了用户操作的困难程度。
以下为单片机控制系统框图:在这里插入图片描述

图3.2.1单片机控制系统框图
以下是系统的原理图:在这里插入图片描述在这里插入图片描述

图3.2.2系统原理图
主系统逻辑:
  首先LCD1602提示用户通过按键输入密码解锁,也可将手指放在指纹模块中进行指纹解锁,若密码正确或指纹匹
配,则显示开门并且继电器驱动电磁锁转动,若指纹或密码错误,则LCD1602提示指纹错误,或者指纹错误,并且蜂
鸣器报警。当用户输入三次密码仍错误时,蜂鸣器长鸣。当用户按三次手指,指纹信息仍不匹配时,蜂鸣器长鸣。
用户可以通过输入管理员密码,进入管理员界面更改密码。修改密码时,为了完成密码的修改,系统需要用户输入
两次相同密码。当用户按下添加指纹按键,根据LCD1602的提示添加指纹。添加指纹时,用户需按两次指纹之后添加
完成。之后用户可以通过按下之前添加好的指纹,进行开门。
3.3小结
  本小结先介绍了各个模块的运行设计逻辑,之后介绍了整体系统的逻辑和功能。本章将系统设计的原理图和框
图进行描述,并将系统的整体功能逻辑进行描述和分析。阐述了主系统的各部分功能之间的关系,以及用户使用的
时候各个模块的功能如何运行。在功能运行方面,本章详细讲述了各个功模块的运行逻辑并对流程图加以描述。此
外,本章大致讲述了各个模块程序的运行逻辑。用户将根据LCD1602的提示进行指纹、按键、RFID解锁等。整体标
明,该系统的功能较为完备。

第四章 智能门锁调试

4.1调试
  单片机设计系统的调试分为硬件调试和软件调试。为了防止单片机及各硬件模块损坏,本设计采用proteus对其
主要功能进行仿真,调试好后将代码进行补充后烧入单片机进行软硬件的联调。
4.1.1 proteus仿真
由于指纹模块无法用proteus仿真,故把按键功能进行细微更改。
仿真的逻辑大致如下指纹解锁:如果指纹与输入指纹匹配即可开门 不匹配警示灯红灯亮起。
仿真连接图如下:
  密码解锁: 输入默认密码 密码正确即可开门 密码错误显示错误 按下修改密码按键可修改密码 修改完成后重
新输入密码(默认密码00000000)
指纹解锁:如果指纹与输入指纹匹配即可开门 不匹配警示灯红灯亮起
仿真连接图如下:在这里插入图片描述

图2 proteus仿真连接图
根据市场调研结果,仿真图中的按键功能与当前按键功能大致相同:
1 2 3 A
4 5 6 B
7 8 C

  • 0 # D
    【0—9】为数字键,用于输入相应的密码,
    【*】号键为键为修改密码
    Proteus的仿真界面运行如下:
      用户忘记密码时,可以通过输入管理员密码,进入管理员模式对密码进行重置。在proteus仿真时,简化了这一
    步骤,用功能键替代了这一逻辑。在进入管理员界面之后,lcd1602提示用户进行对密码修改的操作。为了防止用户
    在设置密码时输入错误,导致用户想要设置的密码与实际设置的密码不同,这一问题的发生,用户需连续输入两次
    密码。当用户连续输入两次密码且密码相同后,LCD1602才可以显示密码设置成功并将密码进行保存。在这里插入图片描述

图3 proteus仿真保存密码运行图
  当用户设置完密码后,用户即可用设置好的密码进行解锁开门。当用户解锁开门时,为了防止密码被泄露,
LCD1602的密码显示用字符*来替代。通过这一设计,提高了密码的安全性,防止密码的泄露。当用户输入密码与设
置密码不同的时候,51单片机会控制LCD1602显示密码错误的界面,以此来及时提醒用户密码输入错误,并提示用户
重新输入密码。当用户密码输入正确之后,51单片机会控制LCD1602提示用户密码正确,并进行开门。在这里插入图片描述

图4 proteus仿真密码解锁运行图
4.1.2软硬件调试
  将系统的各个硬件按原理图进行连接,检查电路连接是否正确。在通电的时候,检查脚的电位。首先将各个模
块结合其代码进行逐一调试,调试完毕后再将其整体进行测试。
  首先提示用户进行密码解锁或者指纹解锁,为了确保密码不会泄露,用*替代。如果用户密码错误后 LCD1602提
示错误并且蜂鸣器报警,当用户输入密码错误三次,蜂鸣器长响;当用户输入密码正确开门显示,继电器控制电磁
锁转动开门。当用户按下添加指纹按键时,LCD提示添加指纹。如果指纹模块未检测到指纹,LCD提示指纹添加失
败,第一次指纹添加成功时,LCD1602提示用户再次按指纹。第二次指纹添加成功后,LCD显示添加指纹成功。当用
户选择指纹解锁时,指纹匹配失败LCD报警提示;蜂鸣器响,指纹错误三次,蜂鸣器长响,当用户的指纹匹配成功
时,LCD1602提示开门,继电器控制电磁锁开门,开门提示灯亮起,当用户按下删除指纹键时,LCD显示删除指纹。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值