指纹模块参考论文.docx
《指纹模块参考论文.docx》由会员分享,可在线阅读,更多相关《指纹模块参考论文.docx(11页珍藏版)》请在冰豆网上搜索。
指纹模块参考论文
3.1STC89C52的介绍
(1)主要性能
STC89C52有12k字节Flash闪速存储器,1024字节内部RAM,32个I/O口线,两个16位定时/计数器,5个中断向量,一个全双工串行通信口,片内振荡器与时钟电路。
(2)引脚结构图(如图3-1)
图3-1STC89C52管脚图
(3)主要引脚功能概述
P0口:
为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。
P1口:
为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。
P2口:
为8位准双向I/O接口,当它作为I/O接口使用时,可直接连接外部I/O设备;在接有片外存储器或扩展I/O且寻址范围超过256字节时,P2口可用做高8位的地址总线。
P3口:
为8位准双向I/O接口,还可以将每一位用于第二功能,第二功能的定义见表3-1。
表3-1STC89C52P3口的第二功能
端口功能
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输入口)
P3.2
(外中断0)
P3.3
(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T0(定时/计数器1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
XTAL1:
振荡器反相放大器的与内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
4.1单片机外围电路的设计
外部晶振的设计
STC89C52的内部有一个用于构成振荡器的高增益反相放大器,通过XTAL1,ATAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器,电容的值具有微调的作用,我们取30PF,具体的接法如图4-1外部晶振电路。
图外部晶振电路
STC89C52的工作频率范围在0-24MHZ。
我们选用的是11.0592MHZ的晶振,振荡周期约为1us机器周期约为0.1us,所以这个晶振可以满足这个系统的要求。
并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。
复位电路的设计
MCS51单片机通常采用上电自动复位和按钮复位两种方式,本系统采用简单的自动复位电路如图4-2所示。
单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效复位。
其中电容选10uF、电容选10K。
图复位电路
电源电路设计
1本系统采用的5V电源主要采用两种方法,第一是直接用9V电池然后通过一个变压电路,利用7805将转化成5V供单片机和液晶显示部分使用;其二是用220V通过变压器等将其转化成5V。
两种方法都可以,但是由于第一种方法便于携带、而且成本相对较低所以我们选用第一种方案。
图电源电路
按键控制部分电路
按键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。
为了确保CPU对一次按键动作只确认一次,并且防止干扰信号的影响,必需加入消除电平抖动的措施,下图4-6为按键抖动示意。
消除抖动通常有硬、软硬两种方法,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序再确认该键是否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。
当按键较多时,我们多采用硬件件消抖法。
本系统中按键少直接采用直接接入的方式。
按键接口设计有两种方法,独立式按键和矩阵式键盘。
独立式按键各键相独立,每个按键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。
这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。
由于该设计方案IO资源浪费大。
故此方法只适用于按键少或其他控制功能很简单的场合。
由于本设计中的按键只有3个,考虑系统可靠性和键盘设计的简单所以采用独立式按键。
本系统的按键电路如图4-7所示,按键按下是呈低电平,我们采用软件消抖来减少对的单片机影响,电路图如图4-7所示。
图4-6按键闭合与断开前后的电压图4-7独立按键电路
指纹模块电路如下所示:
指纹模块里面主要是DSP芯片,型号为PS1802,加上外面的CMOS芯片,CMOS芯片主要是对指纹进行“照相”,生成指纹特征,如下图所示就是一个指纹模板,录入两次这样的指纹特征就能生成一个指纹模板。
具体的工作过程是:
扫描指纹(录入图像)、生成特征、合成模板(建立一个指纹库文件,成功录入一个指纹)。
指纹模板就是“照一次相”,指纹模块里面的CMOS芯片采集一次指纹信息,然后进行模糊处理生成0和1两种记录信息,存入指纹模块的FLASH芯片里面。
当切换到识别模式的时候,指纹模块就会先让CMOS芯片采集一次指纹,然后和FLASH芯片的数据进行对比。
看是不是存在,如果存在就能返回是几号指纹。
这样我们就能通过单片机或者电脑进行指纹识别与登记了。
具体指纹模块介绍如下:
此指纹模块型号是:
FM-180,此模块上里面包含了:
1、光学头2、通信连接线3、DSP芯片(在模块里面)
4、稳压芯片5、FLASH芯片6、CMSO传感器(在模块里面)等部件组成。
6、CMOS传感器
我们进行指纹模块的操是通过单片机的串口发送与接收命令完成的。
我们先通过串口给指纹模块发送命令,然后等待指纹模块传回数据。
再通过单片机进行数据的处理,从而判断命令有没有执行。
主要为以下几条命令。
一、开机的时候进行模块握手,从而判断模块是不是连接正常。
命令如下:
二、生成指纹模板需要进行如下四个个命令:
录入图像、生成特征、合成指纹模板、存储指纹模板。
经过以上四个步骤与命令,我们就录入了一个指纹,重复以上步骤,我们可以再录入其它指纹。
具体流程图如下:
指纹识别是先转换到识别模式,然后不断的探测是不是有指纹出现在光学采集头上。
如果有则扫描指纹,与库里面的指纹进行比对,如果是就读出是几号指纹。
模块会自动探测是不是有指纹,如果有则发送下面的命令:
如果搜索到就返回相应的指纹号,如果没有就会返回0。
软件程序设计与调试
该设计主要通过设定的3个按键来实现一定的功能,3个按键分别为模式切换(识别模式和录入指纹模式)、指纹录入、删除所有指纹。
5.2程序流程图
程序主流程图
(1)指纹录入:
先进行录入模式,然后按一下录入指纹,灯会闪烁,录入成功一次,蜂鸣器响一次,这时候拿开手指,1秒放入同一个手指,会再录入一次,如果两次都成功,就成功录入了一个指纹。
蜂鸣器会响两次,同时显示录入指纹成功。
如果不成功就会显示录入失败。
录入完成后,可以进入识别模式,或者接着录入下一个指纹。
录入完成,按一次指纹转换,进入指纹识别开锁模式。