基于stc12c5a60s2单片机的智能门锁系统的设计与实现.docx
- 文档编号:25060181
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:74
- 大小:1.46MB
基于stc12c5a60s2单片机的智能门锁系统的设计与实现.docx
《基于stc12c5a60s2单片机的智能门锁系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于stc12c5a60s2单片机的智能门锁系统的设计与实现.docx(74页珍藏版)》请在冰豆网上搜索。
基于stc12c5a60s2单片机的智能门锁系统的设计与实现
中文题目:
基于STC12C5A60S2单片机的智能门锁系统的设计与实现
外文题目:
DESIGNANDIMPLEMENTATIONOFINTELLIGENTDOORLOCKSYSTEMBASEDONSTC12CA60S2MCU
毕业设计(论文)共64页(其中:
外文文献及译文6页)图纸共0张
完成日期2016年6月答辩日期2016年6月
摘要
在互联网与电子科技高速发展普及的今天,智能产品大量涌入人们生活中,但在居民生活应用方面仍有很大的发展空间。
本系统基于51单片机,3.7V锂电池供电,设计了一款智能门锁,使用LCD1602显示屏作为交互界面,实现状态显示,4×4矩阵键盘作为密码输入端口,实现键盘解锁,HC-05蓝牙模块作为与Android连接的端口,使用Android智能手机输入密码解锁,SIM800L短信模块作为短信发送与接收的端口,实现短信解锁,门锁状态通知等功能。
系统使用简单、响应快捷、安全方便,为居民家庭财产提供安全保障,也解决了没有钥匙无法开锁的问题,具有一定应用价值。
关键词:
单片机;电子锁;密码锁;
Abstract
TodayinthepopularityofInternetandtherapiddevelopmentofelectronictechnology,intelligentproductsinfluxofpeople'slife,butintheapplicationoflifeoftheresidentstherearestillmuchroomfordevelopment.Thesystembasedon51MCUdesignasmartdoorlock,asinteractiveinterface,toachievethestatedisplaywithLCD1602display,4*4matrixkeyboardasapasswordinputportandunlockthekeyboard.HC-05BluetoothmoduleastheportconnectedwiththeAndroid,Androidsmartphonestoenterapasswordtounlock,SIM800LSMSmoduleastextmessagestosendandreceiveport,ashortlettertounlockdoorLockstatusnotification,3.7Vlithiumbatterypowersupply.Thesystemiseasytouse,fastresponse,convenientandsafe,fortheresidentsofthefamilypropertytoprovidesecurity,alsohavenotsolvedthekeytounlocking,hascertainapplicationvalue.
Keywords:
MCU;Electroniclock;Passwordlock;
引言
随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。
而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
伴随着电子科技的出现以及智能家居概念的深入人心,门锁的智能化已经成为可能,现在已经存在多款智能化门锁,主要是使用电磁卡片解锁或指纹解锁,由于过高的价格使得这类智能门锁主要应用于公司与企业或酒店当中,很难得到居民的认可。
在国内外主要的研究方向是指纹解锁与眼球解锁,如今指纹解锁的精度与安全性的开发与研究已经成熟,但是眼球解锁实用化仍然需要时间,本系统使用最为简单但安全性最高的密码解锁,基于廉价高效的STC12C5A602单片机,同时增加便捷的智能手机解锁与短信解锁功能,在确保安全性的同时提高便捷性,配合手机软件,实现简单便捷的智能开锁体验。
1项目概述
1.1选题背景
在电子信息大爆炸的今天,智能、便捷、廉价、高效成为发展的主题,传统机械锁已经无法满足用户的需求,无法确定门锁的状态,需要配多把钥匙,需要随身携带钥匙,无法远程开锁等多种不便,这使得电子门锁的出现成为必然,相比于传统的机械锁,电子门锁具有使用记录和状态监测等功能,同时伴有防盗报警功能,安全可靠。
1.2目的及意义
根据当前的科技水平与需求环境,使设计并实现一款简单、智能、实用的智能门锁成为可能。
如何才能让门锁的使用变得更加简单,可以使用密码来代替钥匙开锁,钥匙需要随身携带,同时也要配备多把以防丢失,而密码则没有这些问题,只需要记住密码就可以了。
如何才能让门锁的使用更加便捷,传统门锁需要使用钥匙到门近前才能开锁,当人在屋内而客人敲门时,也需要到门口才能开门,可以增加远程开锁方式,以增加开锁的便捷性。
如何才能让门锁的使用更加安全,传统门锁在之人离家时无法得知门锁的状态,无法知道门锁是否被打开,被谁打开,可以增加状态通知功能,可以让主人实时了解门锁当前的状态,大大加强门锁的安全性。
综上所述,智能门锁相比于传统门锁有更高的使用价值,拥有很广的发展前景。
1.3国内外研究现状与发展趋势
国内外对于电子锁的主要研究方向为指纹解锁,红外解锁,IC磁卡解锁,眼球解锁,脑纹等更加安全、有效、便捷的解锁方式,如今指纹解锁,红外解锁,IC磁卡解锁变得十分成熟,但眼球解锁与脑纹解锁仍处于研究阶段,其他解锁方式主要应用于酒店,公司,企业当中,很少应用于居民生活。
指纹解锁使用指纹的唯一性进行解锁,如今的指纹锁经过数年的发展已经具有很高的安全性,但成本较高。
眼球解锁与脑纹解锁将是新一代电子锁的发展方向,指纹可以进行复制,但是脑纹与眼球却难以复制,可以将安全系数提高到更高的层次。
2相关技术
2.1单片机技术
单片机[1]又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的基本结构[2]由运算器,控制器,寄存器构成。
运算器由运算部件——算术逻辑单元(Arithmetic&LogicalUnit,简称ALU)、累加器和寄存器等几部分组成。
ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。
ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。
例如,两个数6和7相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6。
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。
微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。
外部总线又称为系统总线,分为数据总线DB、地址总线AB和控制总线CB。
通过输入输出接口电路,实现与各种外围设备连接。
寄存器由累加器,数据寄存器,指令寄存器,指令译码器等构成。
主流单片机包括CPU、4KB容量的RAM、128KB容量的ROM、2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
系统结构简单,使用方便,实现模块化。
单片机可靠性高,可工作到10^6~10^7小时无故障,处理功能强,速度快,低电压,低功耗,便于生产便携式产品,控制功能强,环境适应能力强。
2.2矩阵键盘行列扫描技术
行列扫描技术[3]是一种寻找在矩阵键盘被按下按键位置的方法,是根据矩阵键盘的结构来实现的,以4×4矩阵键盘为例(如图2-1所示),有4条行线(PA0~PA3)与4条列线(PA4~PA7),4条行线置于低电平,4条列线置于高电平,当按键被按下时,被按下按键所在列的电平就会被拉低,从而找到按键的所在列,在依次将一条行线的电平置为0,其余行线置为1,如果所在列线的电平再次被拉为低电平,则找到按键所在行线,从而定位按键的位置。
图2-1矩阵键盘电路图
Fig.2-1Matrixkeyboardcircuitdiagram
2.3按键去抖技术
通常的按键所用开关为机械弹性开关[4],当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键去抖。
此按键去抖技术是使用软件的方法减少按键抖动带来的影响[7,8],主要是使用延时程序,使用5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
延时的5ms~10ms恰好避开了按键的抖动期。
2.4串口通信技术
串口通信[5]的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据,它很简单并且能够实现远距离通信。
串口主要用于ASCII码字符的传输。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
串口通信最重要的参数是波特率[6]、数据位[7]、停止位和奇偶校验。
对于两个进行通信的端口,这些参数必须匹配。
波特率是一个衡量通信速度的参数,它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
本系统主要使用的9600波特率。
数据位是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
停止是用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
奇偶校验位:
在串口通信中一种简单的检错方式。
有四种检错方式:
偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。
2.5AT指令技术
AT指令集[8]是从终端设备(TerminalEquipment,TE)或数据终端设备(DataTerminalEquipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发送的指令代码,以AT为开头,以回车作为结尾。
每个指令执行的成功与否都会有相应的返回。
90年代初,AT指令仅被用于Modem操作。
没有控制移动电话文本消息的先例,只开发了一种叫SMSBlockMode的协议,通过终端设备(TE)或电脑来完全控制SMS。
几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT指令,其中就包括对SMS的控制。
AT指令在此基础上演化并被加入GSM07.05标准以及GSM07.07标准,完全标准化和比较健全的标准。
如:
对SMS的控制共有3种实现途径:
最初的BlockMode;基于AT指令的TextMode;基于AT指令的PDUMode。
到PDUMode已经取代BlockMode,后者逐渐淡出。
GSM模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。
每个指令执行成功与否都有相应的返回。
其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
2.6蓝牙通信技术
蓝牙通信技术是采用低能耗无线电通信技术[9]来实现语音、数据和视频传输的,其传输速率最高为每秒1Mb/s,以时分方式进行全双工通信,通信距离为10米左右,配置功率放大器可以使通信距离进一步增加。
蓝牙技术采用的是跳频技术[10],能够抗信号衰落,采用快跳频和短分组技术,能够有效地减少同频干扰,提高通信的安全性,采用前向纠错编码技术,以便在远距离通信时减少随机噪声的干扰,采用2.4GHz的ISM(即工业、科学、医学)频段,以省去申请专用许可证的麻烦,采用FM调制方式,使设备变得更为简单可靠。
“蓝牙”技术产品一个跳频频率发送一个同步分组,每组一个分组占用一个时隙,也可以增至5个时隙。
“蓝牙”技术支持一个异步数据通道,或者3个并发的同步语音通道,或者一个同时传送异步数据和同步语音的通道。
“蓝牙”的每一个话音通道支持64Kbps的同步话音,异步通道支持的最大速率为721Kbps、反向应答速率为57.6Kbps的非对称连接,或者432.6Kbps的对称连接。
蓝牙技术产品与因特网Internet之间的通信,使得家庭和办公室的设备不需要电缆也能够实现互通互联,大大提高办公和通信效率。
因此,“蓝牙”将成为无线通信领域的新宠,将为广大用户提供极大的方便而受到青睐。
3总体设计
3.1设计方案
本文所设计的智能门锁系统能够实现键盘密码解锁与系统设置,近距离蓝牙远程无线解锁与系统设置,远距离短信无线解锁与系统涉资,门锁状态信息反馈等功能,安全,简单,方便,快捷。
智能门锁系统结构图如图3-1所示,STC12CA60S2单片机作为系统控制核心,使用液晶显示模块作为系统交互界面,指导用户操作,键盘输入模块作为直接输入接口可以输入密码解锁和进行相关系统设置,如修改密码等。
通过智能手机的蓝牙串口软件可以使用蓝牙通信模块实现近距离无线控制门锁,使用无线通信模块可以远距离无线控制门锁,同时单片机也可以通过此模块反馈门锁的状态,智能手机也会存储相关的信息,例如电子门锁打开次数以及时间等相关信息。
图3-1智能门锁系统总体结构图
Fig.3-1Generalstructureofintelligentdoorlocksystem
3.2系统硬件总体设计
3.2.1系统硬件结构
智能门锁系统的硬件结构搭建如图3-2所示,图中LED液晶显示屏放在最上面,有利于与用户的交互,给用户良好的视觉体验,4x4的矩阵键盘最为输入端口发在液晶显示屏的下面,有利于用户的输入。
左侧的蓝牙模块可用于与上位智能机的链接,以达到近距离远程操控的功能,STC12CA60S2单片机作为控制核心,与蓝牙模块,无线通讯模块,键盘,显示屏相连接,以达到控制作用,同时使用3.7v锂电池进行供电,可以使智能门锁系统可以在外部电源切断的情况下继续工作。
图3-2智能门锁系统硬件搭建结构图
Fig.3-2Intelligentdoorlocksystemhardwarestructurediagram
3.2.2系统硬件方案设计
智能门锁的解锁方式有很多,本文主要是使用6位密码作为解锁方式,主要的输入方式有3种,一是使用键盘直接进行输入到单片机中,二是使用蓝牙模块通过串口输入到单片机中,三是使用无线传输模块通过串口输入到单片机中,最后在单片机中处理,在LCD液晶显示屏中显示相关内容。
系统硬件设计方案如图3-3所示。
图3-3智能门锁系统硬件设计方案
Fig.3-3Hardwaredesignofintelligentdoorlocksystem
(1)单片机
相比于现在广为使用的ARM作为处理核心,单片机拥有能耗低,兼容性好,价格低廉的特点,而且单片机不需要依靠任何烧录器,可直接通过电脑上的串口以ISP方式进行烧录,相比于使用JTAG烧录方式的ARM,操作简单容易。
而且单片机作为本系统的处理核心性能足够,使用ARM会造成性能溢出的缺点。
同时它的精确的控制每个引脚的输入输出状态,指令简单,运行效率高。
(2)矩阵键盘
采用矩阵键盘可以在按键较多的时候,减少I/O口的占用,虽然识别的方法比较复杂,但是可以有效的为其他模块节约空间,同时相比于薄膜键盘来说,按键反馈率高,使用方便,成本低,性能高。
相比于单个按键,可以节约出更多的引脚用于其他模块的扩展,以减少开发成本。
(3)蓝牙
之所以采用蓝牙模块作为短距离无线传输模块,是因为它的成本低,性价比高,具有3.3V~5V的宽伏电压,同时连接效率高,内置天线,体积小,简单的外围电路,功耗低等特点,可以用来与智能手机相连接,通过串口近距离无线操控单片机,同时自带FLASH闪存,可有效防止信息缺失,相比于WIFI模块,具有更强的安全性与实用性。
(4)无线传输
无线通讯模块可以将单片机传输来的智能门锁的状态数据通过短消息传输给手机,使主人了解门锁是否被外人打开。
同时可以使用手机将密码或控制信息通过短信(SMS)的方式发送给单片机,实现远距离无线控制。
3.3系统软件总体设计
本设计采用模块化的程序设计,包括中断控制程序,串口通讯程序,LED液晶显示子程序,键盘程序,密码验证子程序SMS短消息子程序6部分模块组成如图3-4所示。
图3-4智能门锁系统软件功能模块图
Fig.3-4Softwarefunctionmoduleofintelligentdoorlocksystem
3.3.1上位机软件设计
上位机软件的主要功能是实现与蓝牙模块的连接,接受和发送数据,可以实现蓝牙控制单片机的功能。
上位机用java语言编写。
主要实现的功能为Android智能手机搜索附近蓝牙,配对并连接单片机的蓝牙模块,输入相应的控制指令并且得到相应的反馈信息,当停止使用时可以断开蓝牙,结束上位机的操作。
上位机软件流程如图3-5所示。
图3-5上位机软件程序流程图
Fig.3-5Computersoftwareprogramflowchart
3.3.2下位机软件设计
下位机的软件设计为本系统的主要设计部分,实现的功能有使用4x4矩阵键盘输入密码解锁,液晶屏显示当前系统的状态门是否被打开,蓝牙是否连接成功,当蓝牙连接成功时可以使用蓝牙进行解锁,当接受到蓝牙发送的信息时可以对其进行判断并返回相应的反馈信息。
当收到短信时可以判断短信的内容进行解锁,也可以判断是否接收到短信,如果接收到短信,则对短信的内容进行判断,执行相应的操作,当门的状态发生改变时,可以发送短息进行通知。
当门被打开时可以选择进入管理员模式,在管理员模式下可以修改密码和其他系统配置。
下位机用C语言编写,开发平台为KeilC51,KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
下位机软件流程如图3-6所示。
图3-6下位机软件程序流程图
Fig.3-6Softwareprogramflowchart
4系统硬件设计
4.1系统硬件设计原则
本设计作为一款门锁来说,需要很高的安全性与稳定性,才能起到防盗,保护财产的作用,同时需要简洁,明了的操作方式,以便于老人、儿童使用。
所以采用键盘、蓝牙、短信三种解锁方式,以适应群众。
除此之外还需要在功耗与稳定性上进行加强,以保证智能门锁是正常运行。
所以需要电路设计需要有更强的抗干扰能力,在电路设计时应采用更加稳定,可靠的硬件,更加合理的,常规的电路连接,而且为了充分满足系统的功能要求,应为留有余地,以方便二次开发。
在硬件选择上,不仅需要稳定,可靠,还应做到相关器件尽可能的系统匹配,也必须考虑到器件之间的相互干扰。
在使用串口时,应对串口的复用进行设计以达到同时驱动蓝牙串口模块和无线通讯模块。
在电路设计上,应采用模块化的电路设计,降低器件之间的干扰,加强系统的稳定性。
在电源设计方面,应使用稳定可靠的电源输出,同时应靠近硬件需求,以延长硬件的使用寿命,提高用户体验。
4.2核心部件选型
4.2.1单片机
本系统所采用的单片机为STC12C5A60S2,在众多的51系列单片机中,要算国内STC公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,STC12C5A60S2单片机内部就自带高达60KFLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。
而且STC系列单片机支持串口程序烧写。
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
与传统的51单片机相比,同样晶振的情况下,速度是普通51的8~12倍,有8路10位AD,多了两个定时器,带PWM功能,有SPI接口,有EEPROM,有1K内部扩展RAM,有WATCH_DOG,多一个串口,IO口可以定义,有四种状态,中断优先级有四种状态可定义,本系统由于需要同时使用蓝牙与SMS无线通信模块,所以需要两个串口,STC12C5A60S2单片机可以完全满足系统的要求,同时减少开发的负担。
其引脚图如图4-1所示。
图4-1STC12C5A60S2单片机引脚图
Fig.4-2STC12C5A60S2microcontrollerpindiagram
4.2.2显示部件
本系统采用的LCD液晶显示器是1602液晶显示器,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,其接口说明如表4-1所示。
表4-2LCD1602液晶显示器引脚说明表
Tablet.4-2TableofLCD1602liquidcrystaldisplaypindescription
序号
名称
说明
1
VSS
一般接地
2
VDD
接电源
3
V0
液晶显示器对比度调整端
4
RS
寄存器选择,高电平选择数据寄存器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 stc12c5a60s2 单片机 智能 门锁 系统 设计 实现