毕业设计(论文)-基于51单片机的指纹识别.doc

上传人:可****阿 文档编号:93374905 上传时间:2023-07-03 格式:DOC 页数:41 大小:3.45MB
返回 下载 相关 举报
毕业设计(论文)-基于51单片机的指纹识别.doc_第1页
第1页 / 共41页
毕业设计(论文)-基于51单片机的指纹识别.doc_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《毕业设计(论文)-基于51单片机的指纹识别.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于51单片机的指纹识别.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、电路,最后通过编写软件和制作硬件,实现一个可以通过单片机对指纹的录入,识别,删除等功能操作的指纹识别系统。关键词 指纹识别系统;单片机89C52;液晶12864 Abstract With 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 devices with k

3、eys 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 identification

4、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 the fing

5、erprint 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, hardware, you

6、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 绪论51.1 课题的背景和意义51.2 生物识别技术概述51.3 指纹识别技术概述61.4 本章小结62 设计方案82.1 设计要求82.2 设计方案82.3 本章小结83 硬件设计93.1 主要

7、元器件选型93.1.1 单片机选型93.1.2 指纹模块103.1.3 液晶显示113.2 电路设计143.2.1 最小系统143.2.3 液晶显示电路153.2.4 指纹通信电路163.2.5 蜂鸣器电路173.2.6 按键电路183.2.7 LED电路183.3 本章小结194 软件设计204.1 系统方框图204.2 功能介绍204.3 开发环境介绍234.3.1 Keil编译器234.3.2 STC-ISP下载器244.3.4 Protel软件254.4 部分代码说明264.5 本章小结305 系统调试315.1 制作和调试31 5.1.1 原理图设计31 5.1.2 PCB制作325

8、.2 调试过程345.3 调试完成、实物图365.4 本章小结376 总结38参考文献39致谢40411 绪论1.1 课题的背景和意义随着如今各种各样的高新技术的迅猛发展,在百姓日常生活中经常需要我们去确认各种身份的认证。而在现在的大数据信息时代,每个人都拥有各种各样的大量认证密码,有一些是全数字的,还有一些是图像密码,例如手机开机密码,移动端支付密码,电脑开机密码,聊天软件登录密码等等,就单单这些移动端的密码都可以是无数个,更不要说还有一些更重要的安全密码,例如银行卡的支付密码等。还有其他的一些比较传统的硬件机械安全防盗系统保险柜,大门钥匙、汽车钥匙、摩托车钥匙等等,随着现在时代的变化,科技

9、的进步,传统的一些安全系统已经正在变得越来越脆弱了,因此,更先进更高级的生物识别技术开始走进我们的身边,出现在各种各样的安全系统中。比如人脸识别、指纹识别、眼球视网膜识别等,而指纹识别作为生物识别里面一个比较成熟的已经获得了各行业界的认可的识别系统,广泛的被应用到安全系统中去。指纹识别具有唯一性,每个人的每一个指纹都是独一无二的,可以说指纹是一个人身份的标志。本系统采用的是STC89C52传统的51单片机作为主控MCU,由于其低功耗、编程灵活简单、外围设备丰富,性价比高,所以被广泛的应用在一些低端的电子设备中,在高端产品中由于实时性,扩展性上受到了比较大的限制,所以很少有其身影。但是也有它自身

10、的突出的优点和意义,那就是简单好用便宜,在本次设计中做为主芯片,跟指纹模块进行串口通信,加以简单的一些外围设备,很方便的可以完成指纹识别系统应该具备功能。这对于我更好的理解指纹识别原理和单片机结构功能很有帮助,这也是选题的意义所在。1.2 生物识别技术概述所谓生物识别技术就是,通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段,利用人体固有的生理特性,(如指纹、脸象、红膜等)和行为特征(如笔迹、声音、步态等)来进行个人身份的鉴定。由于人体特征具有人所固有的不可复制的唯一性,这一生物密钥无法复制,失窃或被遗忘,利用生物识别技术进行身份认定,安全、可靠、准确。目前已经出现了许多生物识别

11、技术,如指纹识别、手掌几何学识别、虹膜识别、视网膜识别、面部识别、签名识别、声音识别等,但其中一部分技术含量高的生物识别手段还处于实验阶段。我们相信随着科学技术的飞速进步,将有越来越多的生物识别技术应用到实际生活中。 而根据国际生物识别小组在2009年作出的一个不完全统计,目前市场上已经有很多种针对人类的各个不同生理特征和行为的特征的应用。比如视网膜识别、虹膜识别、人脸识别、指纹识别等,而其中应用最多的就是说指纹识别。1.3 指纹识别技术概述每个人的每一个手指的皮肤都有一个不一样的花纹,是每个人的一个生物特征,这个特征具有一个非常重要的特点,那就是唯一性。也就是说任何一个不同的手指的指纹都是不

12、一样的,独一无二的。在指纹识别技术中称这个指纹为指印,即是人手指的按印,如下图所示。图1 指纹指印19世纪初,科学家们发现每个不同的指纹的两个非常重要的特征,一是两个不同手指的指纹纹脊不同,二是指纹纹脊的样式终生不变性。这一研究发现使得指纹正式在犯罪鉴别中得以应用。指纹指标技术把一个人跟他的指纹对应起来,通过比较他的指纹和事先已经存在的指纹做对比,从而确认这个人的真正身份。每一个人的指纹的皮肤纹路在图案、断点和交叉点上各不相同,也就是说,唯一性的,独一无二的。1.4 本章小结本文以51单片机为主芯片,采用指纹识别模块FM-180,液晶采用12864显示,加上其他外围的一些简单设备,可以实现对指

13、纹的录入、指纹的识别、指纹的删除等共,组成了一个基于51单片机的指纹识别系统,从而对指纹识别算法的研究和单片机的结构更进一步的了解,并且根据硬件选型,选择了其中较为可行的方案,并制作和调试电路板。具体的章节和各章的内容安排如下:第一章 阐述了本课题的研究背景和意义,同时介绍了生物识别特征的几个识别手段,最后介绍了指纹识别技术的概念。第二章 介绍了本文设计的要求,最后根据要求设计出合理的具体方案。第三章 介绍了本设计的硬件部分,包括主要的元器件选型,各个电路的设计和分析。第四章 介绍了本设计的软件部分,包括整个系统的方框图,功能的具体介绍,最后还简单介绍了开发环境。第五章 介绍了本系统的调试过程

14、,主要是在整个系统的调试过程中遇到的问题和解决方法。第六章 是对本文的一个总结,以及提出对整个设计的一些不足。2 设计方案2.1 设计要求本设计要求如下:1、 系统默认至少有一位管理员,没管理员的时候提示必须添加管理员方可操作;2、 可以对管理员进行添加,最多有2位,普通用户可以添加400多位;3、 录入指纹和删除指纹的时候必须管理员验证,验证成功才可以添加用户,否则不可以添加用户;4、 可以查看管理员和普通用户的数量;5、 可以对指纹进行删除,需管理员验证;6、 通过以上要求,制作出一套具有软件和硬件相结合的指纹考勤系统。2.2 设计方案通过上节的设计要求,根据搜集资料并且结合自身所学知识,

15、最后制定的本设计方案如下:本设计以51单片机STC89C52作为主芯片,选取了指纹识别模块FM-180进行二次开发,该模块采用串口通信方式,按照指纹系统自定义的协议来跟单片机通信,单片机按照固定的协议去读取指纹系统的数据,同时对指纹系统发送指令进行控制,从而实现指纹的操作;而显示器选用LCD12864,液晶在系统运行中和各个不同功能模式的时候显示对应的提示内容;设计要求可对指纹进行录入、识别、删除等操作,通过不同的按键来完成,本设计采用了5个独立的按键,软件部分采用轮询检测IO电平来判断按键值;报警提示选用的元件是蜂鸣器和LED灯。2.3 本章小结本章介绍了本课题设计的具体要求,最后根据设计要

16、求制定的合理可行的具体方案。3 硬件设计3.1 主要元器件选型3.1.1 单片机选型图2 STC89C52本设计中需要用到跟指纹模块进行通信,而经过对单片机与模块通信方式的多种比较后,决定采用比较简单的串口通信,而串口通信在大学课本里面也有讲过,自己用起来应该还是相对比较简单的。串口通信的方式,几乎在任何一款单片机都有硬件支持的,只不过有的串口有多个,有一些少而已。按照之前自己接触过的单片机,51单片机作为本次的单片机主控芯片,功能上是基本可以满足实现的,51单片机作为最经典的8位处理器,同时也是很多大学作为电子类专业的必选课程之一,可见其功能和实用性还是被大家认可的。所以本次决定在STC89

17、C52RC单片机和STC12C5A60S2这两个中选出一个作为主控芯片。两者都是51内核,不同点有一下几点:1、12C5A60S2是1T模式的,比普通的51单片机89C52可以快68倍,而定时器,串口为了兼容传统的51单片机,是可以设置为1T模式或者12T模式的;2、12C5A60S2有两个独立的串口,而89C52只有一个串口,一般在调试过程中,有多个串口是最好的,可以调试看信息,找问题所在,而这次的设计显然不需要,只需要用到一个串口通信即可;3、作为重要的对比,12C5A60S2的RAM有1280个字节,ROM有60K的存储空间,可见12C5A的容量是非常大的,而89C52的RAM和ROM就

18、相对小很多,分别是512字节和8K,但实际上,作为本次的功能,已经足够了。经过以上选择对比,最后决定选用STC89C52作为本次的主控芯片。3.1.2 指纹模块作为本次的重要传感器,指纹识别模块无法自己去做,只能通过网上淘宝买现成的模块回来进行二次开发,市场有各种各样的指纹模块,价格也是五花八门,但实际上基本的协议还是比较相似的,只不过有的支持的协议指令多,有一些支持的指令相对来说比较少而已,本次需要用到的功能有录入指纹,识别指纹,清空指纹,显然这三个指令,几乎所有的模块都可以实现,根据最后筛选和价格比对,最后决定选用FM-180作为本次的指纹识别模块。FM-180指纹模块,一体化结构,已经包

19、含了算法芯片,其质量稳定,性能优异,产量稳定,多行业客户的实际选择,给您无忧的产品保障体系。 FM-180指纹模块由光学指纹传感器、高速DSP处理器、高性能指纹比对算法、大容量FLASH芯片等软硬件构成,集成了采集芯片和指纹算法芯片;性能稳定,结构简单,具有指纹录取、图像处理、指纹对比、指纹搜索和模板存储、手指感应输出等功能;采用8条精简指令,开发更简单。产品特点:功能完善:独立完成指纹采集、指纹登记、指纹比对(1:1)和指纹搜索(1:N)功能。体积小巧:产品体积小巧,没有外接算法DSP芯片的电路板,已经集成一体,方便安装,故障少。超低功耗:产品整体功耗极低,适用于低功耗要求的场合。抗静电能力

20、强:具有很强的抗静电能力,抗静电指标达到15KV以上。应用开发简单:开发者可根据提供的控制指令,自行指纹应用产品的开发,无需具备专业的指纹识别知识。安全等级可调:适用于不同的应用场合,安全等级可由用户设定调整。技术参数:供电电压: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图

21、3 FM-1803.1.3 液晶显示作为人机交互界面,显示器起到一个至关重要的元件,本文中需要将整个操作的过程完全显示在显示器上面,比如录取指纹,识别指纹是否正确还是错误 等等。下面就本设计的过程中对显示器的元件选型进行分析和对比。方案1图4 数码管采用数码管的形式来作为显示器,数码管是一种半导体发光器件,一般单独的数码管有7段的数码管和8段的数码管,8段的数码管比7段多了一个小数点的段,他们的显示单元都是发光二极管。数码管还有共阳极和共阴极之分。将每个发光二极管的正极连到一起,将负极单独分开,就是共阳极,反过来,将每个发光二极管的负极连着一起就是共阴极。需要显示一个数字的时候,只需要把对应的

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

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

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

25、据被写到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 电路设计3.2.1 最小系统单片机最小系统一般由晶振电路、复位电路

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

27、接受到后进进入这个程序开始接受用户程序,达到升级用户程序的功能,构成单片机最小系统。单片机正常供电为直接5V,工作时RST复位引脚为低电平,手册上面说明只要单片机的复位脚超过2个机器周期的高电平,单片机就可以正常复位,所以按下复位按键,单片机复位。图7 最小系统电路3.2.3 液晶显示电路本设计中,液晶显示起到一个人机交互的作用,尤其重要,试想如果没有界面提示的话,整个操作过程将很难去实现全部的功能。液晶12864可以显示4行,每一行可以显示8个汉字,共可以显示32个汉字,对应这个系统来说,是足够的,一般出现不够行的情况下,大都是采用切换到第二个节目显示的方法;12864液晶跟单片机的通信方式

28、有两种,一种是并行 ,一种是串行,对于串行来说,电路是比较简单不需要那么多的IO口,只需要两个IO就行,一发一收,但速率就比并行比较慢,而并行由于8个IO一起发送数据,因此要比较快,对于显示刷新频率要求不高的话,可以考虑用串行方式,毕竟电路简单,IO少,而本次的设计过程中采用的是并行方式,跟LCD液晶的通信端设置为P0端,而单片机的P0端默认是没有上拉的,因为也要在电路中给P0口接上一个8个电阻的排阻,阻值一般取1K,而液晶的第三脚作为背光调节亮度,可以接一个电阻器来改变该脚的电压值从而达到可以调节亮度的效果,由于没有现成的电位器,因此该引脚悬空操作,液晶也可以正常显示。图8 液晶12864电

29、路图3.2.4 指纹通信电路本文采用的指纹识别模块是集成的模块,跟单片机通信采用的是串口方式,波特率是57600,8位数据,一位停止位,无校验。由于单片机需要外部晶振,所以在需要用到串口的电路中,该晶振都必须是为11.0592M的倍数,如果采用12M的话,波特率会有误差,会造成串口数据丢失的情况。89C52单片机只有一个串口,所以用串口1跟指纹模块通信,单片机的RXD接指纹模块的TX,而单片机的TXD接指纹模块的RX。通过指纹模块的数据手册,发送对应的指令给指纹模块,即可实现录入指纹、识别指纹、清空指纹等操作。图9 指纹通信电路3.2.5 蜂鸣器电路图10 蜂鸣器驱动电路本次设计中,由于需要在

30、录入指纹和识别指纹中对正确或者错误做出判断,因此在电路设计中加入了蜂鸣器来作为提醒报警响应的作用。采用的是直流电压5V供电的有源蜂鸣器,但是一般的蜂鸣器在整个系统运行中需要比较大的电流,51单片机的IO口除了P0口外其他的都有一个弱上拉电阻,但IO的驱动电流也是非常低,不加外部的驱动电路是很难直接驱动的。而最常用的就是用普通的三极管来放大电流驱动,该三极管在电路中的作用是开关电路并且放大电流,P37高电平为蜂鸣器响,低电平蜂鸣器停止。报警提醒电路如图10所示。3.2.6 按键电路图11 按键电路设计中有录入指纹功能、识别指纹功能、清除指纹库功能,这些功能的切换都是通过按键来实现的,按键一般有独

31、立按键,矩阵键盘等,由于本次涉及到的按键不需要很多个,因此采用独立按键的形式,简单方便易操作,而按键电路用的是直接练到单片机的IO上面,通过对该IO口电平读取不同的值来区别按下还是弹开,按键用的是4脚按键,对角的两个引脚为一对,是导通的,随便一个引脚接地,对角IO接入单片机,按下按键时,4个引脚都接通,即与单片机连着的引脚也被拉低,单片机IO也响应被拉低,软件就认为此时按键被按下,执行按下操作,由于按下过程中有电压毛刺,所以软件一般采用10MS的延时来代替消抖动作。3.2.7 LED电路LED作为电子电路中最常用的指示作用,本次中也用到了两个LED灯来作为系统的提示灯作用,一个为红色,一个为绿

32、色,LED作为二极管的一个最典型元件,其两端也是有一个压降,一般1.3V左右,根据电子知识,只要在两端上有超过这个的压降,二极管就导通,为了保险起见,可以在单片机的IO口接上一个限流电阻,不至于上电时容易烧坏。当单片机的P35和P36高电平的时候,LED灯就亮,反过来,当为低电平的时候,LED灯就灭。图12 LED电路3.3 本章小结本章介绍了本设计的元器件选型以及各个电路部分的设计和分析。4 软件设计4.1 系统方框图通过第二章的介绍,我们根据设计的要求采用STC89C52作为主控芯片,FM-180则作为本次最重要的指纹传感器,液晶12864作为人机交互界面,同时用独立按键来进行各个功能切换

33、,蜂鸣器和LED灯作为报警提示,最后根据设计要求做出的方框图图下图所示:图13 系统结构框图系统上电之后,经过一系列的初始化,比如串口初始化,定时器初始化,初始化完成后进入主程序。由于单片机是单线程运行的,所以在主程序中采用一个while循环来执行整个的主程序。4.2 功能介绍1、 本系统设计了一个管理员的操作,即出厂时必须录入一个指纹,该指纹录入成功后就是该系统的管理员,方可进入主界面。主界面的功能有识别指纹功能、添加管理员功能、添加普通用户功能、清空指纹库功能,而每个功能的选择是通过按键来切换的。图14 主界面2、 进入主界面之后可以对系统进行一系列的操作,管理员可以有2个,当录入达到2个

34、时会有提示。而要对系统的指纹进行录入普通用户和清空指纹库指纹都需要管理员验证。当验证失败的时候液晶提示相对应的内容,只有验证成功了才可执行下一步操作。图15 管理员验证3、 当管理员验证成功后就可以录入普通用户了,该系统可以录入多达400多位的普通用户,录入过程中只需要按住手指不放,当录入完成后液晶提示录入成功字符同时显示出对应的指纹ID号。同样的录入失败也会有同样的提示。图16 添加用户4、 清空指纹库的操作一样要经过管理员验证,验证成功后,系统将把所有的指纹删除,即清空指纹库。这时候没有任何指纹,同样的提示要录入管理员,也就是恢复出厂设置。图17 清空指纹库5、 除了基本的录入指纹,识别指

35、纹,清空指纹之外,板子还有一个查询按键,当按下该按键时,液晶显示出系统中已经存在的管理员和普通用户的数量,起到一个很好的查看作用。图18 查询界面4.3 开发环境介绍4.3.1 Keil编译器本次的软件编程部分采用的是KEIL编译器。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil 的网站虽然没有中文版本,但是Keil 软件却被中国80%的硬件工程师使

36、用,但凡与电子相关的专业,都会开始从单片机和计算机编程开始学习,而学习单片机自然会用到Keil 软件。C51工具包的整体结构,Vision与Ishell分别是C51 for Windows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.obj)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.abs)。abs文件由OH51 转换成标准的hex 文件,以供调试器dScope51 或tScope51

37、 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。图19 Keil软件界面4.3.2 STC-ISP下载器STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。图20 STC-ISP4.3.4 Protel软件图21 protel软件本设计电路图的设计是通过Protel画的,这个软件在大学的实验课程中也是有学到的,所以用这个软件来设计电路图。由于电路图的连线比较复杂,如果用线直接连的话看起来会比较乱,而且容易出问题,

38、所以本设计采用网络的方式来连接元器件。通过画好原理图之后,就转换成PCB即可。4.4 部分代码说明该代码说明:液晶12864可以显示4行文字,每一行最多可以显示8个汉字,一共可以显示32个汉字,一般在程序中只需要告诉液晶的X、Y轴即可。液晶的行数据的地址分别是0X80,0X90,0X88,0X98,分别表示的是第一行,第二行,第三行和第四行。例如想要在液晶的第二行的第三个位置显示文字,Lcd12864_PutString(1,2,添加成功);这样即可显示出来。void v_Lcd12864SetAddress_f( unsigned char x, y ) /地址转换 unsigned cha

39、r byAddress ; switch( x ) case 0 : byAddress = 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

40、) v_Lcd12864SetAddress_f( x, y ) ; while( *pData != 0 ) v_Lcd12864SendData_f( *pData+ ) ;delay(30); 该代码说明:按键方式采用的是独立按键的方式,一共用到5个独立按键,没有按下按键的时候,单片机对应的IO口是高电平,当有按键按下时对应的IO口就被连到GND,对应的IO也就是低电平。单片机检测到后,根据相对应的IO口执行不同的按键功能。对于消抖操作,在简单的设计中可以使用一个时间延时来处理。这个时间不能太长,如果太长的话会导致按键不灵敏等问题。uint FUN_KeyDec()bit press =

41、 0;if(!IOKEY_dec) /如果检测到低电平,说明按键按下 keyDelay_1ms(1); /延时去抖,一般10-20ms if(!IOKEY_dec) /再次确认按键是否按下,没有按下则退出 while(!IOKEY_dec);/如果确认按下按键等待按键释放,没有释放/则一直等待press = 1; if(press)ClrScreen12864();sys_status=8;return 0; 该代码说明:当进行指纹识别的时候,单片机通过串口发送对应的指令给指纹模块,指纹模块从而进行搜索指纹功能。当用户按下手指的时候,模块会自动获取该指纹的特征值,并对这个特征值进行判断是否已经

42、存在系统中,如果是存在则返回该指纹的序号,如果不匹配则返回0。单片机将返回到的数据做判断,0则认为识别识别,大于0则认为识别成功。unsigned char search(void)/搜索用户 unsigned char SearchBuf=0;uchar i=0;while(1) if (ImgProcess(1)=3)/首先读入一次指纹 SearchBuf=Searchfinger();/进行指纹比对,如果搜索到,返/回搜索到的指纹序号 if(SearchBuf=1) return SearchNumber; else i+;if(i5)return 0; return 0;该代码说明:采

43、集指纹的过程中,需要采集两次的指纹,将2次采集到的特征值生成一个指纹模板,并对该模板进行保存。当保存模板成功后,单片机将该指纹的模板的序号写入到单片机的EEPROM中,以便实现掉电保存指纹。unsigned char enroll(void) /采集两次指纹,生成1个 指纹模板 unsigned char temp=0,count=0,kk=0; while(1) temp=ImgProcess(1); /生成特征1 if (temp=3)/生成特征文件成功 break; else /采集第一个特征成功 count=0; Beep=0;Fdelay1ms(100);Beep=1;Fdelay1

44、ms(2000);/延时2S开始采集下一个特征/开始采集第二个特征 while(1) temp=ImgProcess(2); /生成特征2 if (temp=3)/生成特征文件2成功 if ( (Command(MERG,40)& (FifoNumber=11) & (FIFO9=0x00)=0 ) /合并不成功返回0,成功返回1kk+;if(enroll()return 1;if(kk 4)return(0);else/特征文件合并生成模板,结果存于ModelBuffer Beep=0; Fdelay1ms(100); Beep=1; Fdelay1ms(100); Beep=0; Fdelay1ms(10

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

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

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁