版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
前言[15]。图4-2指纹搜索流程图4.2.2主要程序代码AS608指纹模块搜索指纹的函数如下:ucharsearch(){ ucharSearchBuf=0; if(ImgProcess(1)==1) { if(Command(SEAT,60)&&(FifoNumber==15)&&(FIFO[9]==0x00)) returnFIFO[10]*0x100+FIFO[11]; else return255; }return0;}4.3液晶显示模块设计4.3.1液晶显示模块流程图LCD12864液晶显示模块主要功能是显示数据,根据接收到的指令在屏幕上显示数据内容。LCD12864液晶显示流程如图4-3所示。图4-3液晶显示流程图4.3.2主要程序代码液晶显示需要将所有需要在屏幕上显示的地址都通过一个命令直接写入,然后把所有的数据依次按顺序进行直接写入。在写入地址后显示第一个内容之后地址自动加一。例如函数LCD12864_display_string(ucharx,uchary,uchar*s)表示在第y行,x+1列显示字符串。LCD12864显示字符的部分程序如下:voidLCD12864_display_string(ucharx,uchary,uchar*s){ LCD12864_display_pox(x,y); while(*s!='\0') { write_data(*s); s++; LCD12864_delay(1); }}4.4矩阵键盘设计4.4.1矩阵键盘流程图矩阵键盘采用逐行扫描法进行按键检测,具体的按键检索流程如图4-4所示。图4-4按键检索流程图4.4.2主要程序代码矩阵键盘按键扫描函数ucharkeycan(void)如下,=0时表示没有按键按下。ucharkeycan(void){ ucharrcode,ccode; Key=0xF0; if((Key&0xF0)!=0xF0) { key_delay();//延时去抖动 if((Key&0xF0)!=0xF0) { rcode=0xFE; while((rcode&0x10)!=0) { Key=rcode; if((Key&0xF0)!=0xF0) { ccode=(Key&0xF0)|0x0F; do{;} while((Key&0xF0)!=0xF0); returnjiema((~rcode)+(~ccode)); } else rcode=(rcode<<1)|0x01;//行扫描码左移一位 } } } return0;}#endif4.5权限管理模块设计4.5.1权限管理模块流程图通过矩阵键盘输入开锁密码进入系统管理模块,在系统管理模块进行指纹的录入以及删除、密码的修改等操作。具体管理流程如图4-5所示。图4-5权限管理流程图4.5.2主要程序代码在系统管理模块可以进行指纹的录入和删除管理,删除指纹函数voidshanchu()如下:voidshanchu(){ LCD12864_display_string(0,3,"状态:"); if(ID>0&&ID<=MAX) { if(dellfingure(ID)==1) { LCD12864_display_string(3,3,"删除成功"); } else LCD12864_display_string(3,3,"删除失败"); } else { if(ID==999) //清空指纹 { if(Clear_All()==1) LCD12864_display_string(3,3,"清空指纹"); else LCD12864_display_string(3,3,"清空失败"); } else LCD12864_display_string(3,3,"编号错误"); } n=0; ID=0; zhiwen_f=0; }为了提高门锁密码的安全性,对修改密码模块进行了优化,加入屏蔽简单排列组合的密码的功能,增强了密码模块的安全性。修改密码部分程序如下:{ if(input_f==1) { if(reset_f==1) { if(reset_num==3) { if((new_mima==123456)||(new_mima==0)||(new_mima==111111)||(new_mima==222222)||(new_mima==333333)||(new_mima==444444)||(new_mima==555555)||(new_mima==666666)||(new_mima==777777)||(new_mima==888888)||(new_mima==999999)||(new_mima!=in_mima)) { LCD12864_display_string(1,3,"密码修改失败"); }else { low_mima=new_mima; AT24C02_write_date(200,low_mima/10000); AT24C02_write_date(201,low_mima%10000/100); AT24C02_write_date(202,low_mima%100); write_com(0x01); LCD12864_display_string(1,1,"密码修改成功"); LCD12864_display_string(1,3,"请妥善保管好"); } if(new_mima==in_mima) { low_mima=new_mima; AT24C02_write_date(200,low_mima/10000); AT24C02_write_date(201,low_mima%10000/100); AT24C02_write_date(202,low_mima%100); write_com(0x01); LCD12864_display_string(1,1,"密码修改成功"); LCD12864_display_string(1,3,"请妥善保管好"); } else { LCD12864_display_string(1,3,"密码修改失败"); }
第5章系统调试5.1系统硬件调试硬件系统调试需要检测电路有没有出现漏焊、虚焊、短路、断路、元器件方向错以及电路设计错误等情况。为了避免硬件漏焊、元器件方向弄错,需要对照着PCB图来检测实物焊接是否正确,以及元器件是否有遗漏。如果有遗漏需及时补焊。PCB图如图5-1所示。数字万用表能够检测硬件系统各个电路之间的短路,断路及虚焊问题。将一个数字万用表旋转至二极管的位置,把红黑表笔分别摆放在被检测元器件的两端。若元器件导通,数字万用表会报警,以此来判断硬件电路有没有上述问题。图5-1PCB图5.2系统软件调试系统软件程序通过KeilμVision4进行编程,建立工程后编写各模块程序然后编译调试看程序是否正确不报错,调试后将生成的.hex文件通过STC-ISP软件和CH340下载器下载到单片机中。程序下载到硬件系统后,开机进行功能测试。系统测试过程如下:(1)系统上电,各模块初始化,LCD显示初始界面。图5-2LCD初始界面(2)录入指纹。按下管理按键,输入6位开锁密码,进入系统管理界面,选择录入指纹模式。首先输入指纹编号001,然后将手指1放在AS608指纹传感器的指纹头上连续接触两次,若LCD显示录入成功,则指纹001录入成功。可以返回初始界面进行验证解锁。图5-3录入指纹(3)删除指纹。在系统管理界面选择指纹删除模式。首先输入指纹编号,然后按下确认键删除对应的指纹。输入999可以快捷删除全部指纹信息。图5-4删除指纹(4)修改密码。在系统管理界面选择修改密码模式。首先输入当前密码,然后输入两遍新密码,若两次新密码一致,密码修改成功;若两次输入的新密码不同,则密码修改失败。为了增强密码开锁的安全性,系统加入屏蔽简单排列组合密码的功能,若修改密码时输入123456、000000、111111、222222等此类简单组合密码,则LCD显示密码修改失败。图5-5修改密码(5)指纹解锁。用手指1接触指纹头,LCD显示“001指纹解锁”,黄色LED灯亮,电磁锁锁舌弹回,模拟门锁打开。若用未录入的手指接触指纹头,LCD显示“无效指纹”,红色LED灯亮,蜂鸣器报警,触发声光报警提醒。图5-6指纹解锁(6)密码解锁。通过矩阵键盘输入6位开锁密码,系统具有按键保护功能,输入的数字密码在LCD上显示为“******”,输入完成后按确认键,LCD显示“解锁成功”,黄色LED灯亮,电磁锁打开。若密码输入错误,LCD显示“密码错误”。图5-7密码解锁结论经过三个月的努力,本文设计的智能指纹密码锁制作完成,本设计基本完成了预期目标,系统能够自动识别存储的相关指纹信息,并对验证通过的指纹进行快速解锁;通过按键输入6位数字密码解锁,系统扫描输入的键值判断密码是否正确,若输入正确,继电器断开,电磁锁锁舌弹回;若输入错误,蜂鸣器就会发出警报。利用矩阵键盘实现对密码的重新设置,同时要求在更改新密码前必须输入当前密码,之后再输入两遍新的密码,输入当前密码是为了保证是家庭成员的操作,安全性更高。为了增强密码开锁的安全性,系统加入屏蔽简单排列组合密码的功能,若修改密码时输入123456、000000、111111、222222等此类简单组合密码,则LCD显示密码修改失败。由于时间、能力和经验有限,设计中出现了许多的错误与不足,在指导老师和同学的帮助下,最终能够正常运行。通过对系统的整体分析和总结,本设计还可进行如下几点的改进和完善:(1)主控芯片STC89C52单片机内存过小,可以考虑更换STC15系列单片机。(2)增加射频卡,在卡中存储指纹,在开门时增加射频卡的验证,这样可以提高安全性;(3)可以选用虚位密码解锁,虚位密码安全等级高,可变化性大。算法较复杂需要更多的学习和研究。参考文献王先明.数说中国智能锁市场[J].现代家电,2019(23):46-48+10.ChineduPaschalUchenna,AdegherPascal,OgunduPrince.EvaluationofaFingerprintRecognitionTechnologyforaBiometricSecuritySystem[J].AmericanJournalofComputerScienceandTechnology,2018,1(4).胡飞.智能锁安全体系的设计与研究[D].电子科技大学,2018.ZhenghaoXin,LiangLiu,GerhardHancke.AACS:Attribute-BasedAccessControlMechanismforSmartLocks[J].Symmetry,2020,12(6).GuangweiYu,YuanYao,ZhuoyuanSong.Amulti-dimensionalmatrixkeyboardinterfacingcircuitdesign[J].CircuitWorld,2020,46(3).任毅.指纹识别系统的研究和实现[D].南京邮电大学,2019.苏彦华.VisualC++数字图像识别技术典型案例[M].北京:人民邮电出版社,2004,24.张天良.指纹信息提取技术分析与实现[D].河南大学,2020.田师思.指纹锁的发展研究[J].科学技术创新,2020(12):81-82.董艳波,马丰丰.自动指纹识别技术的发展与应用[J].法制博览,2017(19):130.张小军.基于PKE技术的智能家居门禁系统的研究与设计[D].湖南大学,2018.何永明,张琴,张伟彬,龙馨宇,张新贺.智能门锁的设计[J].科技创新导报
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽电子信息职业技术学院公开招聘博士人才5名备考题库附答案详解(综合题)
- 2026四川南充市第四人民医院招聘紧缺专业技术人员11人备考题库及完整答案详解
- 2026广东广州市番禺区番广附万博学校招聘合同制教师30人备考题库及答案详解(新)
- 2026江西吉安市泰和县旅游投资发展有限公司面向社会招聘4人备考题库附答案详解(达标题)
- 2026北京纳米能源与系统研究所曹霞课题组招聘2人备考题库含答案详解(基础题)
- 2026浙江工业职业技术学院招聘4人备考题库(第二批)附答案详解(a卷)
- 2026广发银行济南分行春季校园招聘备考题库及答案详解(网校专用)
- 2026广西第二荣军优抚医院聘用人员招聘1人备考题库附答案详解(典型题)
- 2026甘肃张掖市甘州区特聘农技员招募工作4人备考题库及答案详解(历年真题)
- 2026上半年海南文昌市校园招聘事业单位人员(海口考点)19人备考题库(5号)完整参考答案详解
- (二模)宁波市2026届高三高考模拟考试语文试卷(含答案及解析)
- 2026春季学期国开机电专科《可编程控制器应用实训》一平台在线形考形成任务1至6答案
- 研发部保密工作制度
- 云投集团招聘笔试题目
- 仙人指路指标源码,号称20年16000倍收益通达信指标公式源码
- 2026中国侨联直属事业单位招聘9人备考题库及答案详解(夺冠系列)
- 河海大学介绍
- 混凝土挡墙施工工艺方案
- 2025年国家义务教育质量监测八年级心理健康测试题及答案
- 企业内训师培训教程与实践工具包
- JJG 1003-2016流量积算仪
评论
0/150
提交评论