基于单片机的指纹锁设计
一、需求分析:
1、问题提出
随着人们对安全性和私密性的要求越来越高,生物特征识别技术的应用愈来愈显现出其
智能化、人性化的强大优势,毫无疑问,指纹锁也将成为 IC 卡门锁和感应卡门锁之后电控
锁具的新主角。
丢了钥匙不仅打不开门,还要当心坏人拾到你的钥匙盗取你的家财,其他使用钥匙的场
合同样也有如此的问题……
这些问题都说明,现行的系统安全性技术己经遭遇严峻的挑战!
因此,门锁,作为人类安全卫士,从以前的简单机械门锁发展到今天的种类和功能都趋
于多样化的智能门锁。机械门锁是使用机械钥匙开门,而机械钥匙容易丢失和复制,同样的
电子密码锁的密码也会因为被别人偷盗,而被非法打开。而人体锁具有的生物特征——指纹,
是与生俱来,终生不变,人各有异的,它绝不会被丢失好复制。
随着信息技术的快速发展,传统的身份识别方式(诸如密码、证件等)已经不能满足不断
增加的安全需要,身份识别已经成为信息安全领域所面临的一个难题。作为一种飞速发展的
技术,指纹识别已经在刑侦领域大显身手,在身份认证等民用领域,这项技术也具有广阔的应
用空间。恰当地把指纹识别系统应用到门禁锁上去,能更有效地实现门锁产品智能化和防盗
的目标。
论文采用具有较大存储力,低功耗,高性能的 8 位 AT89C51 单片机和独立的指纹识别模
块 SM-2B,结合指纹识别的应用情况,以指纹算法在门禁锁上实现的思想为指导,运用成熟的
指纹识别算法和单片机技术,设计和实现了一个高性能、低成本、低功耗、识别速度快的指
纹锁系统。该系统具有指纹开锁,指纹录入,指纹删除,智能报警,电压监测等功能,所涉
及的技术成熟,操作简单方便,实用性很强,具有广泛的使用价值和应用前景。
2、 可行性分析
(1)经济可行性
欧美国家流行电子密码锁、遥控锁,价格相对较高,利润空间还存在,但国内生产这
些高科技锁的企业很少。近几年来,我国开始从引进到自己生产指纹锁。
指纹锁产品处在产品技术上未完全完善,竞争者少,替代产品少,产品附加值高,市场
就能满足其摄取高额利润的要求的阶段,该产品以后的发展将是先期销售增长,利润增加;
慢慢在进入成熟期后,由于创新技术垄断和市场寡头占垄断地位的打破,竞争者增加,市场
竞争激烈,替代产品增多,产品的附加值不断走低,利润转薄,利润在达到顶点后逐渐走下
坡路,开始滑落。企业越来越重视产品成本的下降,较低的成本开始处于越来越有利的地位,
特别是类似于美国第吉尔企业股份有限公司,拥有模具部、设计部、抛光部、压铸部、冲床
部、钻床部、车床部、电子部、装配部和测试部等专门部门,可以完成 90%工序在工厂内
部完成。
(2)技术可行性
指纹识别技术是生物识别技术的一种,众所周知生物识别技术是依靠人体的身体特征来
进行身份验证的一种解决方案。人体的生物特征包括指纹、人脸、声音、虹膜、角膜、掌纹、
骨架、静脉等,行为特征有签字、声音、按键力度、运动姿势等,同时包括法医学.的血液、
DNA 等都属于身体的特征。所谓的生物识别的核心在于如何获取这些生物特征,并将之转换
为数字信息,存储于存储器中,微处理器利用可靠的匹配算法来完成验证与识别个人身份的
过程。
由于人体特征具有人体所固有的不可复制的唯一性,这一生物密钥无法复制,失窃或被
遗忘。而常见的口令、IC 卡、条纹码、磁卡或钥匙则存在着丢失、遗忘、复制及被盗用诸
多不利因素。因此采用生物"钥匙",您可以不必携带大串的钥匙,也不用费心去记或更换密
码。而系统管理员更不必因忘记密码而束手无策。
指纹锁作为第三代安全产品,打破了传统意义上的机械锁单一开门的功能,是集光学、
机械、电子及指纹核心算法技术为一身的高科技产品。现在的指纹锁有很多的功能,比如联
网功能,开门记录功能、远程遥控、智能报警、多人模式、管理者级别等等。这些都是与
IT 行业电子信息技术紧密相连的。那么随着人们安防意识的加强、生活水平及需求的不断
提高,新的功能、新的需求也在不断的应运而生,同时受国家政府职能机构的要求,也有很
多相关的需求。
A 指纹识别技术
a 指纹特征分析
每个人包括指纹在内的皮肤纹路在图案、断点和交叉点上各不相同,呈现惟一性且终生
不变。据此,我们就可以把一个人同他的指纹对应起来,通过将他的指纹和预先保存的指纹
数据进行比较,就可以验证它的真实身份,这就是指纹识别技术。
指纹识别主要根据人体指纹的纹路、细节特征等信息对操作或被操作者进行身份鉴定,
得益于现代电子集成制造技术和快速而可靠的算法研究,已经开始走入我们的日常生活,成
为目前生物检测学中研究最深入,应用最广泛,发展最成熟的技术。
b 指纹特征分类
指纹识别学是一门古老的学科,它是基于人体指纹特征的相对稳定与唯一这一统计学结
果发展起来的。实际应用中,根据需求的不同,可以将人体的指纹特征分为:永久性特征、
非永久性特征和生命特征。
永久性特征包括细节特征(中心点、三角点、端点、叉点、桥接点等)和辅助特征(纹
型、纹密度、纹曲率等元素),在人的一生中永不会改变,在手指前端的典型区域中最为明
显,分布也最均匀细节特征是实现指纹精确比对的基础,而纹形特征、纹理特征等则是指纹
分类及检索的重要依据。人类指纹的纹形特征根据其形态的不同通常可以分为“弓型、箕型、
斗型”三大类型,以及“孤形、帐形、正箕形、反箕形、环形、螺形、囊形、双箕形和杂形”
等 9 种形态。纹理特征则是由平均纹密度、纹密度分布、平均纹曲率、纹曲率分布等纹理参
数构成。纹理特征多用于计算机指纹识别算法的多维分类及检索。
非永久性特征由孤立点、短线、褶皱、疤痕以及由此造成的断点、叉点等元素构成的指
纹特征,这类指纹有可能产生、愈合、发展甚至消失。
指纹的生命特征与被测对象的生命存在与否密切相关。但它与人体生命现象的关系和规
律仍有待进一步认识。目前它已经成为现代民用指纹识别应用中越来越受关注的热点之一。
终都归结为在指纹图象上找到并比对指纹的特征。
c 自动指纹识别技术的分类及基本原理
由于人体的身体特征具有不可复制的特点,人们把目光转向了生物识别技
术,希望可以籍此技术来应付现行系统安全所面临的的挑战。要把人体的特证用
于身份识别,这些特征必须具有唯一性和稳定性。研究和经验表明,人的指纹、
掌纹、面孔、发音、虹膜、视网膜、骨架等都具有唯一性和稳定性的特征,即每
个人的这些特征都与别人不同、且终生不变,因此就可以据此识别出人的身份。
基于这些特征,人们发展了指纹识别、面部识别、发音识别等多种生物识别技术,
目前许多技术都己经成熟并得以应用,其中的指纹识别技术更是生物识别技术的
热点。
指纹识别技术的发展得益于现代电子集成制造技术和快速可靠的算法的研究。尽管指纹
只是人体皮肤的一小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的
相等与不相等的问题,而是使用需要进行大量运算的模糊匹配算法。现代电子集成制造技术
使得我们可以制造相当小的指纹图象读取设备,同时飞速发展的个人计算机运算速度提供了
在微机甚至单片机上可以进行两个指纹的比对运算的可能。另外,匹配算法可靠性也不断提
高,指纹识别技术己经非常实用。
d 指纹识别的原理和方法
指纹识别技术主要涉及四个功能:读取指纹图象、提取特征、保存数据和比对。
指纹采集
指纹图像预处理
特征点提取
存入数据库
提取特征点
匹配特征点
图 1.1 自动指纹识别原理框图
匹配结果
在一开始,通过指纹读取设备读取到人体指纹的图象,取到指纹图象之后,要对原始图
象进行初步的处理,使之更清晰。
接下来,指纹辨识软件建立指纹的数字表示——特征数据,一种单方向的转换,可以从
指纹转换成特征数据但不能从特征数据转换成为指纹,而两枚不同的指纹不会产生相同的特
征数据。软件从指纹上找到被称为“节点”(minutiae)的数据点,也就是那些指纹纹路的
分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。因为通常手指上
平均具有 70 个节点,所以这种方法会产生大约 490 个数据。
有的算法把节点和方向信息组合产生了更多的数据,这些方向信息表明了各个节点之间
的关系,也有的算法还处理整幅指纹图像。总之,这些数据,通常称为模板,保存为 1K 大
小的记录。无论它们是怎样组成的,至今仍然没有一种模板的标准,也没有一种公布的抽象
算法,而是各个厂商自行其是。
最后,通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程
度,最终得到两个指纹的匹配结果。
B 采集指纹图像的技术
获得良好的指纹图像是一个十分复杂的问题。因为用于测量的指纹仅是相当小的一片表
皮,所以指纹采集设备应有足够好的分辨率以获得指纹的细节。目前所用的指纹图像采集设
备,基本上基于三种技术基础:光学技术、半导体硅技术、超声波技术。
1) 光学技术
借助光学技术采集指纹是历史最久远、使用最广泛的技术。将手指放在光学镜片上,手
指在内置光源照射下,用棱镜将其投射在电荷耦合器件(CCD)上,进而形成脊线(指纹图
像中具有一定宽度和走向的纹线)呈黑色、谷线(纹线之间的凹陷部分)呈白色的数字化的、
可被指纹设备算法处理的多灰度指纹图像。
光学的指纹采集设备有明显的优点:它已经过较长时间的应用考验,一定程度上适应温
度的变异,较为廉价,可达到 500DPI 的较高分辨率等。缺点是:由于要求足够
长的光程,因此要求足够大的尺寸,而且过分干燥和过分油腻的手指也将使光学指纹产品的
效果变坏。
2)硅技术(CMOS 技术)
20 世纪 90 年代后期,基于半导体硅电容效应的技术趋于成熟。硅传感器成为电容的一
个极板,手指则是另一极板,利用手指纹线的脊和谷相对于平滑的硅传感器之间的电容差,
形成 8bit 的灰度图像。
硅技术优点是可以在较小的表面上获得比光学技术更好的图像质量,在 1cm×1.5cm 的
表面上获得 200~300 线的分辨率(较小的表面也导致成本的下降和能被集成到更小的设备
中)。缺点是易受干扰,可靠性相对差。
表 1.1 三种技术的比较
比较项目
光学全反射技术
硅晶体电容传感技术
超声波扫描
体
积
耐 用 性
大
非常耐用
小
容易损坏
中
一般
成像能力
干手指差,但汗多的和稍脏的
干手指好,但汗多的和稍脏
非常好
手指成像模糊
的手指不能成像
耗
成
电
本
较多
低
3) 超声波技术
较少
低
较多
很高
为克服光学技术设备和硅技术设备的不足,一种新型的超声波指纹采集设备已经出现。
其原理是利用超声波具有穿透材料的能力,且随材料的不同产生大小不同的回波(超声波到
达不同材质表面时,被吸收、穿透与反射的程度不同),因此,利用皮肤与空气对于声波阻
抗的差异,就可以区分指纹脊与谷所在的位置。
超声波技术所使用的超声波频率为 1×104Hz~1×109Hz,能量被控制在对人体无损的
程度(与医学诊断的强度相同)。超声波技术产品能够达到最好的精度,它对手指和平面的
清洁程度要求较低,但其采集时间会明显地长于前述两类产品。
总之,各种技术都具有它们各自的优势,也有各自的缺点。
C 嵌入式系统及单片机技术
a 嵌入式系统简介
嵌入式系统的出现最初是基于单片机的。70 年代单片机的出现,使得汽车、家电、
工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性
能:更容易使用、更快、更便宜。这些装置已经初步具备了嵌入式的应用特点,但是
这时的应用只是使用 8 位的芯片,执行一些单线程的程序,还谈不上“系统”的概念。
从 80 年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌
入式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,
“嵌入式系统”真正出现了。适合嵌入式应用。这些嵌入式实时多任务操作系统的出
现,使得应用开发人员得以从小范围的开发解放出来,同时也促使嵌入式有了更为广
阔的应用空间。
90 年代以后,随着对实时性要求的提高,软件规模不断上升,实时核逐渐发展为实时
多任务操作系统(RTOS),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。这
时候更多的公司看到了嵌入式系统的广阔发展前景,开始大力发展自己的嵌入式操作系统。
除了上面的几家老牌公司以外,还出现了 Palm OS,WinCE,嵌入式 Linux,Lynx,Nucleux,
以及国内的 Hopen,Delta Os 等嵌入式操作系统。随着嵌入式技术的发展前景日益广阔,相
信会有更多的嵌入式操作系统软件出现。
b 单片机技术
单片机的全名叫做微型单片处理机,简称单片机,主要用于自动化控制。最早的
单片机是 Intel 公司的 8048,它出现在 1976 年。Motorola 同时推出了 68HC05,Zilog
公司推出了 Z80 系列,这些早期的单片机均含有 256 字节的 RAM、4K 的 ROM、4 个 8
位并口、1 个全双工串行口、两个 16 位定 时 器。之后在 80 年代初,Intel 又进一
步完善了 8048,在它的基础上研制成功了 8051,这在单片机的历史上是值得纪念的
一页,迄今为止,51 系列的单片机仍然是最为成功的单片机芯片,在各种产品中有着
非常广泛的应用。
1.89C51 的基本特性和引脚介绍
1) 基本特性
89C51 带闪存单片机在一小块芯片上,集成了一个微型计算机的各个组成部分,即
89C51 单片机芯片内包括:
一个 8 位的 89C51 微处理器(CPU)。
片内 256 字节数据存储器 RAM/SFR,用以存放可以读/写的数据,如运势的结果、
最终的结果,以及欲显示的数据等。
片内 4KB 程序存储器 FLASH ROM,用以存放程序、一些原始数据和表格。
4 个 8 位并行的 I/O 端口 P0~P3,每个端口既可以用作输入,也可以用作输出。
两个 16 位的定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对
外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算
机控制。
具有 5 个中断源、两个中断优先级的中断控制系统。
一个全双工 UART 的串行 I/O 口,用于实现单片机之间或单片机和 PC 机之间的串
行通信。
片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接,最高允许振荡频率
为 24MHZ。
89C51 单片机与 8051 相比,具有节电工作方式,即休闲方式及掉电方式。
2) 管脚说明
89C51 的引脚共有 40 个,下面叙述一些主要引脚的功能。
P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管
脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为
数据/地址的第八位。
P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL
门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,
将输出电流,这是由于内部上拉的缘故。
P2 口:P2 口为一个内部上拉电阻的 8 位
向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内
部上拉 电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。
P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。
当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。
RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.89C51 串行口工作方式
89C5 单片机除有四个 8 位并行口外,还具有串行接口,此接口是一个全双工串行通信
接口,即能同时进行串行发送和数据接受。
89S51 串行通讯的方式选择、接受和发送控制以及串行口的状态标志等均由特殊功能寄
存器 SCON 控制和指示。
其中 SCON 中的 SM0 和 SM1 是串行口工作方式选择位。89S51 串行口共有四种工作方式,
表 4.1 所示。89S51 串行口是可编程接口,对它初始化编程只需用两个控制字分别写入特殊
功能寄存器 SCON(98H) 和电源控制寄存器 PCON (87H)中即可。
表 1.2 串行口工作方式
SM0
SM1
工作方式
说
明
同步移位寄存器
波特率
fosc/12
0
0
1
1
0
1
0
1
方式 0
方式 1
方式 2
方式 3
10 位异步收发器
由定时器控制
11 位异步收发器
fosc/32 或 fosc/64
11 位异步收发器
由定时器控制
采用方式 1 发送和接受数据,这种方式是 10 位通用异步接口。TXD 与 RXD 分别用于发
送与接收数据。收发一帧数据的格式为 1 位起始位、8 位数据位(低位在前)、1 位停止位,
共 10 位。在接收时,停止位进入 SCON 的 RB8,此方式的传送波特率可调。
当单片机以方式 1 接受时,数据从引脚 RXD (P3.0 )端输入。接受是在 SCON 寄存器中
REN 位置 1 的前提下,并检测到起始位(RXD 上检测到 1 到 0 的跳变,即起始位)而开始的。