基于-5-1单片机地指纹识别.doc

上传人:小** 文档编号:641639 上传时间:2019-04-27 格式:DOC 页数:40 大小:3.40MB
返回 下载 相关 举报
基于-5-1单片机地指纹识别.doc_第1页
第1页 / 共40页
基于-5-1单片机地指纹识别.doc_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《基于-5-1单片机地指纹识别.doc》由会员分享,可在线阅读,更多相关《基于-5-1单片机地指纹识别.doc(40页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-_摘 要随着现代化各种科学新技术的快速发展,在日常生活中,我们需要各种身份认证和各种密码认证,还有对各种设备配备钥匙,对保险柜安装防盗系统等等,社会的进步,科技的发展,促使传统的安全系统的抵御能力越来越薄弱。因此,生物特征识别应用而生,开始走进我们身边的各种安全系统,指纹识别作为生物特征识别的一个典型应用已经得到很广泛的应用和认可,指纹特征具有唯一性,是每个人终生不变的特征之一,并且各个人的各个指纹都不一样。本系统采用 89C52RC 单片机作为主芯片,通过与指纹识别模块 FM-180 之间通过串口通信方式的通信,采用液晶 12864 作为显示器,加上简单的外围电路,如按键输入、LED 灯报

2、警电路、蜂鸣器电路,最后通过编写软件和制作硬件,实现一个可以通过单片机对指纹的录入,识别,删除等功能操作的指纹识别系统。关键词 指纹识别系统;单片机 89C52;液晶 12864-_AbstractWith the rapid development of modern science a variety of new technologies, in everyday life, we need a variety of authentication and a variety of password authentication, as well as a variety of devic

3、es with keys for the safe installation of security systems, etc., social progress the development of technology, to promote the traditional security system resilience increasingly weak. Thus, biometric applications, born around us began to enter various security systems, biometric fingerprint identi

4、fication as a typical application has been very widely used and recognized, unique fingerprint characteristics, life is not for everyone one variable characteristics, and each persons fingerprints are not the same individual.The system uses 89C52RC microcontroller as the main chip, it passes between

5、 the fingerprint recognition module FM-180 serial communication with the communication method by using a liquid crystal display as 12864, plus simple peripheral circuits, such as key input, LED light alarm circuit, buzzer circuit, and finally through the preparation and production of software, hardw

6、are, you can implement a microcontroller on the fingerprint input, recognition, and delete functions operate fingerprint identification system.Key words Fingerprint identification system;SCM 89C52;LCD 12864-_目 录1 绪论.5 1.1 课题的背景和意义 .5 1.2 生物识别技术概述 .5 1.3 指纹识别技术概述 .6 1.4 本章小结 .6 2 设计方案.8 2.1 设计要求 .8 2

7、.2 设计方案 .8 2.3 本章小结 .8 3 硬件设计.9 3.1 主要元器件选型 .9 3.1.1 单片机选型.9 3.1.2 指纹模块.10 3.1.3 液晶显示.11 3.2 电路设计 .14 3.2.1 最小系统.14 3.2.3 液晶显示电路.15 3.2.4 指纹通信电路.16 3.2.5 蜂鸣器电路.17 3.2.6 按键电路.18 3.2.7 LED 电路 .18 3.3 本章小结 .19 4 软件设计.20 4.1 系统方框图 .20 4.2 功能介绍 .20 4.3 开发环境介绍 .23 4.3.1 Keil 编译器 .23 4.3.2 STC-ISP 下载器 .24

8、4.3.4 Protel 软件 .25 4.4 部分代码说明 .26 4.5 本章小结 .30 5 系统调试.31 5.1 制作和调试 .315.1.1 原理图设计.315.1.2 PCB 制作 .32 5.2 调试过程 .34 5.3 调试完成、实物图 .36 5.4 本章小结 .37 6 总结.38-_参考文献.39 致谢.40-_1 绪论1.1 课题的背景和意义随着如今各种各样的高新技术的迅猛发展,在百姓日常生活中经常需要我们去确认各种身份的认证。而在现在的大数据信息时代,每个人都拥有各种各样的大量认证密码,有一些是全数字的,还有一些是图像密码,例如手机开机密码,移动端支付密码,电脑开机

9、密码,聊天软件登录密码等等,就单单这些移动端的密码都可以是无数个,更不要说还有一些更重要的安全密码,例如银行卡的支付密码等。还有其他的一些比较传统的硬件机械安全防盗系统保险柜,大门钥匙、汽车钥匙、摩托车钥匙等等,随着现在时代的变化,科技的进步,传统的一些安全系统已经正在变得越来越脆弱了,因此,更先进更高级的生物识别技术开始走进我们的身边,出现在各种各样的安全系统中。比如人脸识别、指纹识别、眼球视网膜识别等,而指纹识别作为生物识别里面一个比较成熟的已经获得了各行业界的认可的识别系统,广泛的被应用到安全系统中去。指纹识别具有唯一性,每个人的每一个指纹都是独一无二的,可以说指纹是一个人身份的标志。本

10、系统采用的是 STC89C52 传统的 51 单片机作为主控 MCU,由于其低功耗、编程灵活简单、外围设备丰富,性价比高,所以被广泛的应用在一些低端的电子设备中,在高端产品中由于实时性,扩展性上受到了比较大的限制,所以很少有其身影。但是也有它自身的突出的优点和意义,那就是简单好用便宜,在本次设计中做为主芯片,跟指纹模块进行串口通信,加以简单的一些外围设备,很方便的可以完成指纹识别系统应该具备功能。这对于我更好的理解指纹识别原理和单片机结构功能很有帮助,这也是选题的意义所在。1.2 生物识别技术概述所谓生物识别技术就是,通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段,利用人体固有

11、的生理特性,(如指纹、脸象、红膜等)和行为特征(如笔迹、声音、步态等)来进行个人身份的鉴定。由于人体特征具有人所固有的不可复制的唯一性,这一生物密钥无法复制,失窃或被遗忘,利用生物识别技术进行身份认定,安全、可靠、准确。目前已经出现了许多生-_物识别技术,如指纹识别、手掌几何学识别、虹膜识别、视网膜识别、面部识别、签名识别、声音识别等,但其中一部分技术含量高的生物识别手段还处于实验阶段。我们相信随着科学技术的飞速进步,将有越来越多的生物识别技术应用到实际生活中。 而根据国际生物识别小组在 2009 年作出的一个不完全统计,目前市场上已经有很多种针对人类的各个不同生理特征和行为的特征的应用。比如

12、视网膜识别、虹膜识别、人脸识别、指纹识别等,而其中应用最多的就是说指纹识别。1.3 指纹识别技术概述每个人的每一个手指的皮肤都有一个不一样的花纹,是每个人的一个生物特征,这个特征具有一个非常重要的特点,那就是唯一性。也就是说任何一个不同的手指的指纹都是不一样的,独一无二的。在指纹识别技术中称这个指纹为指印,即是人手指的按印,如下图所示。图 1 指纹指印19 世纪初,科学家们发现每个不同的指纹的两个非常重要的特征,一是两个不同手指的指纹纹脊不同,二是指纹纹脊的样式终生不变性。这一研究发现使得指纹正式在犯罪鉴别中得以应用。指纹指标技术把一个人跟他的指纹对应起来,通过比较他的指纹和事先已经存在的指纹

13、做对比,从而确认这个人的真正身份。每一个人的指纹的皮肤纹路在图案、断点和交叉点上各不相同,也就是说,唯一性的,独一无二的。1.4 本章小结本文以 51 单片机为主芯片,采用指纹识别模块 FM-180,液晶采用 12864显示,加上其他外围的一些简单设备,可以实现对指纹的录入、指纹的识别、指纹的删除等共,组成了一个基于 51 单片机的指纹识别系统,从而对指纹识别算法的研究和单片机的结构更进一步的了解,并且根据硬件选型,选择了其中较为可行的方案,并制作和调试电路板。具体的章节和各章的内容安排如下:第 1 章阐述了本课题的研究背景和意义,同时介绍了生物识别特征的几个-_识别手段,最后介绍了指纹识别技

14、术的概念。第 2 章介绍了本文设计的要求,最后根据要求设计出合理的具体方案。第 3 章介绍了本设计的硬件部分,包括主要的元器件选型,各个电路的设计和分析。第 4 章介绍了本设计的软件部分,包括整个系统的方框图,功能的具体介绍,最后还简单介绍了开发环境。第 5 章介绍了本系统的调试过程,主要是在整个系统的调试过程中遇到的问题和解决方法。第 6 章是对本文的一个总结,以及提出对整个设计的一些不足。-_2 设计方案2.1 设计要求本设计要求如下:1、系统默认至少有一位管理员,没管理员的时候提示必须添加管理员方可操作;2、可以对管理员进行添加,最多有 2 位,普通用户可以添加 400 多位;3、录入指

15、纹和删除指纹的时候必须管理员验证,验证成功才可以添加用户,否则不可以添加用户;4、可以查看管理员和普通用户的数量;5、可以对指纹进行删除,需管理员验证;6、通过以上要求,制作出一套具有软件和硬件相结合的指纹考勤系统。2.2 设计方案通过上节的设计要求,根据搜集资料并且结合自身所学知识,最后制定的本设计方案如下:本设计以 51 单片机 STC89C52 作为主芯片,选取了指纹识别模块 FM-180 进行二次开发,该模块采用串口通信方式,按照指纹系统自定义的协议来跟单片机通信,单片机按照固定的协议去读取指纹系统的数据,同时对指纹系统发送指令进行控制,从而实现指纹的操作;而显示器选用 LCD1286

16、4,液晶在系统运行中和各个不同功能模式的时候显示对应的提示内容;设计要求可对指纹进行录入、识别、删除等操作,通过不同的按键来完成,本设计采用了 5 个独立的按键,软件部分采用轮询检测 IO 电平来判断按键值;报警提示选用的元件是蜂鸣器和 LED 灯。2.3 本章小结本章介绍了本课题设计的具体要求,最后根据设计要求制定的合理可行的具体方案。-_3 硬件设计3.1 主要元器件选型3.1.1 单片机选型图 2 STC89C52本设计中需要用到跟指纹模块进行通信,而经过对单片机与模块通信方式的多种比较后,决定采用比较简单的串口通信,而串口通信在大学课本里面也有讲过,自己用起来应该还是相对比较简单的。串

17、口通信的方式,几乎在任何一款单片机都有硬件支持的,只不过有的串口有多个,有一些少而已。按照之前自己接触过的单片机,51 单片机作为本次的单片机主控芯片,功能上是基本可以满足实现的,51 单片机作为最经典的 8 位处理器,同时也是很多大学作为电子类专业的必选课程之一,可见其功能和实用性还是被大家认可的。所以本次决定在 STC89C52RC 单片机和 STC12C5A60S2 这两个中选出一个作为主控芯片。-_两者都是 51 内核,不同点有一下几点:1、12C5A60S2 是 1T 模式的,比普通的 51 单片机 89C52 可以快 68 倍,而定时器,串口为了兼容传统的 51 单片机,是可以设置

18、为 1T 模式或者 12T 模式的;2、12C5A60S2 有两个独立的串口,而 89C52 只有一个串口,一般在调试过程中,有多个串口是最好的,可以调试看信息,找问题所在,而这次的设计显然不需要,只需要用到一个串口通信即可;3、作为重要的对比,12C5A60S2 的 RAM 有 1280 个字节,ROM 有 60K 的存储空间,可见 12C5A 的容量是非常大的,而 89C52 的 RAM 和 ROM 就相对小很多,分别是 512 字节和 8K,但实际上,作为本次的功能,已经足够了。经过以上选择对比,最后决定选用 STC89C52 作为本次的主控芯片。3.1.2 指纹模块作为本次的重要传感器

19、,指纹识别模块无法自己去做,只能通过网上淘宝买现成的模块回来进行二次开发,市场有各种各样的指纹模块,价格也是五花八门,但实际上基本的协议还是比较相似的,只不过有的支持的协议指令多,有一些支持的指令相对来说比较少而已,本次需要用到的功能有录入指纹,识别指纹,清空指纹,显然这三个指令,几乎所有的模块都可以实现,根据最后筛选和价格比对,最后决定选用 FM-180 作为本次的指纹识别模块。FM-180 指纹模块,一体化结构,已经包含了算法芯片,其质量稳定,性能优异,产量稳定,多行业客户的实际选择,给您无忧的产品保障体系。FM-180 指纹模块由光学指纹传感器、高速 DSP 处理器、高性能指纹比对算法、

20、大容量 FLASH 芯片等软硬件构成,集成了采集芯片和指纹算法芯片;性能稳定,结构简单,具有指纹录取、图像处理、指纹对比、指纹搜索和模板存储、手指感应输出等功能;采用 8 条精简指令,开发更简单。产品特点: 功能完善:独立完成指纹采集、指纹登记、指纹比对(1:1)和指纹搜索(1:N)功能。 体积小巧:产品体积小巧,没有外接算法 DSP 芯片的电路板,已经集成一体,方便安装,故障少。 超低功耗:产品整体功耗极低,适用于低功耗要求的场合。 抗静电能力强:具有很强的抗静电能力,抗静电指标达到 15KV 以上。 应用开发简单:开发者可根据提供的控制指令,自行指纹应用产品的开-_发,无需具备专业的指纹识

21、别知识。 安全等级可调:适用于不同的应用场合,安全等级可由用户设定调整。技术参数:供电电压:DC 46V供电电流:工作电流:110mA(典型值)峰值电流:140mA 指纹图像录入时间:0.3 秒匹配方式:比对方式(1:1)搜索方式(1:N特征文件:256 字节模板文件:512 字节存储容量 400 枚安全等级:3 级 认假率(FAR):0.0001%拒真率(FRR):1.0%搜索时间:1.0 秒 (1:1000 时,均值)上位机接口:UART 通讯串口波特率:57600bps图 3 FM-1803.1.3 液晶显示作为人机交互界面,显示器起到一个至关重要的元件,本文中需要将整个操作的过程完全显

22、示在显示器上面,比如录取指纹,识别指纹是否正确还是错误 等等。下面就本设计的过程中对显示器的元件选型进行分析和对比。方案 1-_图 4 数码管采用数码管的形式来作为显示器,数码管是一种半导体发光器件,一般单独的数码管有 7 段的数码管和 8 段的数码管,8 段的数码管比 7 段多了一个小数点的段,他们的显示单元都是发光二极管。数码管还有共阳极和共阴极之分。将每个发光二极管的正极连到一起,将负极单独分开,就是共阳极,反过来,将每个发光二极管的负极连着一起就是共阴极。需要显示一个数字的时候,只需要把对应的发光二极管点亮即可组成一个数字显示,而一般采用的方法是动态扫描,使得每个发光二极管轮流的显示出

23、来,由于单片机的速度很快,所以我们肉眼并不能看出来。数码管价格便宜,使用简单,但是只能显示基本的数字,并不能显示一些比较复杂的字符,所以在一般需要显示复杂的电子设备中比较少见。方案 2采用液晶 LCD1602 作为显示器,供电电压有 3.3V 和 5V 两种,能够同时显示 16*2 个字符,16 列 2 行,其内部模块里面已经存储了 160 多个我们平时很普遍用到的的点阵字符图形,每一个字符符号都有一个固定的代码编码,只需要发送对应的代码编号给液晶模块,就会自动显示出来对应的字符,共有 16 个引脚,和单片机通信采用的是并行通信方式,即 8 个 IO 口,该模块优点是可以显示基本的字符符号,价

24、格便宜。但是也有其不足的地方,就是不能显示中文,而且只能是显示 2 行,和单片机通信需要 8 个 IO 口。加上 3 个控制引脚,一般都需要用到 11 个 IO 口。-_图 5 液晶 1602 方案 3采用液晶 12864,显示器 12864 液晶,可以显示中文,并且是自带字库,字库中有几千个常用的汉字,用起来基本是可以满足的,接口也是比较灵活,可以选择并行或者串行接法,串行接法只需要用到两根线。液晶的引脚图如下图所示。液晶的 D0D7 是数据引脚,当液晶作为并行通信的时候,单片机要连接这 8 个数据口,而液晶的 PSB 引脚是选择并行或者串行的引脚,当低电平时为串行方式,当高电平时为并行方式

25、。由于串口方式接口更简单,和单片机通信只需要 2 个 IO 口,在电路图设计中更为方便,所以一般在设计中可选择该方式。液晶还带了一个背光的对比度调节电位器,可以调节字体和背光之间的一个对比度,而现在很多液晶都已经出厂时就把这个电阻值定好了,无需在手动去调节。表一 液晶 12864 引脚管脚号管脚名 称电平管脚功能描述1VSS0V电源地2VCC3.0+5 V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示 DB7DB0 为显示数据 RS=“L”,表示 DB7DB0 为显示指令数据5R/W(SID )H/LR/W=“H”,E=“H”,数据被读到 DB7DB0 R/W=“L”,

26、E=“HL”, DB7DB0 的数据被 写到 IR 或 DR6E(SCLK)H/L使能信号-_7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8 位或 4 位并口方式,L:串口方式16NC-空脚17/RESETH/L复位端,低电平有效18VOUT-LCD 驱动电压输出端19AVDD背光源正端(+5V)20KVSS背光源负端图 6 LCD12864综上三个方案对比,最后选择液晶 12864 作为本次的显示器模块3.2 电路设

27、计3.2.1 最小系统单片机最小系统一般由晶振电路、复位电路和单片机组成,是整个设计系统中最基本的也是最简单的电路,只有简简单单的几个元件,2 个电容和一个晶振连接单片机的 XTAL1 和 XTAL2 引脚,而一个电阻和一个电解电容连着单片机的复位引脚,看似这个电路非常简单,但这也关系着整个软件系统能不能正-_常工作,只有这个电路正常了,其他电路才有可能继续执行下去,由这个简单的电路,加上单片机最简单的启动程序,也就是我们平时所说的 bootloader,简称为引导程序,这个引导程序是有芯片厂家出厂的时候就已经刷进去的,上电之后芯片会去执行这一段程序,包括配置一些寄存器和分频之类的操作,同时当

28、我们去烧写程序的时候,也需要用到这个引导程序,通过 PC 发送固定码给芯片,芯片接受到后进进入这个程序开始接受用户程序,达到升级用户程序的功能,构成单片机最小系统。单片机正常供电为直接 5V,工作时 RST 复位引脚为低电平,手册上面说明只要单片机的复位脚超过 2 个机器周期的高电平,单片机就可以正常复位,所以按下复位按键,单片机复位。图 7 最小系统电路3.2.3 液晶显示电路本设计中,液晶显示起到一个人机交互的作用,尤其重要,试想如果没有界面提示的话,整个操作过程将很难去实现全部的功能。液晶 12864 可以显示4 行,每一行可以显示 8 个汉字,共可以显示 32 个汉字,对应这个系统来说

29、,-_是足够的,一般出现不够行的情况下,大都是采用切换到第二个节目显示的方法;12864 液晶跟单片机的通信方式有两种,一种是并行 ,一种是串行,对于串行来说,电路是比较简单不需要那么多的 IO 口,只需要两个 IO 就行,一发一收,但速率就比并行比较慢,而并行由于 8 个 IO 一起发送数据,因此要比较快,对于显示刷新频率要求不高的话,可以考虑用串行方式,毕竟电路简单,IO 少,而本次的设计过程中采用的是并行方式,跟 LCD 液晶的通信端设置为 P0端,而单片机的 P0 端默认是没有上拉的,因为也要在电路中给 P0 口接上一个8 个电阻的排阻,阻值一般取 1K,而液晶的第三脚作为背光调节亮度

30、,可以接一个电阻器来改变该脚的电压值从而达到可以调节亮度的效果,由于没有现成的电位器,因此该引脚悬空操作,液晶也可以正常显示。图 8 液晶 12864 电路图3.2.4 指纹通信电路本文采用的指纹识别模块是集成的模块,跟单片机通信采用的是串口方式,波特率是 57600,8 位数据,一位停止位,无校验。由于单片机需要外部晶振,所以在需要用到串口的电路中,该晶振都必须是为 11.0592M 的倍数,如果采用12M 的话,波特率会有误差,会造成串口数据丢失的情况。89C52 单片机只有一个串口,所以用串口 1 跟指纹模块通信,单片机的 RXD 接指纹模块的 TX,而单片机的 TXD 接指纹模块的 R

31、X。通过指纹模块的数据手册,发送对应的指令给指-_纹模块,即可实现录入指纹、识别指纹、清空指纹等操作。图 9 指纹通信电路3.2.5 蜂鸣器电路图 10 蜂鸣器驱动电路本次设计中,由于需要在录入指纹和识别指纹中对正确或者错误做出判断,因此在电路设计中加入了蜂鸣器来作为提醒报警响应的作用。采用的是直流电压 5V 供电的有源蜂鸣器,但是一般的蜂鸣器在整个系统运行中需要比较大的电流,51 单片机的 IO 口除了 P0 口外其他的都有一个弱上拉电阻,但 IO 的驱动-_电流也是非常低,不加外部的驱动电路是很难直接驱动的。而最常用的就是用普通的三极管来放大电流驱动,该三极管在电路中的作用是开关电路并且放

32、大电流,P37 高电平为蜂鸣器响,低电平蜂鸣器停止。报警提醒电路如图 10 所示。3.2.6 按键电路图 11 按键电路设计中有录入指纹功能、识别指纹功能、清除指纹库功能,这些功能的切换都是通过按键来实现的,按键一般有独立按键,矩阵键盘等,由于本次涉及到的按键不需要很多个,因此采用独立按键的形式,简单方便易操作,而按键电路用的是直接练到单片机的 IO 上面,通过对该 IO 口电平读取不同的值来区别按下还是弹开,按键用的是 4 脚按键,对角的两个引脚为一对,是导通的,随便一个引脚接地,对角 IO 接入单片机,按下按键时,4 个引脚都接通,即与单片机连着的引脚也被拉低,单片机 IO 也响应被拉低,

33、软件就认为此时按键被按下,执行按下操作,由于按下过程中有电压毛刺,所以软件一般采用 10MS 的延时来代替消抖动作。 3.2.7 LED 电路LED 作为电子电路中最常用的指示作用,本次中也用到了两个 LED 灯来作-_为系统的提示灯作用,一个为红色,一个为绿色,LED 作为二极管的一个最典型元件,其两端也是有一个压降,一般 1.3V 左右,根据电子知识,只要在两端上有超过这个的压降,二极管就导通,为了保险起见,可以在单片机的 IO 口接上一个限流电阻,不至于上电时容易烧坏。当单片机的 P35 和 P36 高电平的时候,LED 灯就亮,反过来,当为低电平的时候,LED 灯就灭。图 12 LED

34、 电路3.3 本章小结本章介绍了本设计的元器件选型以及各个电路部分的设计和分析。-_4 软件设计4.1 系统方框图通过第二章的介绍,我们根据设计的要求采用 STC89C52 作为主控芯片,FM-180 则作为本次最重要的指纹传感器,液晶 12864 作为人机交互界面,同时用独立按键来进行各个功能切换,蜂鸣器和 LED 灯作为报警提示,最后根据设计要求做出的方框图图下图所示:图 13 系统结构框图系统上电之后,经过一系列的初始化,比如串口初始化,定时器初始化,初始化完成后进入主程序。由于单片机是单线程运行的,所以在主程序中采用一个 while 循环来执行整个的主程序。4.2 功能介绍-_1、本系

35、统设计了一个管理员的操作,即出厂时必须录入一个指纹,该指纹录入成功后就是该系统的管理员,方可进入主界面。主界面的功能有识别指纹功能、添加管理员功能、添加普通用户功能、清空指纹库功能,而每个功能的选择是通过按键来切换的。图 14 主界面2、进入主界面之后可以对系统进行一系列的操作,管理员可以有 2 个,当录入达到 2 个时会有提示。而要对系统的指纹进行录入普通用户和清空指纹库指纹都需要管理员验证。当验证失败的时候液晶提示相对应的内容,只有验证成功了才可执行下一步操作。图 15 管理员验证3、当管理员验证成功后就可以录入普通用户了,该系统可以录入多达 400多位的普通用户,录入过程中只需要按住手指

36、不放,当录入完成后液晶提示录-_入成功字符同时显示出对应的指纹 ID 号。同样的录入失败也会有同样的提示。图 16 添加用户4、清空指纹库的操作一样要经过管理员验证,验证成功后,系统将把所有的指纹删除,即清空指纹库。这时候没有任何指纹,同样的提示要录入管理员,也就是恢复出厂设置。图 17 清空指纹库5、除了基本的录入指纹,识别指纹,清空指纹之外,板子还有一个查询按键,当按下该按键时,液晶显示出系统中已经存在的管理员和普通用户的数量,起到一个很好的查看作用。-_图 18 查询界面4.3 开发环境介绍4.3.1 Keil 编译器本次的软件编程部分采用的是 KEIL 编译器。Keil C51 是美国

37、 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil 的网站虽然没有中文版本,但是 Keil 软件却被中国 80%的硬件工程师使用,但凡与电子相关的专业,都会开始从单片机和计算机编程开始学习,而学习单片机自然会用到 Keil 软件。C51 工具包的整体结构,Vision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成开发环境(I

38、DE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用 IDE 本身或其它编辑器编辑 C 或汇编源文件。然后分别由 C51 及 C51 编译器编译生成目标文件(.obj)。目标文件可由 LIB51 创建生成库文件,也可以与库文件一起经 L51 连接定位生成绝对目标文件(.abs)。abs 文件由 OH51 转换成标准的 hex 文件,以供调试器 dScope51 或 tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如 EPROM 中。-_图 19 Keil 软件界面4.3.2 STC-ISP 下载器STC-ISP 是一款单

39、片机下载编程烧录软件,是针对 STC 系列单片机而设计的,可下载 STC89 系列、12C2052 系列和 12C5410 等系列的 STC 单片机,使用简便,现已被广泛使用。-_图 20 STC-ISP4.3.44.3.4 ProtelProtel 软件软件图 21 protel 软件-_本设计电路图的设计是通过 Protel 画的,这个软件在大学的实验课程中也是有学到的,所以用这个软件来设计电路图。由于电路图的连线比较复杂,如果用线直接连的话看起来会比较乱,而且容易出问题,所以本设计采用网络的方式来连接元器件。通过画好原理图之后,就转换成 PCB 即可。4.4 部分代码说明该代码说明:液晶

40、 12864 可以显示 4 行文字,每一行最多可以显示 8 个汉字,一共可以显示 32 个汉字,一般在程序中只需要告诉液晶的 X、Y 轴即可。液晶的行数据的地址分别是 0X80,0X90,0X88,0X98,分别表示的是第一行,第二行,第三行和第四行。例如想要在液晶的第二行的第三个位置显示文字,Lcd12864_PutString(1,2,“添加成功“);这样即可显示出来。void v_Lcd12864SetAddress_f( unsigned char x, y ) /地址转换unsigned char byAddress ;switch( x )case 0 : byAddress =

41、0x80 + y ;break;case 1 : byAddress = 0x90 + y ;break ;case 2 : byAddress = 0x88 + y ;break ;case 3 : byAddress = 0x98 + y ;break ;default :break ;v_Lcd12864SendCmd_f( byAddress ) ;void Lcd12864_PutString( uhar x, uchar y, unsigned char *pData )v_Lcd12864SetAddress_f( x, y ) ;while( *pData != 0 )-_v_

42、Lcd12864SendData_f( *pData+ ) ;delay(30);该代码说明:按键方式采用的是独立按键的方式,一共用到 5 个独立按键,没有按下按键的时候,单片机对应的 IO 口是高电平,当有按键按下时对应的IO 口就被连到 GND,对应的 IO 也就是低电平。单片机检测到后,根据相对应的IO 口执行不同的按键功能。对于消抖操作,在简单的设计中可以使用一个时间延时来处理。这个时间不能太长,如果太长的话会导致按键不灵敏等问题。uint FUN_KeyDec()bit press = 0;if(!IOKEY_dec) /如果检测到低电平,说明按键按下keyDelay_1ms(1); /延时去抖,一般 10-20msif(!IOKEY_dec) /再次确认按键是否按下,没有按下则退出while(!IOKEY_dec);/如果确认按下按键等待按键释放,没有释放/则一直等待press = 1;if(press)ClrScreen12864();sys_status=8;return 0; 该代码说明:当进行指纹识别的时候,单片机通过串口发送对应的指令给指纹模块,指纹模块从而进行搜索指纹功能。当用户按下手指的时候,模块会-_自动获取该指纹的特征值,并对这个特征值进行判断是否已经存在系统中,如果是存在则返回该指纹的序号,如果不匹配则返回 0。单片机将返回到的数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com