搜档网
当前位置:搜档网 › 完整版指纹识别模块单片机程序

完整版指纹识别模块单片机程序

完整版指纹识别模块单片机程序
完整版指纹识别模块单片机程序

#include

#include

#define TRUE 1

unsigned char SaveNumber=0,searchnum=0;

unsigned int SearchNumber=0;

unsigned int clk0=0;

sbit relay =P1A4; // 继电器引脚

sbit buzzer=P1A5; II蜂鸣器引脚

sbit red= 卩2人7;〃录入模式指示灯在板子靠近单片机

sbit gree n=卩2人0;〃识别模式指示灯在板子远离单片

机处

sbit k仁卩3人3; II模式识别

sbit k2=P3A4; II 录入一次指纹

sbit k3=P3A2; II清除所有指纹(10个指纹清除)

〃变量定义:

unsigned char code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};II 表:共阳数码管0-9

〃数码管引脚定义:

sbit SMG_g = P"3; II定义数码管阳级控制脚(个位)

II由于程序中定时器被用我们用一位数码管显示且为静太显示所以推荐大家用1602或者12864 液晶

1 为录入指纹模式, bit changeflag=0,modeflag=0,clearallflag=0; II默认为识别模式,如果为

每录入一次SaveNumber++

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 常用指令定义IIIIIIIIIIIIIIIIIIIIIIIIIIIII

IIVerify Password :验证设备握手口令

unsigned char code VPWD[16]={16,0X01

,0Xff,0xff,0xff,0xff, 0x01,0,7,0x13,0x00,0x00,0x00,0x00,0x00,0x1b}; II 回送12 个

II设置设备握手口令

,0Xff,0xff,0xff,0xff, unsigned char code STWD[16]={16,0X01

0x01,0,7,0x12,0x00,0x00,0x00,0x00,0x00,0x1a}; II回送12 个

//GetImage :探测手指并从传感器上读入图像

unsigned char code GIMG[14]={12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,1,0x00,0x05}; // 回送

12 个

//Gen Templet1 :根据原始图像生成指纹特征1

unsigned char code GENT1[14]={13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,1,0x00,0x08}; // 回送

12 个

//Gen Templet2 :根据原始图像生成指纹特征2

unsigned char code GENT2[14]={13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,2,0x00,0x09}; //回送

12 个

//Search Finger :以CharBufferA 或CharBufferB 中的特征文件搜索整个或部分指纹库unsigned char code SEAT[18]={17, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,8, 4,1,0,0, 0,0x65,

0x00,0x73}; // 回送16 个

//Merge Templet ; 将CharBufferA 与CharBufferB 中的特征文件合并生成模板,结果存

于ModelBuffer 。

unsigned char code MERG[14]={12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,5 , 0x00,0x09};// 回

送12 个

//Store Templet :将ModelBuffer 中的文件储存到flash 指纹库中

unsigned char code STOR[16]={15, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,6,6,2, 0x00,0x00,

0x00,0x0f}; // 回送12 个

//Read Note

unsigned char code RDNT[14]={13,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,4,0x19, 0, 0x00,0x1e};

//Clear Note

unsigned char code DENT[46]={45,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,36,0x18,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 one templet

unsigned char code DELE_one[16]={16, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,7, 0x0c,0x00,0x00, 0,1, 0x00,0x15};

//DEL templet ;清空指纹库

unsigned char code DELE_all[12]={12,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3, 0x0d,0x00,0x11};

//////////////// 常用指令定义结束///////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////// 宏定义////////////////////////////////////////////////////////////////////////

#define FALSE 0

#define TURE 1

//状态定义表

#define on 1

#define off 0

#define MAX_NUMBER 63

#define _Nop() _nop_()

unsigned char FifoNumber=0;

unsigned char FIFO[MAX_NUMBER+1]={0};

*******1

////////////////////////////////////// 宏定义结束////////////////////////////////////////////////////////

void delay1ms(unsigned int t) {

unsigned int i,j;

for(i=0;i

毫秒延时程序**********/

void TxdByte(unsigned char dat)// 串口发送信息,通过查询方式发送一个字符

{

TI = 0; //让TI = 0

SBUF = dat; //读入数据

while(!TI); //等待发送完毕

TI = 0; //清零

}

bit Command(unsigned char *p,unsigned char MaxTime) // 命令解析,给模块发送一个命令{ unsigned char count=0,tmpdat=0,temp=0,i=0,package=0,flag=0,checksum=0;

bit result=0, start=0,stop=0;

TxdByte(0xef);// 数据包包头识别码

TxdByte(0x01);// 数据包包头识别码

i=*p; // 数组的第“ 0”个元素、里面存放了本数组的长度,把这个长度给变量

i,方便进行操作

p++;

p++;

for (count=i-1; count!=1;count--) //Sent command String

{

temp=*p++; // 取第个“ 1”个元素的内容,然后发送

TxdByte(temp);// 将数据发送出去

}

result=TURE;// 发送完成,结果为真(真为1)

FifoNumber=0;

for (count=MAX_NUMBER+1; count!=0; count--)// 清空所有FIFO[] 数组里面的内容,写

入0X00

FIFO[count-1]=0x00;

if (result)

{ result=FALSE; start =FALSE; stop =FALSE; count=0; clk0=0; //清零CL0 计数

do /////////////////////////////do 的内容////////////////////////////////

{

restart0:

if (RI==1)// 如果接收到数据

{

tmpdat=SBUF;// 先把接收到的数据放到tmpdat 中RI=0;

if ((tmpdat==0xef)&&(start==FALSE))// 这个数据为第一个传回来的数据,也就是“指令应答”的第一个字节

{

count=0;

FIFO[0]=tmpdat;// 读入第一个应答字节(0XEF) ,存在第“ 0” 个元素中

flag=1;

goto

restart。;//可以用中断方式进行

} if(flag==1)// 第一个字节已经回来,所以flag==1 成立

{

if(tmpdat!=0x01) //接收数据错误,将重新从缓冲区接收数

flag=0;// 接收应答失败 result=FALSE; start =FALSE; stop=FALSE; count=0; goto restart0;

}

//如果成功接收到 0xef01 ,可以开始接收数据 flag=2;//flag=2; 表

示应答成功,可以开始接收数据了 count++;// 现在 count=1; FIFO[count]=tmpdat;// 读入第二个应答字节 (0X01 ),存在第

start=TURE; //应答成功可以开始接收数据 goto restart0;

}

if((flag==2)&&(start==TURE))//flag=2; 表示应答成功,可以开始接收

{

count++; // 数据元素下标++ FIFO[count]=tmpdat;// 存入数据 if(count>=6)

{

checksum=FIFO[count]+checksum; // 计算校验和 } if(count==8)

{

package=FIFO[7]*0X100+FIFO[8]; // 计 算 包 长

stop= TURE;

} if(stop)

{

if(count==package+8) {

checksum=checksum-FIFO[count-1] -

if(checksum != (FIFO[count]&0xff)) result=FALSE;

// 校验失败 ,置结果标志为

1”个元素中

数据了

FIFO[count];

{

else

result=TURE;

flag=0; break;

}

}

}

}

}/////////////////////////////do 的内容------------ 结束////////////////////////////////

while ((clk0 <= MaxTime) && (count <= MAX_NUMBER) && (changeflag==0)); // 由定时器

以及最大接收数据来控制,保证不会在此一直循环

FifoNumber=count; // 保存接收到的数据个数

}

return (result);

}

bit VefPSW(void)// 验证设备握手口令,成功返回1

{

unsigned char count=0;

while (1)

{

if(Command(VPWD,20) && (FifoNumber==11) && (FIFO[9]==0x00)) return(1);

count++;

if (count>=2)// 如果不成功,再验证一次,如果两次不成功,返回失败

{

return(0);

}

}

}

void Clear_All(void) // 清空指纹库

{

delay1ms(200);

Command(DELE_all,50); // 清空指纹库

}

unsigned char ImgProcess(unsigned char BUFID) // 发获取图像并生成特征文件,存入BUFID 中//输入参数为缓冲区号

if(Command(GIMG ,89) && (FifoNumber==11) && (FIFO[9]==0x00))

if(BUFID==1)

{

if(Command(GENT1,60) && (FifoNumber==11) && (FIFO[9]==0x00))

{

return 1;

}

else

{

return 0;

}

}

else if(BUFID==2)

{

if(Command(GENT2,60) && (FifoNumber==11) && (FIFO[9]==0x00))

{

return 1;

}

else

{

return 0;

}

}

}

else

{

return 0;

}

return 0;

}

bit Searchfinger(void)// 搜索指纹(发送搜索命令、以及根据返回值确定是否存在)

{

if(Command(SEAT,60) && (FifoNumber==15) && (FIFO[9]==0x00) )

{

SearchNumber=FIFO[10]*0x100+FIFO[11];// 搜索到的页码

//MatchScore=FIFO[12]*0x100+FIFO[13] 可以在此计算得分,从而进行安全级别设定,本程序忽略return 1;

}

else

{

return 0;

单片机简答题

简答题 1、简述借用定时/计数器溢出中断作为外部中断的具体方法? 2、简述8051片内RAM的空间地址分配。 3、MCS-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么? 4、简述直接位寻址区的空间分配,片内RAM中包含哪些可位寻址单元? 5、8051单片机的存储器在结构上有何特点?在物理和逻辑上各有哪几种地址空间?访问不同空间的指令格式有何区别? 6、8051单片机在片内有哪些主要逻辑功能部件?每个逻辑部件的主要功能是什么? 7、写出MCS-51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除?它们的中断程序入口地址分别为什么? 8、8031的扩展存储器系统中,为什么P0口要接一个8位锁存器,而P2口却不接? 9、8051在什么条件下可响应中断? 10、什么是中断矢量?若某个中断源的中断服务程序的字节数超过8个单元,应如何处理?程序题: 1. 若要完成以下数据传送,如何应用MCS-51指令予以实现? (1)外部RAM 0020H单元内容送内部RAM 20H单元: (2)外部ROM 2000H单元内容送内部 RAM 20H单元: 2.编写程序段,用三种方法实现累加器A与寄存器B的内容交换。 3.编程将片内20H单元开始的30个数传送到片外RAM 3000H开始的单元中。 解: MOV R7 , #30 ;传送字节数给R7 ;R0指向片内20H单元 ;DPTR指向片外3000H单元 LOOP ;取数 ;将数据转存入片外RAM ;R0指向片内下一单元 ;DPTR指向片外下一单元 DJNZ R7,LOOP ;数据传送完否? 4.编程,从串行口接受一个字符。 答: START: ;定时器T1工作于模式2 MOV TL1 , # 0E8H ;设置波特率为1200b/s MOV TH1,#0E8H ;启动T1 MOV SCON,#50H ;串行口工作于方式1,允许接收 L1: JNB RI , L1 ;等待接收数据,未接收到数据,继续等待 ;接收到数据,清RI

指纹识别模块程序及原理图

程序: #include #include #define uchar unsigned char #define uint unsigned int #define Dbus P0 #define buffer1ID 0x01 #define buffer2ID 0x02 #define queren 0x88 #define tuichu 0x84 #define shanchu 0x82 sbit B0=B^0; sbit B7=B^7; sbit jidianqi=P3^6; sbit RS=P2^2; sbit RW=P2^1; sbit E1=P2^0; sbit LEDK=P3^4; //控制背光 sbit SCLK=P2^3; sbit IO=P2^5; sbit RST=P2^4; uchar code ta[8]={0x00,0x51,0x09,0x10,0x05,0x02,0x11,0xbe}; uchar data a[7]; // 秒分时日月星期年 uchar dz[4]; //存键输入值 uchar mima[7]; uchar mimaID[6]={1,2,3,4,5,6}; uchar data K; uchar data Key; uint PageID; uchar data querenma; uchar sum[2]; int summaf,summas; uchar code nian[]={"年"}; uchar code yue[]={"月"};

uchar code ri[]={"日"}; uchar code xinqi[]={"星期"}; uchar code mao=0x3a; unsigned char code text1[]={" 请按指纹"}; unsigned char code text2[]={" 请再次按指纹"}; unsigned char code text3[]={" 指纹采集成功"}; unsigned char code text4[]={"请按任意键继续"}; unsigned char code text5[]={" 指纹采集失败"}; unsigned char code text6[]={"输入删去的指纹号"}; unsigned char code text7[]={" 删指纹号成功"}; unsigned char code text8[]={"按键一:增加指纹"}; unsigned char code text9[]={"按键二:删去指纹"}; unsigned char code text10[]={" 请重新按指纹"}; unsigned char code text11[]={"清空指纹库成功"}; unsigned char code text12[]={" 没搜索到指纹"}; unsigned char code text13[]={"请先按键再刷指纹"}; unsigned char code text14[]={" 请重新操作"}; unsigned char code text15[]={" 删去失败"}; unsigned char code text16[]={" 接收包出错"}; unsigned char code text17[]={" 编号为:"}; unsigned char code text18[]={"指纹已找到请进"}; unsigned char code text19[]={" 该指纹已存储"}; unsigned char code text20[]={" 请输入密码"}; unsigned char code text21[]={" 密码错误"}; unsigned char code text22[]={"按键三:更新密码"}; // @@@ unsigned char code text23[]={"请再次输入密码"}; unsigned char code text24[]={"两次输入的密码不"}; unsigned char code text25[]={"一致,请重新操作"}; unsigned char code text26[]={" 密码更新成功"}; 另外: void delay(uint tt) { uchar i; while(tt--) { for(i=0;i<125;i++); } } void initialize51() {

指纹识别系统

指纹识别系统 1.1 指纹识别系统原理 指纹识别系统的组成原理。如图1-1所示。图中的学习模块负责采集用户指纹数据,对指纹图像进行预处理,提取这些指纹的特征,作为将来的比对模板存人数据库。而识别模块则负责采集和处理指纹图像,在提取特征后与数据库中的指纹模板进行比对,然后判断是否匹配.得出结论。整个系统的核心就是图像处理、特征提取以及指纹比对。 图1-1 1.2 指纹采集与指纹图像处理方法 目前,主要的指纹采集方法有两种:一种是光学采集器;另一种是用半导体传感器。光学采集器采集指纹是通过把手指沾上油墨后按在白纸上,然后用摄像机把图像转换为电信号。光学采集受外界干扰小、采集精度较高,但是数据量较大,因此处理时问较长。而对于半导体传感器来说,手指的温度、湿度对其测量结果有影响,但是数据量不大,处理比较方便。随着半导体技术的发展,半导体传感器的成本低、体积小、方便集成等优点逐步体现,它已逐步代替光学采集器。指纹鉴定过程的第一个阶段是指纹图像的采集阶段,也就是指纹模板的录A阶段。为了初步确定图像预处理方法,我们必须首先了解指纹传感器获得的图像的尺寸和质量。根据不同的指纹传感器,我们设计不同的方案进行图像采集,并将从各个图中提出特征点储存到数据库中,来产生“活模板”,为后面的指纹鉴定做准备。 指纹图像处理是整个指纹识别过程的核心。常见的指纹图像处理包括滤波增强、二值化、细化、提取特征点四个步骤。在采集指纹图像的过程中,由于采集环境,皮肤表面的性质,采集设备的差异等各种因素的影响,采集的图像会不同程度的受到各种噪声的干扰,从而影响了采集图像的质量。所以实际的指纹图像首先通过一个滤波增强来改善图像的质量,恢复

单片机简答题汇总

单片机简答题汇总 1、计算机经历了几个时代? 电子管、晶体管、集成电路、大规模集成电路和超大规模集成电路、智能计算机。 2、冯诺依曼设计思想? a.计算机包括运算器、存储器、输入/输出设备。 b.内部采用二进制表示指令和代码。 c.将编号的程序送入内存储器中,然后启动计算机工作,能够顺序逐条取出指令和执 行指令。 3、MCS-51的内部结构? 8位CPU、8位并行I/O口、128个字节的内部RAM、21个SFR、4KB的内部ROM、一个全双工串行I/O口、2个16位定时器/计数器、5个中断源,2个中断优先级、 4、ROM和RAM ROM:片内4KB,地址范围0000H – 0FFFH 片外扩展64KB 地址范围0000H - FFFFH 片内外统一编址方式复位后PC为0 RAM:片内256字节地址范围00H – FFH 低128字节为一般RAM区00H-7FH 00H – 1FH 工作寄存器区,4组通用寄存器区,一组8个寄存器 20H - 2FH 位寻址区,也可字节寻址 30H – 7FH堆栈区和数据缓冲区 高128字节为SFR地址范围为80H- FFH 实现各种控制功能 5、堆栈?堆栈指针? 一种按照“先进后出”为原则的线性表数据结构。 存放堆栈的栈顶地址的寄存器(8位),系统复位后SP为07H。 6、单片机正常工作的条件? a.电源正常 b.时钟正常 c.复位正常 7、C51外扩的ROM和RAM可以有相同的地址空间,但不会发生数据冲突,为什么? 访问外扩的ROM和RAM的指令不同,所发出的控制信号也不同。读外部RAM时,RD/信号有效,写外部RAM时,WR/有效,读外部ROM时,PSEN/有效。在程序执行的过程中只能有一个信号有效,因此即使有相同的地址也不会发挥数据冲突。 8、C51外部引脚EA/的作用? EA/是内外部RAM的选通信号 EA/ = 0 时,只选择外部ROM EA/ = 1 时,PC<0FFFH时,选择内部ROM PC>0FFFH时,选择外部ROM 9、位寻址区? 内部RAM的20H – 2FH为位寻址区,位寻址范围为00H – 7FH SFR中地址能被8整除的字节地址单元,地址范围是80H – FFH 10、中断?中断响应和中断返回? 由于内部或外部的某种原因,CPU必须终止当前的程序,转去执行中断请求的那个外设

(完整版)第二章指纹识别的原理和方法

第二章指纹识别的原理和方法 指纹识别的采集及其参数[15] 指纹具有惟一性(随身携带、难以复制、人人不同、指指相异)。根据指纹学理论,将两人指纹分别匹配上12个特征时的相同几率仅为1/1050。指纹还具有终身基本不变的相对稳定性。指纹在胎儿六个月时已完全形成,随着年龄的增长,尽管人的指纹在外形大小、纹线粗细上会有变化,局部纹线之间也可能出现新细线特征,但从总体上看,同一手指的指纹纹线类型、细节特征的总体布局等无明显变化。指纹的这些特点为身份鉴定提供了客观依据。 指纹识别过程可以分为4个步骤:采集指纹图像、提取特征、保存数据和比对。通过指纹读取设备读取到人体指纹的图像,取到指纹图像之后,要对原始图像进行初步的处理,使之更清晰。指纹辨识软件建立指纹的数字表示特征数据,软件从指纹上找到被称为“节点”(minutiae)的特征点,这些数据(通常称为模板),保存为1K大小的记录。最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。 2.2.1指纹图像的采集[16][17][18] 指纹采集模式主要分为“离线式”和“在线式”两种。所谓“离线式”就是指在指纹采集时,利用某些中间介质(如油墨和纸张)来获取指纹图像,在通过一定的技术手段将图像数字化输入计算机,它属于非实时采集。目前“离线式”采集方式在大多数场合已经消失。所谓“在线式”是通过与计算机联机的先进指纹传感器的专用指纹采集设备,将真实的人体指纹直接变成数字图像数据,实时传输给计算机。 基于指纹传感器的“在线式”实时采集设备以其操作简单、实时性强、采集效率高、图像质量好等优点,广泛应用于自动指纹识别领域。 指纹传感器是采集指纹的装置,是一切自动指纹识别系统的必备设备,从原理上,目前见到的指纹传感器分下面3类: (1)光学录入

单片机原理复习简答题答案

一、简述题 1.MCS-51单片机芯片包含哪些主要逻辑功能部件?(习题2-1) (1)中央处理器(CPU):运算器--用于实现算术和逻辑运算;控制器:产生计算机所需的时序,控制程序自动执行 (2)内部数据存储器:用于存放可读写的数据 (3)内部程序存储器:用于存放程序的机器代码和常数 (4)并行I/O口:实现数据的输入/输出 (5)定时/计数器:用于实现定时和计数功能 (6)串行口:一个全双工的口,可实现数据的串行传送 (7)中断控制:实现单片机的中断判优、中断响应、中断查询等控制 (8)时钟电路:为单片机提供时钟脉冲序列 2.程序计数器PC的作用是什么?什么情况下会使用PC的值?(习题2-4) 程序计数器PC是位于片内的一个16位的寄存器,它专门用来存放当前要执行的指令地址,且能够自动加1,具有特殊功能。是一个不可寻址的特殊功能寄存器。其低8位地址经P0口输出,高8为地址经P2口输出。 3.MCS-51单片机设置有四组工作寄存器,这样做的目的是什么?请举例说明。?? 如何选择MCS-51单片机的当前工作寄存器组?(习题2-7) MCS-51的当前工作寄存器组是由程序状态寄存器PSW中的RS1、RS2位的状态决定的。工作寄存器区的选择: RS1,RS0=00 则选择了工作寄存器组0区R0~R7对应的单元地址:00H~07H RS1,RS0=01 则选择了工作寄存器组1区R0~R7对应的单元地址:08H~0FH RS1,RS0=10 则选择了工作寄存器组2区R0~R7对应的单元地址:10H~17H RS1,RS0=11 则选择了工作寄存器组3区R0~R7对应的单元地址:18H~1FH 4.简述MCS-51单片机的位寻址空间。(习题2-11) MCS-51单片机的位寻址空间由两部分构成:一部分为内部RAM位寻址区的20-2FH的16个单元的128位,位地址范围:00~7FH;另一部分为单元地址尾数为0和8的SFR中的位构成的位寻址区,共83位,位地址范围是80~0FFH。 MCS-51单片机位寻址空间共有211个位,位地址范围:00H~0FFH 5.什么是时钟周期、机器周期、指令周期?如何计算机器周期?晶振频率为12M时,计 算时钟周期、机器周期。(习题2-9) 时钟信号的周期称为S状态,它是晶振周期的两倍,即一个时钟周期(TS)包含2个晶振周期;指令周期(TI):执行一条指令所用的时间; 机器周期(TM):CPU完成一个基本操作所用的时间。(每12个时钟周期为1个机器周期)当晶振频率为12MHz时,时钟周期TS=2/f=0.17μs,机器周期TM=12/f=1μs 6.简单说明MCS-51单片机PSW寄存器各标志位的含义。(习题2-15) CY(PSW.7) 进位/借位标志位;AC(PSW.6)半进位/借位标志位;F0(PSW.5) 用户标志位;RS1(PSW.4)、RS0(PSW.3) 工作寄存器组选择位;OV(PSW.2) 溢出标志位; PSW.1 未定义;P(PSW.0) 奇偶标志位

指纹识别原理-IC及模组介绍(完整资料).doc

此文档下载后即可编辑 指纹识别原理及模组工艺 概述 指纹识别的背景知识 我们手掌及其手指、脚、脚趾内侧表面的皮肤凸凹不平产生的纹路会形成各种各样的图案。这些纹路的存在增加了皮肤表面的摩擦力,使得我们能够用手来抓起重物。人们也注意到,包括指纹在内的这些皮肤的纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的。依靠这种唯一性,我们就可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。这种依靠人体的身体特征来进行身份验证的技术称为生物识别技术,指纹识别是生物识别技术的一种。 目前,从实用的角度看,指纹识别技术是优于其他生物识别技术的身份鉴别方法。这是因为指纹各不相同、终生基本不变的特点已经得到公认。 最早的指纹识别系统应用与警方的犯罪嫌疑人的侦破,已经有30多年的历史,这为指纹身份识别的研究和实践打下了良好的技术基础。特别是现在的指纹识别系统已达到操作方便、准确可靠、价格适中的阶段,正快速的应用于民用市场。 指纹识别系统通过特殊的光电转换设备和计算机图像处理技术,对活体指纹进行采集、分析和比对,可以迅速、准确地鉴别出个人身份。 系统一般主要包括对指纹图像采集、指纹图像处理、特征提取、特征值的比对与匹配等过程。现代电子集成制造技术使得指纹图像读取和处理设备小型化,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行指纹比对运算的可能,而优秀的指纹处理和比对算法保证了识别结果的准确性。指纹自动识别技术正在从科幻小说和好莱坞电影中走入我们实际生活中,就在今天,您不必随身携带那一串钥匙,只需手指一按,门就会打开;也不必记

指纹识别的原理和方法

指纹识别的原理和方法 一、概述 指纹识别的背景知识 我们手掌及其手指、脚、脚趾内侧表面的皮肤凸凹不平产生的纹路会形成各种各样的图案。这些纹路的存在增加了皮肤表面的摩擦力,使得我们能够用手来抓起重物。人们也注意到,包括指纹在内的这些皮肤的纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的。依靠这种唯一性,我们就可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。这种依靠人体的身体特征来进行身份验证的技术称为生物识别技术,指纹识别是生物识别技术的一种。 目前,从实用的角度看,指纹识别技术是优于其他生物识别技术的身份鉴别方法。这是因为指纹各不相同、终生基本不变的特点已经得到公认。 最早的指纹识别系统应用与警方的犯罪嫌疑人的侦破,已经有30多年的历史,这为指纹身份识别的研究和实践打下了良好的技术基础。特别是现在的指纹识别系统已达到操作方便、准确可靠、价格适中的阶段,正快速的应用于民用市场。 指纹识别系统通过特殊的光电转换设备和计算机图像处理技术,对活体指纹进行采集、分析和比对,可以迅速、准确地鉴别出个人身份。 系统一般主要包括对指纹图像采集、指纹图像处理、特征提取、特征值的比对与匹配等过程。现代电子集成制造技术使得指纹图像读取和处理设备小型化,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行指纹比对运算的可能,而优秀的指纹处理和比对算法保证了识别结果的准确性。 指纹自动识别技术正在从科幻小说和好莱坞电影中走入我们实际生活中,就在今天,您不必随身携带那一串钥匙,只需手指一按,门就会打开;也不必记住那烦人的密码,利用指纹就可以提款、计算机登录等等。 指纹识别技术主要涉及四个功能:读取指纹图像、提取特征、保存数据和比对。 在一开始,通过指纹读取设备读取到人体指纹的图像,取到指纹图像之后,要对原始图像进行初步的处理,使之更清晰。 接下来,指纹辨识软件建立指纹的数字表示——特征数据,一种单方向的转换,可以从指纹转换成特征数据但不能从特征数据转换成为指纹,而两枚不同的指纹不会产生相同的特征数据。软件从指纹上找到被称为―节点‖(minutiae)的数据点,也就是那些指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。因为通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。 有的算法把节点和方向信息组合产生了更多的数据,这些方向信息表明了各个节点之间的关系,也有的算法还处理整幅指纹图像。总之,这些数据,通常称为模板,保存为1K大小的记录。无论它们是怎样组成的,至今仍然没一流种模板的标准,也没一流种公布的抽象算法,而是各个厂商自行其是。 最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。 指纹识别的原理和方法 二. 取得指纹图象 1.取象设备原理 取像设备分成两类:光学、硅晶体传感器和其他。

单片机简答题整理

1.MSC-51单片机内部包含哪些主要逻辑功能部件? (1)一个8位微处理器CPU。 (2)数据存储器RAM和特殊功能寄存器SFR。(3)内部程序存储器ROM。(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信 内部结构特点: 1.内部程序存储器(ROM)和内部数据存储器(RAM)容量(如表2-1所示)。2.输入/输出(I/O)端口。 3.外部程序存储器和外部数据存储器寻址空间。4.中断与堆栈。5.定时/计数器与寄存器区。6.指令系统。 2.片机的EA,AL,PS EN信号个自动功能是什么? EA:为片外程序存储器选用端,该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。ALE:地址索存有效信号输出在访问片外程序存储器期间,ALE以每机器周期两次进行信号输出,其下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,ALE端仍以上述频率(振荡频率f os c的1/6)出现,可作为对外输出的时钟脉冲或用于定时目的.端,PSEN:片外程序存储器读选通信号输出端,低电平有效. 3.80C51系列单片机有哪些信号需要芯片引脚以第二功能方式提供? ●p1.0:定时计数器2的计数脉冲输入端T2P1.1:定时计数器2的外部控制端T2EXP3.0:PxD串行口输入端P3.1:T xD 串行口输出端P3.2:INT0外部中断0请求输入端,低电平有效P3.3:INT1外部中断1请求输入端,低电平有效P3.4:T0定时/计数器0技术脉冲输入端P3.5:T1定时/计数器1技术脉冲输入端P3.6:W R外部数据存数器写选通信信号输出端,低电平有效P3.7:RD外部数据存数器读选通信信号输出端,低电平有效.4.51系列单片机的程序状态字PSW中存放 什么信息?其中的OV标志位在什么情况下 被置位?置位是表示什么意思? ●PSW是一个8位标志寄存器,它保存指令 执行结果的特征信息,以供程序查询和判别。 ●1)做加法时,最高位,次高位之一有进位 则OV被置位2)做减法时,最高位,次高 位之一借位则OV被置位3)执行乘法指令 MULA B,积大于255,OV=14)执行处罚 指令DIV AB,如果B中所放除数为0,OV=1 ●0V=1,置位反映运算结果超出了累加器的 数值范围. 5.MCS-51系列单片机的存储器可划分为几 个空间?其地址范围和容量是多少?在使用 上有什么不同? 1)MCS-51单片机的存储器从物理结构上分 为:片内和片外数据存储器,片内和片外程 序存储器。2)从逻辑上分别可划分为:片内 统一寻址的64K程序存储器空间 (0000H---FFFFH);64KB的片外数据存储 器空间(0000H---FFFFH);256B的片内数 据存储器空间(00H---FFH)。 6.片内RA M低128单元划分为哪几个区 域?应用中怎么样合理有效的使用? ●工作寄存器区,位寻址区,数据缓冲区① 工作寄存器区用于临时寄存8位信息,分成4 组,每组有8个寄存器,每次只用1组,其他 各组不工作②位寻址区(20H~2FH),这16 个单元的每一位都赋予了一个位地址,位地 址范围为00H~7FH,位寻址区的每一位都可 能当作软件触发器,由程序直接进行位处理。 ③由于工作寄存器区,位寻址区,数据缓冲 区统一编址,使用同样的指令访问,因此这 三个区的单眼既有自己独特的功能,又可统 一调度使用,前两个已未使用的单元也可作 为一般的用户RAM单元。 7.51系列单片机的堆栈与通用微机中的堆栈 有何异同?在程序设计时,为什么要对堆栈 指针sp重新赋值? ①堆栈是按先进后出或后进先出的远侧进行 读/写的特殊RAM区域51单片机的堆栈区 时不固定的,可设置在内部RAM的任意区 域内。 ②当数据压入堆栈时,s p的内容自动加1, 作为本次进栈的指针,然后再存取数据sp 的值随着数据的存入而增加,当数据从堆栈 弹出之后,sp的值随之减少,复位时,sp 的初值为07H,堆栈实际上从08H开始堆放 信息,即堆栈初始位置位于工作寄存器区域 内,所以要重新赋值。 8.MCS-51单片机有4个并行口,在使用上如 何分工?试比较各口的特点,并说明“准双 向口”的含义? 一般P0做数据口和地址的低八位。P2做地 址的高八位。如果没有外部扩展存储器可以 作为一般的I/O使用。P1一般作为普通I/O 用。P3有第二功能,所以一般做特殊情况使 用,比如串行通信,按键中断,定时中断等。 “准”就是“基本上的意思”,也就是“准双 向口”不是真正的双向口。正常的双向口通 过方向寄存器设置后要作输出可以直接向数 据寄存器写,做输入可以直接读。而51的结 构造成他不能正样用,输出直接用就可以了, 输入必须先写全1然后再读。 9.定时器/计数器定时与计数的内部工作有 何异同? 定时工作模式和技术工作模式的工作原理相 同,只是计数脉冲来源有所不同:处于计数 器工作模式时,加法计数器对芯片端子 T0(P3.4)或T1(P3.5)上的输入脉冲计数;处 于定时器工作模式时,加法计数器对内部机 器周期脉冲计数。

单片机简答题

简答题: 1.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少? 答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。 2.已知单片机系统晶振频率为6MHz,若要求定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是多少?TMOD的值是多少?TH0=?TL0=?(写出步骤) 答:定时值为10ms时,定时器T0工作在方式1时,定时器T0对应的初值是1388H TMOD的值是00000001B,TH0=13H;TL0=88H。 3.MCS51系列单片机的内部资源有哪些?说出8031、8051和8751的区别。 答:MCS51系列单片机上有1个8位CPU、128B的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资源。8031、8051和8751的区别是8031内无ROM;8051内有4KB的掩膜ROM;8751内有4KB的EPROM。 1.如何正确使用P3口? 1.要点: (1)说明P3口有第一功能和第二功能的使用。 (2)P3口的第二功能各位线的含义。 (3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能I/O线用。 (4)读引脚数据时,必需先给锁存器输出“1”。 2.简述累加器的ACC的作用。 2.(1)8位专用寄存器。 (2)运算时存放一个操作数。 (3)运算后存放运算结果,所以称它为累加器。 3.简述寄存器间接寻址方式及其寻址范围。 3.(1)寄存器中存放的是操作数的地址,操作数是通过寄存器间接得到,这种寻址方式称为寄存器间接寻址方式。 (2)寻址范围: ①内部RAM低128单位,形式@Ri(i=0,1)。 ②外部RAM64K使用DPTR作间址寄存器,形式为@DPTR。 4.简述MCS-51单片机的中断入口地址。 4.中断入口地址为中断响应后PC的内容即中断服务的入口地址。 它们是:外部中断0 0003H 定时器T0中断000BH 外部中断1 0013H 定时器T1中断001BH 串行口中断0023H 5.简述串行数据传送的特点。 5.(1)传送按位顺序进行,速度慢。

51单片机考试常见试题简答题,整理版

51单片机考试常见试题简答题,整理版 简答题部分 1、什么叫堆栈? 2、进位和溢出? 3、在单片机中,片内ROM的配置有几种形式?各有什么特点? 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系? 5、MCS-51单片机通常内部包含哪些 主要逻辑功能部件? 6、MCS-51单片机的存储器从物理结构上可 划分几个空间? 7、存储器中有几个保留特殊功能的单元用做入口地址?分别 作什么作用? 8、MCS-51单片机片内256B的数据存储器可分为几 个区?分别起什么作用? 8、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同? 使用时应注意的事项? 9、存储器空间在物理结构上可划分为几 个部分? 10、开机复位后,CPU使用是的哪组工作寄存器?它们的地址 是什么?CPU如何确定和改变当前工作寄存器组? 11、MCS-51的时钟周期、机器周期、指令周期的如何分配 的?当振荡频率为8MHz时,一个单片机时钟周期为多少微秒? 12、程序状态存储器PSW的作用是什么?常用状态标志有哪 几位?作用是什么? 13、EA/VPP引脚有何功用?8031的引脚应 如何处理?为什么?

14、单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中? 15、什么是指令?什么是程序?简述程序在计算机中的执行过程。 16、什么叫寻址方式?MCS51有几种寻址方式? 17、 SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。 18、中断服务子程序与普通子程序有哪些异同之处? 19、MCS-51响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?不同的中断源的中断入口地址是什么? 20、单片机对中断优先级的处理原则是什么? 21、MCS-51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么要求? 22、什么是中断和中断系统?其主要功能是什么? 23、MCS-51有哪些中断源? 24、说明外部中断请求的查询和响应过程 25、MCS-51响应中断的条件?。 26、简述MCS-51单片机的中断响应过程。 27、在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求? 28、MCS-51单片机外部中断源有几种触发中断请求的方法?如何实现中断请求? 29、什么是中断优先级?中断优先级处理的原则是什么? 1

指纹识别模块说明书

指纹识别模块实验 注:此说明书适用于EL-EMCU-I实验箱、EXP-89S51/52/53CPU板。 一、实验目的 掌握指纹模块的开发协议; 掌握16C550芯片的编程方法; 二、实验设备 计算机,KEIL UVISION2环境,EL-EMCU-I实验箱,直连串口电缆、交叉串口电缆(针对针),导线,短接块。 三、基本原理 指纹识别模块采用MCU和PC两种控制方法,供用户灵活选用。其指纹模块采用深圳十指科技的TF-MD-M12开发模块,MCU端的外围电路由通过芯片16C550芯片进行并口到串口的转换,PC端的外围电路用MAX3232控制,模块的电源由实验箱上的接口插座提供。下面将具体介绍一下各部分的组成及其原理。 TF-MD-M12开发模块的功能特点: ◇先进的指纹识别算法(商业); ◇高速算法,500人指纹只要0.43 秒; ◇1:N,1:1 比对(两种可选); ◇用户可分多级权限管理(1、2、3); ◇多级的安全级别自主设置,可更多应用于不同场所; ◇采用高精密的光学成像元件,识别准确; ◇体积小,电路只有:40*58mm,易于集成; ◇功能高度集成,存于DSP中,不用再加电路板; ◇标准接口协议,开发简单; ◇采用面光源,成像速度快; ◇内部采用高级数字处理器DSP,处理速度快; ◇识别率高,最高可达:0.00001% ; ◇稳定性好,四年不断升级和优化; ◇具低电压报警功能; ◇微功耗设计适于电池供电; ◇主板低频设计抗外部电磁干扰; ◇主要供外销厂家和集成商,开发和集成产品; ◇设计精巧适于嵌入指纹锁/小指纹门禁机/手持指纹识别设备; TF-MD-M12开发模块的主要性能指标: ◇电路板尺寸(mm)58×40

单片机简答题与答案

1、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序如何划分? 答:时钟周期是单片机最基本的时间单位。机器周期则是完成某一个规定操作所需的时间。一个机器周期为6个时钟周期,共12个振荡周期性,依次表示为S1P1、S1P2、……S6P1、S6P2。 2、MCS-51单片机有几种复位方法?应注意的事项? 答:上电复位和开关复位。上电复位要求接通电源,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。 3、MCS-51单片机内部包含哪些主要逻辑功能部件? 答:(1)一个8位微处理器CPU。 (2)数据存储器RAM和特殊功能寄存器SFR。 ROM。(3)内部程序存储器(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 (5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。(6)一个串行端口,用于数据的串行通信。 4、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU在操作中要使用两组工作寄存器,你认为SP的初值应为多大? 答:堆栈是一种按照“先进后出”或者“后进先出”规律存取数据的RAM区域由于程序中没有表识,所以要对SP重新赋值对指针SP重新赋值是因为堆栈空间有限,要给他赋首地址。要使用两组工作寄存器,SP的值应该设置为10H。 5、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项? 答:80C51单片机的4个I/O端口在结构上时基本相同的,但又各具特点。在无片外扩展存储器的系统中,这4个端口的每1位都可以作为I/O端口使用。在作为一般的通用I/O输入时,都必须先向锁存器写入“1”,使输出驱动场效应管FET截止,以免误读数据。在系统扩展片外存储器时, P2口作为高8位地址,P0口分时作为低8位地址和双向数据总线。 它们的主要不同点如下: (1)P0口的每一位可驱动8个LSTTL负载。P0口即可作I/O端口使用,也可作地址/数据总线使用。当它作通用口输出时,只有外接上拉电阻,才有高电平输出,作地址/数据总线时,无需外接电阻,此时不能再作I/O端口使用。 (2)P1-P3口输出级接有内部上拉电阻,每位可驱动4个LSTTL负载,能向外提供上拉电流负载,所以不必再外接上拉电阻。 6、简述8051汇编指令格式。 。]原操作数[,]目的操作数 [答:操作码助记符 7、MCS—51指令集中有无“程序结束”指令?上机调试时怎样实现“程序结束”功能。 答:没有这样的指令。但实现“程序结束”至少可以借助4种办法: (1)用原地踏步指令 SJMP $ 死循环。 (2)在最后一条指令后面设断点,用断点执行方式运行程序。 (3)用单步方式执行程序。 (4)在末条指令之后附加一条LJMP监控显示器程序首地址或LJMP 0000H,返回监控状态。8、80C51有几种寻址方式?各涉及哪些存储器空间? 答:80C51有七种寻址方式: 1、立即寻址,寻址空间为ROM; 2、直接寻址,寻址空间为片内RAM的低128B和特殊功能寄存器; 3、寄存器寻址,寻址空间为A、B、DPTR、CY、通用工作寄存器等; 4、寄存器间接寻址,片内RAM低128B、片外RAM;

指纹识别程序和原理图

#include #include #define uchar unsigned char #define uint unsigned int #define Dbus P0 #define buffer1ID 0x01 #define buffer2ID 0x02 #define queren 0x88 #define tuichu 0x84 #define shanchu 0x82 sbit B0=B^0; sbit B7=B^7; sbit jidianqi=P3^6; sbit RS=P2^2; sbit RW=P2^1; sbit E1=P2^0; sbit LEDK=P3^4; //控制背光 sbit SCLK=P2^3; sbit IO=P2^5; sbit RST=P2^4; uchar code ta[8]={0x00,0x51,0x09,0x10,0x05,0x02,0x11,0xbe}; uchar data a[7]; // 秒分时日月星期年 uchar dz[4]; //存键输入值 uchar mima[7]; uchar mimaID[6]={1,2,3,4,5,6}; uchar data K; uchar data Key; uint PageID; uchar data querenma; uchar sum[2]; int summaf,summas; uchar code nian[]={"年"}; uchar code yue[]={"月"}; uchar code ri[]={"日"};

51单片机考试常见试题简答题,整理版

简答题部分 1、什么叫堆栈 2、进位和溢出 3、在单片机中,片内ROM勺配置有几种形式各有什么特点 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期它们之间是什么关系 5、MCS-51单片机通常内部包含哪些主要逻辑功能部件 6、MCS-51单片机的存储器从物理结构上可划分几个空间 7、存储器中有几个保留特殊功能勺单元用做入口地址分别作什么作用 & MCS-51单片机片内256B的数据存储器可分为几个区分别起什么作用 & MCS-51单片机的P0~P3四个I/O端口在结构上有何异同使用时应注意的事项 9、存储器空间在物理结构上可划分为几个部分 10、开机复位后,CPU使用是的哪组工作寄存器它们的地址是什么CPU如何确定和改变当前工作寄存器组 11、MCS-51的时钟周期、机器周期、指令周期的如何分配的当振荡频率为8MHz时,一个单片机时钟周期为多少微秒 12、程序状态存储器PSW勺作用是什么常用状态标志有哪几位作用是什么 13、EA/VPP引脚有何功用8031的引脚应如何处理为什么 14、单片机有哪几个特殊功能寄存器各在单片机的哪些功能部件中 15、什么是指令什么是程序简述程序在计算机中的执行过程。 16、什么叫寻址方式MCS5侑几种寻址方式17、SJMP (短转移)指令和AJMP(绝对转移)指令的主要区 另阮 18、中断服务子程序与普通子程序有哪些异同之处

19、MCS-51响应中断的条件是什么CPU响应中断后,CPU要进行哪些操作不同的中断源的中断入口地址是什么 20、单片机对中断优先级的处理原则是什么 21、MCS-51的外部中断有哪两种触发方式他们对触发脉冲或电平有什么要求 22、什么是中断和中断系统其主要功能是什么 23、MCS-51有哪些中断源 24、说明外部中断请求的查询和响应过程 25、MCS-51响应中断的条件。 26、简述MCS-51单片机的中断响应过程。 27 、在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求在什么情况下不能响应新的中断请求 28、MCS-51单片机外部中断源有几种触发中断请求的方法如何实现中断请求 29、什么是中断优先级中断优先级处理的原则是什么 30、中断响应过程中,为什么通常要保护现场如何保护 31、MCS-51定时器有哪几种工作模式有何区别 32、串行数据传送的主要优点和用途是什么 33、简述串行接口接收和发送数据的过程。 34、MCS-51串行接口有几种工作方式 35、MCS-51 中SCON勺SM2 TB& RB8有何作用 36、简述单片机多机通信的原理。 37、串行通信的总线标准是什么有哪些内容 38、简述单片机系统扩展的基本原则和实现方法。 39、8255 有哪几种工作方式怎样选择其工作方式

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

任务书 课程设计题目:指纹识别 功能简述: 1)根据所学的知识和能力,设计程序可以实现根据指纹的大小、形状等特征,识别出不同的指纹。 2)利用按键标志当前指纹识别的状态,例如录入状态,识别状态,清楚状态;利用液晶1602能够显示当前指纹识别的状态信息。 3)利用继电器,对当前信息的判断,例如提醒当前指纹识别错误;利用蜂鸣器和LED等提醒当前指纹识别是否正确

目录 第一章绪论…………………………………………………….. 1.1、指纹识别中的基本概念………………………………… 1.2 指纹识别的发展前景……………………………………… 1.3、指纹识别课题设计的内容与意义……………………….. 第二章方案选择……………………………………………… 2.1 系统原理图设计…………………………………………… 2.2方案说明……………………………………………………… 2.3 方案比较…………………………………………………… 2.4 方案选择………………………………………………………第三章硬件设计………………………………………………3.1 AT89C52单片机设计……………………………………… 3.2 电源电路设计……………………………………………… 3.3 按键控制部分电路………………………………………… 3.4 LED指示灯电路…………………………………………3.5 蜂鸣器电路………………………………………………3.6 指纹传感器模块………………………………………… 第四章软件程序设计…………………………………………. 4.1程序流程图…………………………………………………4.2程序…………………………………………………………. 第五章调试…………………………………………………… 5.1硬件调试……………………………………………………. 5.2软件调试……………………………………………………

指纹识别原理及其应用

指纹识别原理及其应用 1 指纹识别的原理和方法 1.1 指纹的特征与分类 指纹识别学是一门古老的学科,它是基于人体指纹特征的相对稳定与唯一这一统计学结果发展起来的。实际应用中,根据需求的不同,可以将人体的指纹特征分为:永久性特征、非永久性特征和生命特征[5]。 永久性特征包括细节特征(中心点、三角点、端点、叉点、桥接点等)和辅助特征(纹型、纹密度、纹曲率等元素),在人的一生中永不会改变,在手指前端的典型区域中最为明显,分布也最均匀[1]。细节特征是实现指纹精确比对的基础,而纹形特征、纹理特征等则是指纹分类及检索的重要依据。人类指纹的纹形特征根据其形态的不同通常可以分为“弓型、箕型、斗型”三大类型,以及“孤形、帐形、正箕形、反箕形、环形、螺形、囊形、双箕形和杂形”等9种形态[1]。纹理特征则是由平均纹密度、纹密度分布、平均纹曲率、纹曲率分布等纹理参数构成。纹理特征多用于计算机指纹识别算法的多维分类及检索。 非永久性特征由孤立点、短线、褶皱、疤痕以及由此造成的断点、叉点等元素构成的指纹特征,这类指纹有可能产生、愈合、发展甚至消失[1]。 指纹的生命特征与被测对象的生命存在与否密切相关。但它与人体生命现象的关系和规律仍有待进一步认识。目前它已经成为现代民用指纹识别应用中越来越受关注的热点之一。 1.2 指纹识别的原理和方法 指纹识别技术主要涉及四个功能:读取指纹图像、提取特征、保存数据和比对。通过指纹读取设备读取到人体指纹的图像,然后要对原始图像进行初步的处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。软件从指纹上找到被称为“节点”(minutiae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性

相关主题