• 欢迎来到论文发表网(www.lunwenchina.cn),我们为您提供专业的论文发表咨询和论文发表辅导!
受“清朗”行动影响,原网站QQ被封,新老作者请联系通过新的QQ:189308598。或者电话微信:15295038855

你的位置:论文发表网 >> 论文库 >> 工学论文 >> 详细内容 在线投稿

基于单片机的指纹签到

热度0票  浏览148次 时间:2015年4月20日 17:23

基于单片机的指纹签到

冶少卿 周志越 北方民族大学 753000

【文章摘要】

本文在原有学习程序的基础上给出了可以再重新开机的情况下正常使用签到机的方法,这种方法可以使数据写入FLASH 中,在开机的时候读出来以防止新数据覆盖旧数据,并且详细介绍了软件中的写记事本和读记事本。

【关键词】

指纹模块;写记事本;读记事本; 89C52 芯片

0 引言

指纹是指手指末端正面皮肤上凸凹不平的纹路。正是由于这些纹路的存在, 我们才能够用手方便的抓起东西。指纹所占的皮肤面积与人体整个表皮相比是非常小的,尽管如此,它也包含了大量的信息。这些手指的指纹也是不相同的,在指纹上我们会看到一些相似的特点,经过前人的总结他们是断点和交叉点,根据断点、交叉点和脊线的走向与分布情况我们可以将指纹分为三大类——环型(loop, 又称斗形)、弓形(arch)、螺旋形(whorl)。这些在图像信息处理中被我们称之为特征,这些特征无论是自己的一双手的指纹相比较还是每个人的指纹相比较都是不同的。根据指纹唯一性的特点,我们就可以把指纹和人一一对应起来,当我们要验证一个人的身份的时候,我们就可以将他现在的指纹与预先保存的指纹相比较的方法来确认身份,但是如果手指遭到破坏那指纹也会遭到破坏。所以古代有画押,现在有根据指纹办理案件,用指纹做自己的密码。现在技术的发展让指纹也变的大众化,比如手机上的指纹解锁,指纹门禁系统。我们可以从生活中看到很多关于指纹的产品。指纹的签到可以节约很多时间,并且带来技术的体验。指纹是生物识别技术中的一种,并且在各个领域中都有着应用, 指纹从我们生下来就伴随我们一直到老,所以指纹可以说是伴随我们一生的密码。

1 硬件

1

如图1,传感器为指纹模块,指纹模块有四个引脚分别为VinTDRDGND, 其中Vin GND 是电源的正输入端和信号地,TD RD 是串行数据输入和输出, 指纹模块中还有几个基本概念:(11:1 比对,两个指纹的特征相比较,返回信息, 匹配,或者不匹配。(21 N 搜索,在N 个指纹特征中找到当前1 个指纹特征匹配的指纹特征。返回信息: 指纹没有匹配的特征,或者有匹配的特征,同时返回匹配的特征编号。MCU 89C52 芯片, 89C51 相比程序存储器( ROM89C51 4K,定时器为T0 T1,而89C52 8K, 在T0 T1 的基础上多一个定时器T2

存储单元为Flash,为了存储收集指纹图像用以比对, 还有相对应的指纹号和指纹总数用于比较工作。显示元件我用的是1602 液晶,能够同时显示16x02 32 个字符(16 2 行),1602 液晶模块的存储器存储了160 个不同的点阵字符图形,因此1602 可以显示数字、字母的大小写、常用的符号、和一些日文假名等,因为1602 识别的是ASCII 码,所以每一个字符都有一个固定的代码,我们可以再显示程序中输入这些代码从而让它显示,在单片机编程中还可以用字符型常量或变量赋值,如B1602 我用它可以显示当前指纹号,通过按键可以显示录入的指纹总数和指纹号分别是什么,从而方便人来确定信息。最后一个+5V 外接电源就组成了最简单的指纹签到机。

工作流程是通过按键按到录入模式, 手指触碰指纹模块,停顿1 秒后拿开,手指再次触碰后拿开,指纹模块会记录手指皮肤的纹路在图案、断点和交叉点,并且编号为1,此后会自加1,当需要验证指纹时,按键按到识别模式,将手指触碰指纹模块,模块会根据断点和交叉点这些特点自动寻找相匹配的指纹,成功识别后会在1602 液晶上显示当前手指所对应的指纹号,如果错误则会显示Error。还可以通过按键进入清空模式将所有指纹删除重新录入。为了方便记录者的工作我将最后的签到总数和每个签到的指纹号都显示在1602 液晶上,不用接上上位机传到电脑上了,节约了很多时间,并且会有一些操作上的乐趣。

2 软件

指纹模块的算法是自带的,所以这里我就不用去管他,会用就好。最初的指纹模块学习程序只能实现指纹的录入和读出,当把电源关掉再次上电录入时会覆盖之前的指纹号,就会从1 重新开始录入,所以需要二次开发。在我拿到的指纹模块的用户手册的时候,这个里面有很多命令比如清空指纹库PS_Empty、搜索指纹PS_Search、生成特征PS_GenChar 、精确比对两枚指纹特征PS_Match 、录入图像PS_GetImage 等,他们的组合可以实现最简单的指纹录入和识别。在手册中写记事本PS_WriteNotepad 和读记事本PS_ ReadNotepad 这两个命令可以解决上电后新指纹号覆盖旧指纹号的问题。写记事本PS_WriteNotepad 的功能是:模块内部为用户开辟了256bytes FLASH 空间用于存放用户数据,该存储空间称为用户记事本,该记事本逻辑上被分成16 个页,写记事本命令用于写入用户的32bytes 数据到指定的记事本页。读记事本PS_ ReadNotepad 是读取FLASH 用户区的128bytes 数据。通过一写一读就可以解决这个问题了,将录入的指纹号保存在第一页,然后再下次开机的时候把第一页中的指纹号在读出来,在根据这个指纹号继续增加,这样就不会被覆盖了。

在原来的基础上我还增加了在1602 上显示签到指纹总数和每个签到的指纹号,根据人数的不同可以更换显示元件从而有能力显示足够多的人。为了实现这个目的我们也需要使用写记事本PS_WriteNotepad 和读记事本PS_ ReadNotepad,将指纹总数写到FLASH 16 页的第二页,指纹号写到第三页,如果一页32bytes 不够用可以另翻一页写到下一页,当需要显示的时候我们可以将它读出并在显示元件上显示,我们也可以删除掉这些信息重新录入。手册中还有其他的命令,可以去扩展指纹模块,让它变的功能更强大,因为这里不涉及就不介绍那些指令了。

3 小结

在前期查找资料与学习中渐渐了解了指纹,前期准备做好后我们就上手操作指纹模块了,遇到的问题就是旧的指纹号会被新的指纹号覆盖,查了很多资料都没有说明这方面,最后看的指纹用户手册里面就有这方面的解决办法,所以前期工作还是没有到位,这也是个成长的机会。我们在原有学习程序的基础上给出了可以再重新开机的情况下正常使用签到机的方法,这种方法可以使数据写入FLASH 中,并且在需要的时候读出来。我们小组是新成立的,虽然磨合还是不够,有些工作上的事情大家配合的还不到位,但是我们会努力的。从这次经历中我们学到了很多,尤其是自我学习,比如芯片、软件、查找资料、还有焊接过程,希望下次我们会做的更好。



中国论文网(www.lunwenchina.cn),是一个专门从事期刊推广、论文发表、论文写作指导的机构。本站提供一体化论文发表解决方案:省级论文/国家级论文/核心论文/CN论文。

投稿邮箱:lunwenchina@126.com

在线咨询:189308598(QQ) 

联系电话:15295038855(徐编辑)  

 

TAG: 单片机
上一篇 下一篇
0

联系我们