版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STC89C52单片机的智能密码锁控制系统设计摘要如今人们的生活用品都在实现智能化,它使我们的生活更加便捷和安全,密码锁行业当然也在追求更加安全、智能、便捷,如今密码锁的智能化已成为密码锁行业主流的追求目标。为提高密码锁的安全性、便捷性、智能性,本课题就设计和实现智能密码锁控制系统,本系统基于STC89C52单片机采用矩阵按键输入形式灵活输入密码,同时装有储存模块、显示模块,还装有继电器模块模拟开锁和关锁,设置开锁指示灯便于了解开锁及关锁的动态。同时还采用了蓝牙模块与手机端APP通信,实现手机端灵活控制开锁。相较于传统老式锁而言,本智能密码锁控制系统在智能、便捷、安全等方面都较大提升。本论文先后就智能密码锁课题研究意义、可行性分析、系统的设计及测试进行了详细的概述。关键词:智能密码锁;蓝牙;STC89C52单片机目录摘要 [10]。当三极管接通电路有电流通过,此时继电器处于常开状态、电磁锁开为开锁状态并且开锁指示灯亮;当三极管断开电路无电流通过,此时继电器处于常闭状态、电磁锁开为关锁状态并且开锁指示灯熄灭。如下图4-10为继电器模块:图4-10继电器模块继电器模块电路如下图4-11所示:图4-11继电器模块电路图4.2系统软件设计本系统软件由易安卓开发设计,编写程序完成后编译运行后生成apk文件,由Android智能手机下载生产手机端APP,通过手机蓝牙连接单片机蓝牙模块实现接收和发送信息,其设有搜索蓝牙、连接蓝牙、开关锁及退出按钮,可实现手机端灵活控制开关锁。Android软件的页面布局如下图4-12所示:图4-12Android软件页面布局图
5.系统的实现与测试5.1系统的详细设计与实现5.1.1系统方案设计本系统首先通过矩阵键盘输入信息并由IO串口并行发送给单片机,单片机接收到数据后通过编写的程序处理数据并做出相应操作,同时在万能板上安装串口蓝牙通信模块接收手机端发送的数据信息。手机端APP驱动手机自带的蓝牙并与单片机蓝牙相连接,通过蓝牙给单片机发送数据。5.1.2Android软件开发本系统的Android软件由易安卓编写开发,只需下载易安卓编程,简单且易于操作和编写,电脑上安装完成后即可进行编写操作。1、首先新建一个工程,如下图5-1所示:图5-1新建工程2、添加按钮,设置页面布局。打开文字类组件,选择按钮或编辑框等组件到主窗口中进行排版布局。文字类组件如下图5-2所示:图5-2文字类组件布局设计完成后如下图所示:图5-3Android软件布局设计3、点击按钮或编辑框创建事件进行代码编写。打开APP判断手机有无蓝牙或是否开启,如下图5-4所示:图5-4判断断手机有无蓝牙或是否开启点击开开始搜索按钮,搜索外部蓝牙,代码编写如下图5-5所示:图5-5搜索外部蓝牙点击锁开关按钮,发送数据信息给单片机控制开关锁,代码编写如下图5-6所示:图5-6发送数据页面布局及代码编写完成后,编译运行,生产apk文件,如下图5-7所示表示编译运行成功:图5-7编译运行成功5.1.3单片机程序开发本系统的单片机程序开发使用C语言并在KeilμVision5开发平台上进行开发,KeilμVision5开发平台在编写代码、程序的编译运行以及调试方面都远优于其他开发平台。1、打开KeilμVision5新建工程、文件进行代码编写,如下图所示。图5-8新建工程2、主程序编写设计首先对系统进行初始化定义,扫描矩阵键盘后接收通过矩阵键盘输入的密码,比对输入的密码是否正确。若在输入密码过程中如不小心按错可手动清除输入的密码,重新输入。如输入的密码错误,则蜂鸣器报警提示密码错误;如输入的密码正确则实现开锁操作。若要更改密码操作,则可在输入密码正确电磁锁开锁之后再输入一次之前密码,然后开始输入新密码并将新输入的密码存入缓冲区内,之后再输入一次新密码并对输入的新密码与缓冲区中的新密码进行比较,若两次输入的新密码相同则液晶显示屏提示密码更改成功,若不相同则返回重新输入密码。程序流程图如下图5-9所示:图5-9主程序流程图若输入密码超过三次,蜂鸣器报警,通过矩阵键盘无法进行操作,函数编写如下图5-10所示:图5-10报警函数如输入密码正确且次数为一,则电磁锁为开锁状态、显示屏显示open开锁画面、开锁提示音、将输入为清零,代码编写如下图5-11所示:图5-11开锁部分程序如输入正确密码次数为二,则发出操作成功提示音、正确计数器清零、允许重置密码输入、显示重置密码界面,代码编写如下图5-12所示:图5-12更改密码准备程序3、开锁程序编写设计初始化系统,扫描矩阵键盘后输入密码并确认密码,比对输入密码是否正确,若密码输入正确则开锁指示灯处于发亮状态、电磁锁开锁。若密码输入错误,则提示密码错误并累计一次密码输入错误次数,若密码输入错误次数累计不为三次则返回重新输入密码,输入密码正确则累计次数清零,若累计次数为三次则蜂鸣器响报警。流程图如下图5-13所示:图5-13开锁流程图4、更改密码程序编写设计在系统为开锁密码状态时,扫描矩阵键盘后输入旧密码并按开锁键确认密码,比对旧密码输入是否正确。如旧密码输入错误,则提示密码错误并累计一次密码输入错误次数,若累计次数为三次则报警,不为三次则返回重新输入旧密码;如旧密码输入正确,则输入两次新密码并对两次输入的新密码进行验证,若两次输入的新密码不同则返回并重新输入两次新密码,但若两次输入的新密码相同,则密码更改成功。流程图如下图5-14所示:图5-14更改密码流程图5、各功能设计编写完成后,编译运行,如下图5-15所示,编译运行测试正常。图5-15编译运行图5.2系统测试5.2.1系统硬件调试首先给单片机和电磁锁适配器通电,如下图所示,可以观测到单片机指示灯亮,表示电路开启正常,同时蓝牙模块指示灯闪烁表示蓝牙模块开启正常,并且液晶显示屏密码输入位光标闪烁,而初始化状态电磁锁是关锁状态,同时开锁指示灯也处于熄灭状态。通过观察,开启时系统硬件工作正常,如下图5-16所示:图5-16系统硬件初始工作正常当输入6位数正确密码并且按#号键确认密码后,如下图5-17所示,开锁指示灯处于发亮状态,电磁锁开锁,同时显示屏输出信息提示密码输入正确开锁成功。图5-17开锁成功首先按*号键回到关锁状态,电磁锁模拟关锁、开锁指示灯熄灭。当输入6位数密码错误后,如下图5-18所示,液晶显示屏显示error表示密码错误开锁失败,同时开锁指示灯仍为熄灭状态、电磁锁也仍是关锁状态。图5-18开锁失败接下来输入两次6位数正确密码并都按#号键确认,电磁锁打开、开锁指示灯亮,液晶显示屏显示SetNewWordEnable提示让我们输入新密码,当输入两次相同新密码后液晶显示屏显示ResetPassWordOK表示修改密码成功,如下图5-19所示:图5-19密码更改成功如上列调试操作结果所示,系统硬件部分主要功能可以实现,调试结果可行。5.2.2系统软件测试首先使用Android智能手机下载由易安卓编译运行后生产的apk文件,安装后生产手机端APP,打开手机端APP并开启本Android智能手机蓝牙后,页面显示如下图5-20所示:图5-20手机端APP初始页面点击开始搜索按钮,APP下端弹出“正在搜索”,搜索手机端范围内外部蓝牙设备,并显示可连接的范围内外部蓝牙设备,显示如下图5-13所示:图5-20搜索蓝牙成功找到单片机蓝牙模块JDK-31-SPP并点击连接按钮,当APP页面下端弹出连接成功后,即表示手机端与单片机蓝牙连接成功,这时点击锁开关按钮即可灵活控制电磁锁开锁和关锁。5.2.3系统测试总结根据以上硬件和软件测试结果显示可知,系统测试正常。可以通过矩阵键盘输入数据,单片机扫描矩阵键盘并接收数据后通过烧写的程序处理数据,通过各个的硬件模块做出相应的操作。同时手机端也能打开由易安卓编写运行的apk文件并生产Android软件,手机端也能迅速的搜索并连接本系统的蓝牙模块,并通过蓝牙给单片机发送开锁和关锁信息。过程流畅、操作简易。
6.总结与展望6.1总结本设计是要实现智能密码锁控制系统,主要分为以单片机为核心的硬件部分以及基于Android通过蓝牙实现远程控制的软件部分。单片机硬件部分以KeilμVision5为平台选用C语言进行开发,Android软件则通过易安卓进行编写开发,纯中文编写简单易懂。本系统实现了通过手机端远程控制,相对于传统老式机械锁而言安全智能、易于使用、方便快捷,具体实现的开发步骤如下:1、对本设计需求进行分析,查阅书籍资料,了解本设计的相关知识。2、了解本设计组成部分,针对各个模块寻找相关硬件及软件组成,查阅各个硬件模块相关资料,对系统设计运行和操作可行性进行分析。3、搭建流程框架,进行系统的总体设计。4、使用编程语言在下相关开发平台上对硬件个模块进行开发,实现各个模块的功能。5、实现设计需求,对系统进行调试。6、更正调试问题,优化系统,进行实际运行操作,熟悉和完善操作流程。6.2展望在本次设计中尽管查阅了大量资料并对同学和老师寻求了帮助,但仍有设计不足的地方,在本次设计中仍还存在一些问题,需要进行改进,具体有如下几点:1、本系统只能通过蓝牙连接对单片机传输数据,过于单一,应改进为能上网互联,互相传输数据,能在手机端上观察开锁和关锁状态。2、软件部分设计过于简单,页面布局设计过于单一,且只能通过锁开关按钮对电磁锁进行开锁和关锁操作,应改进为页面布局方便操作且美观,在手机端上也要输入密码并对密码进行验证正确后,对电磁锁进行开锁和关锁操作。3、通过蓝牙对电磁锁进行远程控制的软件时基于Android开发的,IOS客户端无法使用,应改进为同时开发IOS软件,方便IOS用户使用。4、初始化密码过于单一且不可更改,不够灵活,应改进为设置管理员账号和密码,方便用户忘记密码后对密码进行重置和找回。
参考文献HaoYU,WangQ,WangZ,etal.SmartHomeRemoteControlSystemBasedonInternetofThings[J].HenanScienceandTechnology,2020.谢志进,李泽宇,吕程.Keil实现不同功能的程序的拼接方法[J].科技经济导刊,2019,27(11):41.笪静.计算机软件编程中的C语言分析[J].电子技术与软件工程,2018,000(006):P.249-249.谢扬,潘子豪.易安卓开发平台可视化界面在智能家居领域的应用[J].单片机与嵌入式系统应用,2015,15(09):14-17申佳.单片机原理及其应用[J].网友世界,2012
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 普通外科术前术后护理质量标准化建设
- 2026 年夏季肾内科护理实习生透析护理专科带教
- 2026 年白内障超声乳化手术围手术期护理
- 2026 年手术室手术全程无菌管理护理实践
- 2026年急诊科心电监护仪规范使用护理操作
- 湖州银行嘉兴分行2026年春季招聘笔试历年典型考题及考点剖析附带答案详解
- 美容皮肤知识试题及答案分享
- 团体标准《地理标志农产品 南丹黄腊李》(征求意见稿)编制说明
- 2026年《花卉学》期末考试综合提升试卷带答案详解
- 2026年产品质量管理体系完善方案
- 租房合同协议书(2026版)
- 2026年新(高级)政工师理论考试题库及答案
- 小学五年级数学《分数与小数的互化》深度教学教案
- 2026年专利代理师高频面试题包含详细解答
- 2026年心理咨询师(初级)职业技能鉴定考试试卷(含答案)
- 2026年高校学报编辑部期刊出版岗应聘笔试指南及规范
- 中铁开工报告审批制度
- 脑卒中急性期护理关怀指南
- 篮球场改造工程施工组织设计方案
- 2026广东“百万英才汇南粤”广州市从化区事业单位赴北京招聘高校毕业生11人考试参考题库及答案解析
- 公司内部手机使用制度
评论
0/150
提交评论