收藏 分享(赏)

基于单片机指纹识别系统的设计.docx

上传人:HR专家 文档编号:12109256 上传时间:2021-09-09 格式:DOCX 页数:36 大小:411.92KB
下载 相关 举报
基于单片机指纹识别系统的设计.docx_第1页
第1页 / 共36页
基于单片机指纹识别系统的设计.docx_第2页
第2页 / 共36页
基于单片机指纹识别系统的设计.docx_第3页
第3页 / 共36页
基于单片机指纹识别系统的设计.docx_第4页
第4页 / 共36页
基于单片机指纹识别系统的设计.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、基于单片机指纹识别系统的设 计作者:日期:任务书课程设计题目:指纹识别功能简述:1)根据所学的知识和能力,设计程序可以实现根据指纹的大小、形 状等特征,识别出不同的指纹。2)利用按键标志当前指纹识别的状态,例如录入状态,识别状态,清 楚状态;利用液晶1602能够显示当前指纹识别的状态信息。3 )利用继电器,对当前信息的判断,例如提醒当前指纹识别错误 ; 利用蜂鸣器和LED等提醒当前指纹识别是否正确目录第一章 绪论1.1、 指纹识别中的基本概念 1.2、 纹识别的发展前景1.3、 指纹识别课题设计的内容与意义 第二章方案选择2. 1系统原理图设计2.1、 方案说明2.2、 .3方案比较2.3、

2、方案选择第三章硬件设计3. 1 AT8 9c52单片机设计3.1、 电源电路设计3.2、 按键控制部分电路3.3、 LED指示灯电路3.4、 蜂鸣器电路3.5、 指纹传感器模块第四章 软件程序设计 4. 1程序流程图4. 2程序第五章调试5. .1硬件调试随着时代的发展,社会越来越需要高效、可靠的身份识别系统传统的 个人身份鉴别手段如钥匙、口令、密码、身份证件,甚至IC卡等识别 方式,由于它们具有可假冒、可伪造、可盗用、可破译的弱点,已不 能完全满足现代社会经济活动和社会安全防范的需要。随着识别技术的不断成熟和计算机技术的飞速发展,各种基于人体生理特征的身份 识别系统如:指纹、手掌、声音、视网

3、膜、瞳孔和面纹等识别技术纷 纷从实验室中走出来。目前,从实用的角度看,指纹识别技术是优于 其它生物识别技术的身份鉴别方法。本次设计我们利用指纹识别传感 器进行指纹采集与识别,在单片机中对指纹进行处理,用按键标志当 前指纹识别的状态,录入状态,识别状态,清除状态,用液晶1602能够 显示当前指纹识别的状态信息;用继电器对当前信息进行判断,例如 提醒当前指纹识别错误;利用蜂鸣器和LED等提醒当前指纹识别是 否正确关键词:指纹识别;单片机;指纹识别传感器;液晶1 6 02;继电器第一章绪论进入21世纪后,由于国际反恐、互联网应用等因素的推动,在全球范围内, 指纹识别技术得到了更加广泛的应用,指纹识别

4、市场进入高速发展阶段。利用人 的生理特征,例如像指纹等来识别个人的身份,将成为今后几年IT产业的重要革新。指纹在所有的生物特征中,相对稳定、不随年龄而变化和采集较为便捷,同时它的研究历史最长、相对更为成熟。与现有的智能卡、身份证号码和密码的 身份识别系统相比,指纹识别的性价比最高,也更适于应用到大众生活中。因此指 纹识别以其革命性的便捷和安全性成为一个理想的卓越的解决方案。1.1、 指纹识别中的基本概念指纹识别是成熟的生物识别(B i ometric)技术,由于人体的身体特征具有不可 复制的特点,人们把目光转向了生物识别技术,希望可以籍此技术来应付现行系 统安全所面临的的挑战。要把人体的特证用

5、于身份识别,这些特征必须具有唯一 性和稳定性。研究和经验表明,人的指纹、掌纹、面孔、发音、虹膜、视网膜、 骨架等都具有唯一性和稳定性的特征,即每个人的这些特征都与别人不同、且终 生不变,因此就可以据此识别出人的身份。 基于这些特征,人们发展了指纹识别、 面部识别、发音识别等多种生物识别技术,目前许多技术都已经成熟并得以应用, 其中的指纹识别技术更是生物识别技术的热点。1.2、 纹识别的发展前景指纹行业是一个新兴的行业,本身具有很高的科技含量,相对利润高发展前景广 阔。经专家预计,指纹产品将是未来I T产业新的增长点:利润率最高、发展潜 力最大。于是,世界顶尖的指纹识别技术得到了全球范围内的高度

6、重视,指纹识别技术的应用如火如荼地迅速发展起来。目前 ,国内已经有不少企业在参与指纹 识别技术的开发和应用。指纹技术在现代生活和工作中的应用已越来越普遍,例如:指纹考勤、指纹社保、指纹银行、指纹商场、指纹接送幼儿等等生活和工作 的新现象已广为人知,指纹技术正在日益刷新着我们的现代化生活方式。1.3、 指纹识别课题设计的内容与意义指纹识别技术相对于其他识别方法有许多独到之处,具有很高的实用性和可行性。因此,指纹识别成为最流行、最方便、最可靠的身份认证方式,己经在社会生活的诸多方面得到广泛应用。这是由于指纹是独一无二的,两人之间不存在着 相同的指纹,指纹是独一无二的,两人之间不存在着相同的指纹,同

7、时指纹样本 易于采集,难以伪造,便于开发,实用性强,可以利用多个指纹构成多重口令,提 高系统的安全性。本文主要通过对MCS5 1系列单片机的结构和功能进行分析,来研究基于单片机 指纹识别系统的内部结构特点和功能阐述以及工作原理, 更好的了解了指纹识别 系统的未来前景。第二章方案选择2.1系统原理图设计LCD1LT4口 IB.JI上丁占Ll阳TPl QH?F-i.-inzEP12M3P1.4MJ Fi?FO-MZD KI 4 幽M-i .1 po:3 和l*:4 POM网 *K电或咱 PQJ/M?irzfvAfiP? 1fli3P2 2WW F2 4UA11 R 3(m 庄双凡im 代却也一 库

8、丁腐tsPS0FL6:_ - 1 凡:丽而 paAii而ra.4nn 8m:.:T1Fl露的E7国3,4一印二5不通fl邛不7311*t广的Q四丧L:鸵2.2方案说明2 . 1 .1方案一:摄像头采集、飞思卡尔单片机处理这种方案由指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征匹配、特 征数据库等几部分组成。指纹识别系统的原理框图如图1所示。fL化,.r r h-r澳处理图21、指纹识别系统框图该系统首先由数字摄像头。v 6 6 2 0采集指纹,并将指纹图像转化为数字图 像;然后用16位的飞思卡尔X 1 28单片机对指纹数字图像进行预处理,再通过图 像增强、分割、平滑、细化等处理过程得到便

9、于指纹特征提取的数字图像:接着提取细化后的图像细节特征点;然后将指纹信息数据送入S TC8 9 C 5 2单片机 中,一块液晶1602与STC89c 52单片机相连,液晶用于显示当前指纹采集系统 的工作状态和经对比后指纹采集的信息是否正确,用一个蜂鸣器和LED指示灯指示当前采集的指纹信息正确。当采集到的指纹信息正确,蜂鸣器发出响声并且L E D指示灯点亮。1 .1.2方案二 指纹识别传感器代替第一种方案中的摄像头和飞思卡尔单片机, 我们利用一个指纹识别传感 器来对指纹进行采集,识别以及部分处理,然后将信息输送到 AT89 C 5 2单片机 中,利用按键控制当前指纹识别的状态,用 LED灯进行显

10、示,即录入状态,识别 状态,消除状态;利用液晶1 6 02能够显示当前指纹识别的状态信息,即录入指 纹的编号以及当前指纹;利用继电器,对当前信息的判断,例如提醒当前指纹识别 错误利用蜂鸣器提醒当前指纹识别是否正确,如果指纹录入正确,蜂鸣器发出响声。2 . 3方案比较1)复杂性:方案一采取用数字摄像头 ov662 0采集指纹图像,然后用16位的 飞思卡尔X 1 2 8单片机进行图像处理,还要进行图像增强、分割、平滑、细化 等处理过程才能得到便于指纹特征提取的数字图像;而这些过程在方案二中只用一个指纹传感器模块就可以代替,所以方案二设计简单。2)准确性:方案一中所采集的摄像头分辨率有限,所以采集的

11、指纹信息有一定 的误差,方案二中指纹传感器模块是利用集成的光学头进行处理的,比较精确。3)局限性:由于方案一中使用的飞思卡尔单片机处理程序比较复杂 ,超出了我 们的学习范围,而方案二传感器就使程序简单化了。2.4方案选择鉴于各种原因,我们最终选择第二种方案,使用指纹传感器模块来设计系统。第三章硬件设计3. 1 AT89C5弹片机设计3. 1.1主要性能有12k字节Fl ash闪速存储器,1 024字节内部RAM ,32个I/O 口线,两个1 6位定时/计数器,5个中断向量,一个全双工串行通信口 ,片内振荡器及时钟电 路。3.1.2引脚结构图(如图3-1)U129lkk- 1丁丁丁一5廿二8-X

12、 XTAL1XTAL2RSTPSENALE EAP1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39F F36F F图3-1 AT8 9C52管脚图3 .1. 3 一些端口的介绍:P30 口:

13、RXD (串行输入口)P31 口: TXD件行输出口)XTAL 1:振荡器反相放大器的及内部时钟发生器的输入端XTA L2:振荡器反相放大器的输出端。3.1.4单片机最小系统1)外部晶振的设计S T C 8 9 C52的内部有一个用于构成振荡器的高增益反相放大器 ,通过XT AL1, ATAL2外部接上一片作为反馈元件的晶体,与C 1和 C2构成了并联谐振电 路,使其构成自激振荡器,电容的值具有微调的作用,我们取 30 PF,具体的接法 如图3 -2外部晶振电路。C1HIT- 22pF 口 X1 1- 12M /丁22pF图32 外部晶振电路STC8 9c52的工作频率范围在 0-24MHZ。

14、我们选用的是1 1 .0592MHZ勺晶振, 振荡周期约为lu s机器周期约为0 .1us ,所以这个晶振可以满足这个系统的要 求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找 不到信号。2)复位电路的设计MC S5 1单片机通常采用上电自动复位和按钮复位两种方式,本系统采用简 单的自动复位电路如图2-2所示。单片机在上电瞬间,RC电路充电,RST引脚 端出现正月22,只要RST端保持两个机器周期以上的高电平,就能使单片机有 效复位。其中电容选10uF、电容选10K。图3-3复位电路3 . 2电源电路设计本系统采用的5V电源主要采用两种方法,第一是直接用9 V电池然后通过

15、一 个变压电路,利用78 0 5将转化成5V供单片机和液晶显示部分使用;其二是用2 2 0V通过变压器等将其转化成5V。两种方法都可以,但是由于第一种方法便于携带、而且成本相对较低所以我们选3.3 按键控制部分电路1)消除抖动按键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。为了确保cPU对一次按键动作只确认一次,并且防止干扰信号的影响,必需加入 消除电平抖动的措施,下图3- 5为按键抖动示意图:图35按键闭合及断开前后的电压消除抖动通常有硬、软硬两种方法,硬件消除抖动可采取双稳态电路或滤波消抖 电路;软件消

16、抖是在第一次检测到有键按下时,执行一段延时程序再确认该键是 否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。当按键 较多时,我们多采用硬件件消抖法。本系统中按键少直接采用直接接入的方式。2)按键接口设计按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键各键相独立 每个按键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。 这种 方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。由于该设计 方案I O资源浪费大。故此方法只适用于按键少或其他控制功能很简单的场合。由于本设计中的按键只有3个,考虑系统可靠性和键盘设计的简单所以采用独立式按键。本系统的按键电

17、路如图 3 6所示:图3- 6独立按键电路按键按下是呈低电平,我们采用软件消抖来减少对的单片机影响3.4 LED指示灯电路图3- 7 LED灯指示电路当k2键按下时,录入模式指示灯r e d亮;当k 1键按下时,识别模式指示灯green亮。3.5蜂鸣器电路图3 8蜂鸣器电路3. 6指纹传感器模块1)指纹模块电路如下所示:图3-9指纹识别模块指纹模块里面主要是DSRE片,型号为PS18 02,加上外面的CMOS片,CMOS5片 主要是对指纹进行“照相”,生成指纹特征,如图3-8所示就是一个指纹模板, 录入两次这样的指纹特征就能生成一个指纹模板。具体的工作过程是:扫描指纹(录入图像)、生成特征、合

18、成模板(建立一个指纹 库文件,成功录入一个指纹)。图3-10指纹模板指纹模板就是“照一次相”,指纹模块里面的CM OS芯片采集一次指纹信息,然 后进行模糊处理生成0和1两种记录信息,存入指纹模块的F LAS H芯片里面。 当切换到识别模式的时候,指纹模块就会先让 CMOS片采集一次指纹,然后和 FLASH芯片的数据进行对比。看是不是存在,如果存在就能返回是几号指纹。这 样我们就能通过单片机或者电脑进行指纹识别与登记了。2)指纹传感器模块实物图指纹模块型号是:FM-18 0,此模块上里面包含了:1、光学头2、通信连接线3、DSRE片(在模块里面)4、稳压芯片5、FLASHK片 6、CM SO传感

19、器(在模块里面)等部件组成。1、光2、通信连3、DSP图3 - 1 1指纹传感器模块实物图第四章软件程序设计该设计主要通过设定的3个按键来实现一定的功能,3个按键分别为模式切换(识 别模式和录入指纹模式)、指纹录入、删除所有指纹。4.1 程序流程图?4.1.1 程序主流程图(1 )指纹录入:先进行录入模式,然后按一下录入指纹,灯会闪烁,录入成功一 次,蜂鸣器响一次,这时候拿开手指,1秒放入同一个手指,会再录入一次,如果两 次都成功,就成功录入了一个指纹。蜂鸣器会响两次,同时显示录入指纹成功。如果不成功就会显示录入失败。录入完成后,可以进入识别模式,或者接着录入 下一个指纹。录入完成,按一次指纹

20、转换,进入指纹识别开锁模式。单片机主程序流程设计:单片机的主程序流程图4 .2系统关键代码引脚使用:s b it r e 1 ay =P1A4; /继电器引脚sbi t buzze r=P1A5; /蜂鸣器引脚s bit r e d =P2A7;/ /录入模式指示灯在板子靠近单片机处s b i t gre e n= P2 A 0;/识别模式指示灯在板子远离单片机处sbitk 2=P3A4; /录入一次指纹sbi t k 1 =P3A3; /模式识别转换sbit k3 =P3 a2; /清除所有指纹(10个指纹清除)部分主函数代码:v o id mai n (void ) / 主函数un s i

21、 gned ch a r i =0;ET0=1;/定时器0开中断TL 0 =0x 9 7; /1 7ms 的初值?TH0=O xBD;delay1ms(5);Lc dRw=0;/只对液晶进行写操作,不进行读操作delaylms (5);LCD_In i t i al ();/ /液晶初始化de 1 aylms (5);GotoXY(0, 0);/ x,yPrin t (I de n t i fy );/用口初始化SCON= 0x50;/U ART方式 1 :8 位UA RT;REN=1:允许接收PC O N=0x 00; /SMO D = 0 :波特率不加倍TMOD=0x2 ;/ /T1方式2

22、,用于UA RT波特率TH1= OxFD;TL1 = 0 x F D ;/ UART波特率设置:9 6 0 0TR 1=1;TR0=1;/开定时器0?I T0=0;/中断0低电平中断?I T1 = l ;/ /中断1低电平中断?EXO- 1;/ 开中断 0?EX 1 =1; / 开中断 1EA=1;mo de() ;/ /看当前是什么模式?o r (i = 0 ;i 6 ; i +)/开始握手6次,如果没有一次成功,表示模块通 信不正常。只要成功就跳出此循环? f( VefPSW() /与模块握手通过,绿灯亮起。进入识别模式? ? re e n= 0 ; / 读一次?b u z z e r=0

23、;? sh o wnu m (0);?d ela y 1ms(300 );?b u zzer = 1 ;?b r e a k;? e lse?e d = 1 ;gr e en=1;br e ak;?while (1)i f (k 2=0)/录入一个指纹 ?d ela y 1 ms(10);?%(k 2 = =0) /如果仍为低电平,表示按键有效?&?whi 1 e(k2=0);/ 等待松手? ?%(VefPSW()= = 1 &modef ag=1& veNumber10 / 与模块握手通过? ? ?if(en rol 1 ()= 1)/采集两次,生成1个指纹模板成功? ? if (savef

24、 i n gure (SaveNumb e + 1) =1)/ 保存也成功? ? W 1? ? ?SaveNurn ber + +;/ 加一次? ?会 h own u m (Sa v e Number);? ? ? ? ?lse? u z z e r = 0 ;? ?or(i=0;i = 1 &s ea r ch num=l 6 2 )/ 最多是 16 2 个指 纹?s h own u m(s earchn u m);?/蜂鸣器响一声? relay = 0;? ?buzzer=0;?de 1 ay1ms ( 1 00);?buz zer=1;? f o r(i = 0 ;i 20; i +)?

25、 d e lay 1 ms(1 5 0);? re1 a y=1;? ? i f (se a rchnum= =255) /不正确的指纹蜂鸣器响三声? ? shownum (0);?buz zer =0; delay1ms( 1 00); buzzer = 1 ;delay 1 ms(100);? ? buzze r =0;delay1m s (100) ; buzz e r=1;del a y1 m s(1 0 0);?buz z er = 0 ; d ela y 1ms(1 0 0); buzzer=1;d e lay 1ms(100);? i f (cl e arallflag=1) ?

26、c 1 earallflag=0;?Cl ear _ All();? red=0;/红色灯亮? gree n = 1 ;?/蜂鸣器长响一次,表示消除所有指纹结束? ?modefl a g = 1; /进入录入指纹模式? Go toXY(0,0 ) ;/ x , y? P ri n t(Input);? s how n um(0);? u zzer=0 ;?!elay1ms(800);? uzzer=1;?TSaveN umber= 0;? ? if (chan gef 1 ag= 1)?m o d e () ; /显示当前模式? c hangefla g = 0;空?/ / /while (1

27、)结束/ / / / / /v oi d int0( v oi d ) in t errupt 0/ 中断 0,消除所有指纹?f( k 3 =0) /清除所有指纹 ?d e lay1ms (10);if (k3=0)如果仍为低电平,表示按键有效? wh i le(k3=0); /等待松手??个ea r a llflag = 1;? c ha n ge f lag=1;?vo i d Ti m e r 0(v o id) i n t e rrupt 1/ 定时器 0 中断函数?TL0=0x9 7 ;TH0=0xBD;c 1 k0+;/延时 17msv oid in t 1 ( voi d ) i

28、n t e r ru p t 2 中断 1,模式转换?i f (k 1 =0)/ /模式转换 其中用m odef 1 ag来标志,默认从第1个指纹开始 录入de 1 a y1ms(10);? if (k1=0)/如果仍为低电平,表示按键有效? 7?h 1 l e(k1=0); /等待松手?mode f lag= m odef 1 ag; / 0表示录入指纹1表示识别指纹?Cha n geflag= 1 ;/模式发生了转换 ?)第五章调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计正常运行,必须进 行硬件调试和软件调试。5.1硬件调试硬件调试的主要任务是排除硬件故障,其中包括设计错误

29、和工艺性故障。(1 )在电路的电源焊接一个电源指示灯,判断电路中通电是否正常。(2 )将电路中的电源线布置在通用板的四周,这样使用电源很方便,减少干扰,同时可以减少短路故障发生的可能。(3)元器件合理布局,且尽量减少占用板子的面积,力争做到节俭。特别是单 片机的晶振尽量靠近单片机,减少干扰。(4)液晶的焊接注意方向,且调节背光的电位器不可以少。5 .2软件调试软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现硬件故障。程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序 是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接 起来

30、总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。本设计主要有 :错误! 指纹识别传感器图像采集模块错误! 单片机图像处理错误! 按键模块和指示灯模块oac(O,4)指纹液晶显示和蜂鸣器、继电器模块不断地对单片机下程序,观看调试结果。参考文献1河桥,段清明,邱春玲.单片机原理及应用.北京:中国铁道出版社,20 0 7. 1 22冯星奎,李林艳,颜祖泉.一种新的指纹图像细化算法.中国图像图形学报, 1 9 99,4(1 0 )835-83 8 .3吕凤军.数字图象处理编程入门一一做一个自己的Phot o shop.北京:清华大学出版社,19 9 9.4刘文

31、星,王雄沂,母国光.纹线跟踪及其在细化指纹后处理中的应用.光电子傲光,20 0 2, 13 ( 2 ) : 1 8 4187.5刘家锋,唐降龙,赵泉.一个基于特征点匹配的联机指纹鉴别系统.哈尔滨工业大学学报,20 02. 34 (1):132-13 66 简兵,庄镇泉等.基于脊线跟踪的指纹图细节提取算法.电路与系统学报, 20017 刘旭,田捷.自动指纹识别算法在嵌入式系统的实现J .计算机工程与应用,200 2 .8周毅,等著.基于SPI协议的实现,计算机仿真.2 0 03.9窦振中.单片机外围器件实用手册(存储器分册).北京:北京航空航天大学出版社,200 010李华.MCS 5 1系列单

32、片机实用接口技术.北京:北京航空航天大学出版社,199811张培仁,孙占辉,张村峰.基于c语言编程MCS- 51单片机原理与应用M.北京:清华大学出版社,2 003.附件2程序清单# inclu d e # i n clude # inclu delcd160 2 .h s b it re 1 ay =P1 A4; / 继电器引脚s b itbuzz e r=P1 A 5; / /蜂鸣器引脚sbit r e d=P 2 A 7 ;/录入模式指示灯 在板子靠近单片机处sbi tg r een= P 2 a o ;/ /识别模式指示灯 在板子远离单片机处sbit k2=P3A4;/录入一次指纹s

33、bit k 1=P3人3; /模式识别转换sbitk3=P3人2;/清除所有指纹(10个指纹清除)#d e f i ne Max_Use r 10#def i ne e rr o r 2unsigne d char ?Save Nu mbe r= 0 ,searc h num=0; unsigned i ntSear chNumbea。;?u n signed in t cl k 0=0;unsign e d c har str3=0,,00;unsi g ne d char co de I d ent i f y16 = L oc k : I denf i ty; un s i gned c

34、har code Inpu t 16= Lock:Input bit m ode flag =0,cl e arallflag= 0 ,ch a ngeflag =0;/ /默认为识别模式 / 常用指令定义/ / /Veri f y Pa ss w ord :验证设备握手口令unsigned ch a r c ode VPWD1 6 =16,0X01, OXf f, Ox ff,0x ff ,0xff, 0 x0 1, 0 ,7,0x1 3,0x0 0, 0x00 ,0x0 0 , 0x0 0, 0x0 0 , Ox 1b;/回送12个/设置设备握手口令u n s igned c h ar c

35、ode ST W 1 6 = 1 6 , 0 X01 ,0 Xff , 0xff , 0 x ff, 0 xff , 0x 0 1,0,7, 0 x12, 0 x00, Ox 0 0,0x0 0 , 0 x 00,0 x 00,0x1a;/回送12个/GetIm a ge:探测手指并从传感器上读入图像uns i g ned cha r code G I MG 14 =12, 0 X 01,0 X ff,0xff,0x ff ,0xff, 0 x01,0,3,1 , 0x00, 0x05;?/ 回送 12 个/Gen Temp 1 et1 :根据原始图像生成指纹特征1u nsigne d cha

36、 r cod e GENT 1 1 4 = 1 3, 0 X 01 ,0X f f ,0xff,0 x ff , 0x f f, 0 x 01 ,0 , 4,2, 1, 0x00, 0x08;/ /回送 12 个/Gen Templet 2:根据原始图像生成指纹特征2unsigned char code GEN T214= 13,0X01 ,0X f f, 0 x ff, 0 x ff, 0 xf f , 0x 0 1, 0,4,2,2,0x0 0 ,0x09; / 回送 1 2 个/ / Search F i n g er :以 CharBufferA 或 CharBuff e r B 中的

37、特征文件 搜索整个或部分指纹库u nsigned char co d e SEAT18= 1 7,0X01 ,0 X f f , 0xff , 0x ff,0 xf f , 0x01, 0, 8, 4 , 1,0,0,0,0 x 6 5,0 x00, 0 x7 3;?/ 回送1 6个/Merge Te m p let; # C h a r Bu f ferA 与 CharBu f fer B 中的特征文件合并生成模板,结果存于M odelB u f fer。u ns i gned char c o de MERG 14 =12,0X01 , 0 X f f,0 x f f,0xff, 0 xf

38、f, 0x 0 1, 0 , 3,5 ,0 x 00,0x09; /回送 12 个/Stor e Temp l e t:将Mo delBuffer 中的文件储存到flash 指纹库0X01, 0Xff,0xff , 0x f f ,unsi gned char c o de STOR16=15,0xff, 0x0 1 , 0,6 ,6 ,2, 0x 0 0,0x00,0 x 00, 0x 0f; / 回送12个/Re ad Noteunsigned c h ar code RDNT14= 13, 0X01 , OXf f , 0 xff,0x f f,0x f f ,0x01,0,4,0x19

39、,0, 0x00 , 0 x 1 e;/Cl e ar Noteunsigned char code DENT46 =45,0X 0 1,0Xff,0xff,0xff ,0xff , 0x01 ,0 ,36,0x1 8 ,0,0,0 ,0 ,0,0, 0 ,0, 0 , 0,0 , 0, 0,0, 0,0,0 ,0,0, 0 ,0 , 0 ,0,0 , 0,0,0,0,0,0 , 0,0, 0,0x00, 0x3d;/ DEL o ne t e mpletunsigned char code D ELE_on e16 =16, 0 X01 ,0Xff , 0xff, 0 xf f,Oxff,

40、0x01,0,7,0x0 c ,0x0 O,0x 00, 0 ,1, 0x00,0x 1 5;/ /DEL templet;清空指纹库uns i gned ch ar cod eDELE_ a 1 1 1 2 = 12, 0X0 1 ,0X f f , 0xff,0xff,0xff, 0x 01, 0, 3, 0x0d,0x00,0x 11;/ 常用指令定义结束/ / / 宏定义 /# de f ine FALSE 0# def i n e TURE 1/状态定义表# def i ne on1#de f ine of f 0?#def i n e MAX _NUI B ER 63#de f i

41、ne _ Nop () _nop _()/ / / 宏定义结束 / /un s i g n ed char ?Fi f oNumber=0;xdata u nsigned char F I FOMAX_NM B E 1 = 0;/* * * * * *1 毫秒延时程序 * * * /void de lay1m s(u n si g n ed int t) u nsi g ned in t i,j;牙o r (i =0 ;it ; i+) ? f or(j=0 ; j120;j+);void TxdByte (un sign e d c h ar d at)/ /用口发送信息,通过查询方式 发送

42、一个字符TI =0;? / 让 T I =0SBUF = d at; ?/读入数据w hi 1 e( ! T I ) ;?/等待发送完毕T I = 0;?/ /清零bi t Comm n d(u n signe d c h a r *p,uns i gned c h ar MaxTime) / / 命令解析,给模块发送一个命令u nsi g n e d char count = 0,t m p dat = 0,temp = 0 , i = 0, p a c kage=0,f 1 a g=0, c h e c ksum=0 ;?itresul t =0, start=0,s top =0;?T

43、xdBy t e ( Oxe f ) ; /数据包包头识别码?Tx d By t e (0x01); /数据包包头识别码?i =* p ;/数组的第“ 0”个元素、里面存放了本数组的长度,把这个长度给变量i,方便进行操作彷+;?P +;?or (count=i-1; count! = 1 ;cou nt-) /Sen t co mmand Stri n gtemp=*p+; /取第个“1”个元素的内容,然后发送Tx d B y t e (temp);/ /将数据发送出去? r esu l t =TURE;发送完成,结果为真(真为1)?下i f oNu mber = 0 ;for ( count =MA X_NUMB R+1; cou n t != 0 ; count - -) /

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报