电子设计大赛指纹识别电子密码锁.doc_第1页
电子设计大赛指纹识别电子密码锁.doc_第2页
电子设计大赛指纹识别电子密码锁.doc_第3页
电子设计大赛指纹识别电子密码锁.doc_第4页
电子设计大赛指纹识别电子密码锁.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。本设计采用以ARM Cortex-M3TM为内核的微处理器作为主控制芯片,结合指纹模块及蜂鸣器电路设计,给出了实用型电子密码锁的实现方法。该系统使用指纹模块搜索手指,采集指纹图像,并将采集到的图像转化成数据的形式发送出去。若指纹匹配,则进行6位密码录入,当密码输入正确,电子密码锁正常开启。初始密码由用户设定,用户可自行修改密码。本系统还具备自动报警功能。本系统把指纹识别技术和密码锁技术有效地结合在一起,利用ARM片上资源丰富处理速率快,指纹识别效果直观、使用方便等特点来实现整个系统的功能。本系统采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低,反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。关键词:ARM;密码锁;指纹识别。目 录第1章 概 述31.1引言31.2指纹识别简介31.2.1指纹识别原理31.2.2指纹识别应用41.2.3指纹识别技术的发展51.3电子密码锁的背景5第2章 系统设计62.1系统设计的目的62.2系统总体设计62.2.1系统功能描述62.2.2系统总体框架72.3系统核心部件的选择92.3.1 主板的选择92.3.2 评估板特征92.3.3指纹模块的选择102.4电源模块14第3章 系统软件的设计143.1软件设计思路143.2 各子程序设计153.2.1 键盘扫描子程序153.2.2 LED显示子程序163.2.3密码比较和报警程序183.3 系统程序工作分析193.4 设计前准备工作193.5主板的程序设计203.6 键盘管理程序设计流程223.7 LCD显示模块程序设计流程223.8 指纹通信模块的程序设计流程223.9主板与指纹模块的通讯协议23第4章 硬件电路设计244.1键盘电路设计244.2 LED显示电路254.3 开锁电路274.4报警电路27第5章 设计总结与展望28致谢29参考文献30附录:硬件电路图31第1章 概 述1.1引言 我们今天的工作生活中,很在传统的身份认证中,我们往往使用密码加密法,但是这种方法只是防君子不防小人。在高明的黑客眼里,由几个字符组成的密码脆弱得不堪一击。现在,科技的发展让我们有了新的选择生物识别技术。将生物识别技术应用于笔记本、门锁等方面,可以对文件、财产起保护作用,并且可以进行身份识别。传统的电子密码锁锁结构简单,安全系数较低,使用也不够灵活,而本电子密码锁具有指纹识别功能,其性能和安全性大大超过传统的电子密码锁。传统的电子密码锁是由单片机进行控制,从而有效地克服了机械式密码锁的安全性能差的缺点。但是单片机刷新显示屏的速率比较慢,资源消耗也比较大,ARM处理速率更快,资源更丰富,为了系统运行更加流畅,效果更直观,故采用以ARM Cortex-M3TM为内核的微处理器作为主控制芯片。生物识别技术是依据人的体貌、声音等生物特征进行身份验证的科学解决方案,现有的生物识别技术大致上包括指纹识别技术、掌纹识别技术、视网膜识别技术、虹膜识别技术、面相识别技术、声音识别技术和笔迹识别技术等。生物识别技术的优势主要有:1、减少、消除身份假冒,进行真实身份的确认;2、降低管理成本,取代了身份人工认证过程;3、方便使用者,减少或消除了使用卡、钥匙或者密码等麻烦。生物识别技术的发展主要起始于指纹研究,它亦是目前应用最为广泛的生物识别技术。指纹识别技术的发展得益于现代电子集成制造技术和快速可靠的算法的研究。尽管指纹只是人体皮肤的小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的相等与不相等的问题,而是使用需要进行大量运算的模糊匹配算法。现代电子集成制造技术使得我们可以制造相当小的指纹图像读取设备,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行两个指纹的比对运算的可能。另外,匹配算法可靠性也不断提高,指纹识别技术己非常实用。1.2指纹识别简介1.2.1指纹识别原理指纹识别技术的原理和其它生物识别技术的原理相似。它是利用人体的指纹特征对个体身份进行区分和鉴定。在所有的生物识别技术中指纹识别技术是目前最为成熟,也被应用最广的生物识别技术。这主要因为指纹采用的过程对人们来讲非常简单,指纹识别的准确率高的原因。严格来讲,指纹识别的原理包括指纹采集原理、指纹特征提取原理和指纹特征匹配原理三大部分。指纹采集原理主要是根据指纹的几何特性或生理特性,通过各种传感技术把指纹表现出来,形成数字化表示的指纹图案。由于指纹的嵴和峪的几何特征不同,主要表现为嵴是突起的,峪是凹下的,所以在接触到光线时,其反射光的强度也就不同。在接触到平面时,其在平面上形成的压力也就不同。另一方面,由于指纹的嵴和峪的生理特征不同,主要表现为:嵴和峪的温度不同,其导电性也不同,其对波长的反馈也就不同。通过这些几何的、生理的特性的不同,把人的指纹采集到计算机系统中形成指纹图像。 指纹特征分析的原理是对指纹图案的整体特征和细节特征进行提取、鉴别的原理。其分析的对象包括纹形特征和特征点的分布、类型,以及一组或多组特征点之间的平面几何关系。特征点的平面几何关系表现为某个特征点之间的距离等,或者某三个或更多特征点之间组成的多边形的几何特性。不论是特征点的单体特征,还是特征点的组合特征都是指纹特征的组成部分。把这些指纹特征用数字模板的形式表示出来,就实现了一个指纹特征分析的过程。把人的指纹采集到计算机系统中形成指纹图像。 指纹特征值匹配原理是对指纹图案的整体特征和细节特征按模式识别的原理进行比对匹配。匹配是在已注册的指纹和当前待验证的指纹之间进行的。匹配运算不是对两个指纹图像进行比较,而是对已形成数字模板的指纹特征值进行匹配。1.2.2指纹识别应用指纹识别技术是最早的通过计算机实现的身份识别手段,它是应用最为广泛的生物特征识别技术。过去,它主要应用于刑侦系统。近几年来,它逐渐走向市场更为广泛的民用市场。指纹技术在现代生活和工作中的应用已越来越普遍,指纹考勤机、指纹社保、指纹银行、指纹商场、指纹投票、指纹保护电脑、等等生活中和工作中的新现象已广为人知,其应用相当广泛,指纹技术正在日益刷新着我们的现代化生活方式。指纹识别技术是目前国际公认的应用广泛、价格低廉、易用性高的生物认证技术。指纹只是人体皮肤的小部分,但是它却蕴涵了大量的信息。这些皮肤的纹路在图案、断点和交叉点上是各不相同的,在信息处理中将它们称作特征。医学上已经证明这些特征对于每个手指都是不同的,而且这些特征具有唯一性和永久性。因此我们就可以把一个人同他的指纹对应起来,通过比较他的指纹特征和预先保存的指纹特征,就可以验证他的真实身份。1.2.3指纹识别技术的发展在经历了近10年缓慢的自然增长后,指纹识别技术即将迎来一个跳跃性发展的黄金时期。专家们保守估计,未来5年,我国将有近百亿元的市场等待着企业去开拓。指纹识别技术的巨大市场前景,将对国际、国内安防产业产生巨大的影响。较小的公司将面临新进入的传统行业大公司的无情竞争。在这些巨无霸面前,现有中小公司很难说有太大的竞争力,行业重新洗牌不可避免,合并与退出可能会成为大部分中小公司的无奈选择。最终可能形成传统行业的公司或大资本在较短时间内主导生物特征识别行业的局面。这也是每一个新兴市场的必然结果。而竞争的结果将会形成一个新兴的大产业。国内生物识别技术的应用主要集中在企业级应用上,在2002年总体约为2.5亿元人民币的终端市场中,超过 40%的产品都用于考勤、门禁系统之中。自2002年以来整个生物识别市场中指纹识别占据了超过 98%的份额,从需求看,中国 13 亿人口决定了中国将是未来全球最大的指纹识别认证技术市场。1.3电子密码锁的背景随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。指纹检测可以良好的判断和定义一个人的真实生物身份,从而降低社会活动中的信任成本。从根本上改变经济和社会交往模式,提高效率。未来社会利用生物识别技术的场合将会越来越多,指纹识别技术日趋完善,指纹检测变得越发重要。本次设计指纹识别电子密码锁是基于深圳指昂科技有限公司生产的ZAZ-020指纹模块可以根据串口通信协议与上位机实现通信,从而实现指纹的录入、存储、比对,并通过HS12864-15C液晶显示出指纹采集存储的过程和比对的结果。指纹电子密码锁安全可靠,使用方便。第2章 系统设计2.1系统设计的目的现代社会越来越需要高效可靠的身份识别系统。传统的个人身份鉴别手段如口令、密码、身份-甚至磁卡、IC 卡等识别卡方式。由于其与身份人的可分离性,可假冒、可伪造、可盗用、可破译,已不能完全满足现代社会经济活动和社会安全防范的需要。从消除人为不安全因素看,只有不易被他人代替、仿制、甚至其本人也无法转让的身份误码别凭证才能胜任。因此,基于人体生理特征的身份识别系统逐渐为社会所瞩目。随着识别技术的不断成熟,随着计算机技术的飞速发展,各种基于人体生理特征的身份识别系统如:指纹、手掌、声音、视网膜、瞳孔、面纹等识别技术纷纷从实验室中走出来,由小型机落户微机,走向民用。而从易用性、安全性、成熟性和造价等方面综合比较,指纹识别技术将成为未来人体生理特征身份识别技术的主流之一,指纹自动识别技术开创了个人身份鉴别的新时代,将来我们生活的很多场 合都要用到指纹,指纹使我们的生活更方便、安全。2.2系统总体设计2.2.1系统功能描述 此系统硬件设计由2大部分组成:指纹识别系统和密码锁主控系统。 指纹识别系统是针对指纹采集、识别模块开发出的指纹识别电子密码锁系统。该系统使用指纹模块搜索手指,一旦搜索到手指,立即采集指纹图像,并将采集到的图像转化成数据的形式发送出去。它利用人体指纹各异性和不变性,为用户提供加密手段,使用时只需将手指平放在指纹采集仪的采集窗口上,即可完成采集任务,操作十分方便快捷。主要功能就是用液晶显示出指纹模块采集指纹图像各个流程及比对的结果.采集指纹图像之前,指纹模块必须要检测手指是否放在采集窗口上,所以就要有录入指纹这一项功能。简单的描述本次设计的功能即使用指纹模块检测、录入指纹,将比对的数据显示在液晶屏幕上.本系统拥有一次最多录入三个指纹的能力。该系统的主要功能有以下几个方面: 1录入指纹:系统预先要有录入指纹的功能,即将个人的指纹通过指纹采集器采集用户指纹的特征信息。 2合成指纹模板并存储:通过光电转换后,将指纹特征值和对应的 ID 号存储到存储器中。上位机只要有上传指纹的命令,模块可以立即将数据传送到指定位置。 3搜索指纹库比对指纹:当有指纹录入时,模块会响应上位机指令搜索指纹库比对指纹,同时液晶显示比对结果,继电器动作、发光二极管亮。密码锁主控系统是由MB9B506主板和128 x 64点阵LCD显示屏组成。 该系统的主要功能有以下几个方面: 1.系统设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。 2. 密码由用户自己设定,用户可自行修改密码。 3. 具有自动报警功能。自动报警分现场报警和远程报警两种。现场报警由扬声器发出报警声。两种情况下可报警:一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入6位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。2.2.2系统总体框架系统的总体框架是指根据设计任务要求,对系统所需元件、设备参数进行必要的计算,通过认真研究、分析、比较选定设备型号,再将设备、元件通过可靠的接口电路联系起来构成一个完整的系统。在系统的整体方案确定之前,先要明确设计要求,然后对系统硬件、软件进行设计,其中包括绘制原理框图、电路图,对原理进行必要说明,综合考虑系统的性能和稳定性要求,以保证所设计的系统达到预期的要求。通过查阅大量的文献资料、综合分析考虑 。主控芯片选用MB9BF506R ,MB9BF506R 是低功耗、高性能、低成本的ARM处理器。系统总体框图如图2.1所示: MB9BF506R 主板128 x 64点阵LCD显示屏指纹模块密码按键以及指示灯图2.1 系统总体框图 系统主要由指纹模块、MB9BF506R主板、LCD显示屏、读写模块、电源管理组成。,其中核心部分是指纹识别模块和微控制器。指纹识别门锁系统的结构框图如图2.2所示,虚线内是指纹识别功能模块。图2.2 指纹识别门锁系统的结构框图系统的工作方式主要是,当检测到有按键按下时先由主板通过串口通信控制指纹模块对指纹进行采集、录入、存储、比对。然后,根据所得的数据对其它接口器件,如显示屏、继电器进行响应操作,若通过指纹识别设备确认为可靠用户后,将结果传送给密码锁主体设备来完成密码请求,此时显示屏提示请输入密码,等用户将其密码输入完成后,密码锁主体设备将实现密码确认及开锁等便携式电子密码锁的基本功能, 除此以外,密码锁主体设备还可实现修改密码、保存密码,以及掉电后密码不丢失等功能。2.3系统核心部件的选择2.3.1 主板的选择 主板选用ARM架构,ARM架构是一个32位元精简指令集中央处理器架构,基于ARM架构的主要产品为低功耗且质优价廉的RISC处理器,被广泛应用于教育多媒体、DSP、嵌入式控制以及移动式应用等领域。ARM32为体系结构是当前处于业内领先水平的32位嵌入式RISC微处理器结构,被全部ARM处理器共享。由于具有较强的节能特性,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。FSS MB9BF506R评估板是富士通半导体(上海)有限公司新推出的一套支持富士通半导体公司MB9B506系列处理器(Cortex-M3 内核)的全功能评估板。该评估板包含一块128 64的点阵LCD,3 个用户LED ,4 个按键,2 个CAN通道,2 个UART 通道,RTC,Nand Flash等外围资源,同时支持IO口扩展,板上标准20针的JTAG 接口支持IAR 和Keil 的调试工具。电子密码锁管理系统的核心结构是微控制器MB9B506,它是一款单片封装的MCU,适合于许多要求高集成度、低成本的场合,可以满足多方面的性能要求。MB9B506集成了许多系统级的功能,这样可大大减少元件的数目、电路板面积以及系统的成本。MCU通过串口与指纹识别模块进行通讯,完成对指纹的录入、删除、身份确认,通过验证后电机控制门锁会执行开关门的动作。MB9B506具有强大的I/O接口,可以满足外设部分的指纹识别模块、键盘、LCD液晶显示、指示灯、按键、蜂鸣器等的需求。键盘是用来输入密码的,LCD显示用户注册的信息和ID号,双色指示灯和蜂鸣器用来提醒用户操作是否成功或是发出报警提示。2.3.2 评估板特征 FSS MB9BF506R 评估板包含如下特性: 微控制器MB9BF506R 2x UART通道(母头DB9接口) 2x 高速CAN通道 (2针接插件) 1x USB主机接口 (Type-A USB 接口) 1x USB设备接口 (Type-B USB 接口) 32M x 8bit Nand Flash (K9F5608U0D) 高精度I2C 接口的实时时钟模块 (RX-8025T) 标准20针的JTAG 接口 128 x 64点阵LCD 3x用户LED 4x用户按键 1x复位按键 1x电位计( 可以调节AD输入电压) 120针的测试焊盘(MCU 所有引脚) 5V和3V供电的电压选择 支持USB,JTAG 和外部15V 电源供电 2.3.3指纹模块的选择指纹模块采用深圳市指昂科技有限公司生产的ZAZ-020系列独立式指纹识别模块,以高速DSP处理器为核心。主要技术指标如下供电电压:DC 3.6-6.0V供电电流:工作电流:100mA(典型值)峰值电流:150mA指纹图像录入时间:0.5 秒窗口面积: 14 *18 mm匹配方式:比对方式(1:1)搜索方式(1:N)特征文件: 256 字节模板文件: 512 字节存储容量: 100枚安全等级: 五级(从低到高:1、2、3、4、5)认假率(FAR):0.001% 拒真率(FRR):0.1% 搜索时间: 1.0 秒 (1:1000 时,均值)上位机接口: UART(TTL 逻辑电平)通讯波特率(UART): (9600*N)bps 其中N=112 (默认值N=6,即57600bps)2.3.3.1 ZAZ-010系列独立式指纹识别模块引脚功能表2-1指纹识别模块引脚功能引脚号名称类型功能描述1Vinin电源正输入端2TDout串行数据输出。TTL 逻辑电平3RDin串行数据输入。TTL 逻辑电平4NC未定义,悬空。5GND信号地。内部与电源地连接2.3.3.2 ZAZ-010系列指纹识别模块指令系统模块通过串行通讯接口,模块数据发送端接上位机接收端,模块数据接收脚接上位机数据发送端。录入指纹图像指令:指令包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H01H05H应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示录入成功;确认码=01H 表示收包有错;确认码=02H 表示传感器上无手指;确认码=03H 表示录入不成功;图像生成特征 Img2Tz指令:指令包格式:2bytes4bytes1 byte2 bytes1 byte1 byte2 bytes包头模块地址包标识包长度指令码缓冲区号校验和0xEF01Xxxx01H04H02HBufferIDSUM应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示生成特征成功;确认码=01H 表示收包有错;确认码=06H 表示指纹图像太乱而生不成特征;确认码=07H 表示指纹图像正常,但特征点太少而生不成特征;确认码=15H 表示图像缓冲区内没有有效原始图而生不成图像;特征合成模板RegMode1指令:功能说明:将CharBuffer1与CharBuffer2中的特征文件合成特征模板。指令包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H05H09H应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示合并成功;确认码=01H 表示收包有错;确认码=0aH 表示合并失败(两枚指纹不属于同一手指);存储模板 Store指令:指令包格式:2bytes4bytes1byte2 bytes1 byte1 byte2 bytes2bytes包头模块地址包标识包长度指令码缓冲区号位置号校验和0xEF01Xxxx01H06H06HBufferIDPageIDSUM应答包格式:2bytes4bytes1 byte2 bytes1 byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H 表示储存成功;确认码=01H 表示收包有错;搜索指纹Search指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes2bytes包头模块地址包标识包长度指令码缓冲区号参数参数校验和0xEF01Xxxx01H08H04HIDStarPagePageNumSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes2bytes2bytes包头模块地址包标识包长度确认码页码得分校验和0xEF01Xxxx07H07HxxHSUM注:确认码=00H 表示搜索到;确认码=09H 表示没有搜索;2.4电源模块电源模块可以直接提供正5V的直流电压,但是由于在一些工业环境中并不提供直流电源,而都是交流电源,为确保其实用性,在电源这一部分,提供了整流稳压电路,可以把交流电压变成5V的电压,为整个电路板提供电源。从图2.3可以看出,当开关按下时,电路接通,先通过一个整流电路,使交流电压变成直流电压。为了保证其输出的电压是5V,在后面接一个稳压电路,由一个7805稳压器和一个发光二极管组成,发光二极管作为电源导通的指示灯。当电源导通时二极管发光。其中电容C1起滤波作用,电容C2是抑制高平信号。电容C3, C4直接接地,起到抗干扰的作用,能使电压稳定在5V。有了电源模块避免了因没有直流电源而无法使用的问题,使这个仪表能够在更多的环境中使用。电源模块电路图如图2.3所示:图2.3电源模块电路图第3章 系统软件的设计3.1软件设计思路电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。密码的设定,在此程序中密码是固定40H45H中,假设预设的密码为123456共6位密码。由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。3.2 各子程序设计3.2.1 键盘扫描子程序键盘扫描流程图如图3.1 图3.1 键盘扫描流程图键盘扫描子程序如下:L2: MOV R3,#0F7H MOV R1,#00HL3: MOV A,R3 MOV P1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04HL4: RLC A JNC KEYIN INC R1 DJNZ R5,L4 CALL DISP MOV A,R3 SETB C RRC A MOV R3,A JC L3 JMP L23.2.2 LED显示子程序 LED显示流程图如图3.2图3.2 LED显示流程图LED显示子程序如下:DISP:MOV R0,#45HDISP1: MOV A,R0 ADD A,#50H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#40H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#30H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#20H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#10H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#00H MOV P0,A CALL DELAY RET3.2.3密码比较和报警程序密码比较和报警流程图如3.3图3.3密码比较和报警流程密码比较和报警程序:COMP: MOV R1,#45H MOV R0,#35H MOV R2,#06HC1: MOV A,R1 XRL A,R0 JNZ C3 DEC R1 DEC R0 DJNZ R2,C1 CLR P2.0 MOV R2,#200C2: MOV R6,#248 DJNZ R6,$ DJNZ R2,C2C3: INC R5 MOV A,R5 MOV R5,A CJNE R5 ,#03H,C4 CLR P2.1 MOV R5,#00H C4: JMP START3.3 系统程序工作分析在本文的电路板中,MB9B506是作为控制器嵌入到系统中。应用程序的开发主要分为两大部分,即对ZAZ-020指纹识别模块的的应用程序开发以及对触摸屏、按键程序的开发。因此,要实现其应用,需要对其进行联合调试。电路软件应用开发根据所设计的硬件。程序开发的方式将主要建立一系列的C语言函数子程序供主程序的随时调用。即对ZAZ-020指纹识别模块或触摸屏电路分别编制C语言函数子程序。3.4 设计前准备工作由于使用串口和模块通讯,所以必须先约定好单片机和模块的的串口工作速度和数据包格式。UART数据格式定位为:8位数据位、1位停止位、无奇偶校验位,数据传输速率为57600bps。通讯数据包格式定义为:单片机发送串行数据包格式如图3-1 MCU发送数据包格式D7D6D5D4D3D2D1D0发送数据共11-14个字节,前6个字节是模块的包头和模块地址为固定值,后5-8个字节是传输的模块的命令。同时根据外部晶振和系统默认的传输速率算出控制串口的各寄存器的初始值。参考meg16资料后编写了以下一段串口初始化。各寄存器设置的程序.如下面的一段程序既是对个寄存器的初始值的设置void UART_Init(void)UCSRB=0x00;/disable while setting baud rateUCSRA=0x00;/Bit1为1则倍速发送UCSRC=0x06;UBRRL=0x07;/波特率:57600BpsUBRRH=0x00;/误差率:0.000%UCSRB=0x18; 注:选用外部7.3728M晶振.3.5主板的程序设计根据上节分析,制定如下图的程序流程图。主程序主要由液晶显示、通讯子、按键程序组成。主程序的工作流程描述如下:首先初始化各种硬件功能模块进行初始包括开机液晶显示、键盘扫描、指纹模块建立通信。主程序设计流程如图3.4所示:开开始 开始始初始化次数加1输入密码密码正确?返返回回NYY开锁程序 开锁?N修改密码?次数3?报警程序修改程序YNNY 开始 返回图3.4 主程序设计流程图程序的巡检过程: 首先对各模块进行初始化,检测在有无按键按下,如果按下判断是那一个按键,并作出判断是否调用相应子程序;当按键1按下后,调用通信模块子程序,录入指纹并将其存入模块缓冲区,同理当按键2按下后,效果相同。依次当按键3按下时,将指纹模块两缓冲区中的指纹特征文件合成特征模板并存储与指纹模板库中,当4按键按下后搜索指纹并比对.当指纹模块中有指纹存储时直接按4键同样也可进行比对。程序关键的就是对指纹模块的通信控制, 考虑到处理过程太过冗长,限于篇幅只能将其省略,如需查看,可以看附录1。其它命令发送子函数因大部分的命令大体格式基本相同。3.6 键盘管理程序设计流程键盘模块的工作流程图如图3.5所示:图 3.5 键盘模块流程图3.7 LCD显示模块程序设计流程显示模块主要完成数据的显示功能。首先当模块接受指令前,主板必须确认模块内部处于非忙碌状态,然后根据接受到指令显示相关的内容在屏幕上。3.8 指纹通信模块的程序设计流程串口通信数据发送、接收流程图如图:开始串口初始化检测发送缓冲区是否为空等 待继续发送YN图3.6串口通信数据发送、接收流程图3.9主板与指纹模块的通讯协议 系统中的工作核心是指纹模块,它几乎包含了对指纹处理的所有操作。指纹识别模块通过RS232串口与使用者接口,使用者通过此接口来命令模块完成诸如指纹采集、指纹比对等一系列操作。主板与指纹模块的通讯为半双工异步通讯,RS232接口缺省的波特率为9600bps。 主板与指纹模块的通讯,对命令、数据、结果的接收和发送都采用帧的形式进行,通讯格式内容包括包标识、地址码保留字、包长度、包内容和校验和。由于通过串口通讯,在数据接收的开始有时会丢失一两个字节,所以在接收数据包时可能因为接收字节不完全而使程序陷入死循环。这里采用在规定时间内如果没有接收到数据则强行退出接收程序,而后重新接收数的方法,由于指纹模块与单片机的工作频率非常快,根本不会影响该系统的工作。同样,主板和模块通过一串消息帧来传递命令,在程序编写时利用数组来存储ReceiveMax从模块接收到的数据。主板通过串口向模块发送命令而后又等待接收命令时,经常丢失或有误一两个字节,这样导致数组ReceiveMax中数据会丢失一两个字节。参考指纹模块的通讯协议可知,消息帧中的大部分数据都相同,只有一两个不同的关键字且在数据帧的中间部分。所以,根据模块动作的几种可能情况在接收数据的数组ReceiveMax中搜索对应的一两个关键字,这样就可以正确判断模块的动作。 第4章 硬件电路设计4.1键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图4.1。图4.1 矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图4.1所示的44键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。具体的功能设计如表4.1:表4.1 按键功能按 键键 名功 能 说 明19键数 字 键输 入 密 码* 键重 设 密 码 键设 定 新 密 码D键确 定 键比 较 密 码# 键清 除 键使 显 示 器 清 零4.2 LED显示电路本系统设计的显示电路是为了给使用者以提示而设置的。本系统的显示采用串行显示的方式,只使用主板的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成主板的显示功能,显示电路的电路原理图如图4.2所示。用P0.0P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;而P0.4P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。通过软件实现数字和位控制。图4.2 LED显示电路用74LS247可以控制输出什么字型。74LS247的逻辑功能表如表4.2:表4.2 74LS247的逻辑功能表用74LS138控制位循环显示,其逻辑功能表如表4.3:表4.3 74LS138逻辑功能表CBAY1Y2Y0Y3Y4Y5Y6Y70000111111 001101111110 1011011111011111011111 00111101111011

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论