基于单片机的指纹密码锁系统论文_第1页
基于单片机的指纹密码锁系统论文_第2页
基于单片机的指纹密码锁系统论文_第3页
基于单片机的指纹密码锁系统论文_第4页
基于单片机的指纹密码锁系统论文_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、大学本科生毕业设计(论文)学校代码:XXXX学 号: XXXXXXXX学院本科毕业设计单片机实现指纹识别密码锁Single chip microcomputer fingerprint identification cipher lock 所在院(系): 电子工程学院 学生姓名: X X 指导教师: X X X 研究起止日期:2016年11 月至2017年5月 摘 要【内容】: 随着生物识别技术的深入研究与应用,指纹技术不断成熟,指纹锁开始进入人们的视野。国外最早研发这类指纹产品,国内现在也有从事指纹研究的知名企业,包括长春鸿达,深圳中控,深圳爱笛尔,长沙金手指,杭州锦江集团,己经研发并生产了

2、脱机模式的指纹识别平台。这些平台识别程度高、反应快、性能稳定,己经在不少高档的场所门禁系统、考勤系统上使用。但由于平台的规模、算法技术的独创性保密性、价格成本因素的限制,这类指纹识别产品多数只为商业用途,价格一般比较昂贵,使其民用领域暂时未能普及。随着电子商务的发展,家庭数字化的需求和消费类电子产品的普及,越来越多的家居民领域需要指纹门禁系统1,2。因此,开发高性能、低成本、安全可靠的民用指纹锁具有很强的现实意义和广阔的市场空间。【关键词】:生物识别;指纹锁;指纹识别;智能锁 AbstractWith the in-depth research and application of biome

3、tric technology, fingerprint technology matures, fingerprint lock began to enter peoples vision. The earliest foreign research this kind of fingerprint products, domestic now have engaged in fingerprints of well-known enterprises, including Changchun Hongda, Shenzhen control, Shenzhen ideal, Changsh

4、a Goldfinger, Hangzhou Jinjiang group, has developed and produced the fingerprint recognition platform offline mode. These platforms have a high degree of recognition, fast response, stable performance, has been used in many high-end access control system, attendance system. But due to technical sca

5、le, the original algorithm platform security, price and cost factors, this kind of fingerprint identification products are only for commercial use, the price is generally more expensive, the civilian areas temporarily unable to spread. With the development of electronic commerce, the demand for digi

6、tal home and the popularity of consumer electronics products, more and more people in the field of household needs fingerprint access control system 1,2. Therefore, it is of great practical significance and broad market space to develop high performance, low cost, safe and reliable fingerprint lock.

7、 Biometrics; fingerprint lock; fingerprint identification; intelligent lock目 录 第1章 概述11.1 指纹识别技术的发展11.2 指纹识别原理11.3 系统设计目的及意义31.4 工作流程3第2章 硬件介绍和设计52.1 单片机及最小系统52.1.1 STC89C52单片机介绍52.1.2 外部晶振的设计72.1.3 复位电路的设计82.2 液晶显示模块92.2.1 12864系列液晶的引脚功能92.2.2 控制器接口说明102.2.3 指令说明102.2.4 12864引脚与单片机连接图152.3 按键控制部分电路

8、162.4 指纹模块182.4.1 指纹模块简介182.4.2 指纹模块引脚接法192.4.3 指纹模块命令202.5 本章小结22第3章 系统软件的设计233.1 系统程序工作分析233.2 串口初始化233.3 主程序流程图243.3.1键盘管理程序设计流程263.3.2 LCD显示模块程序设计流程263.3.3 指纹模块的通信程序设计流程273.4 Keil编程283.5 本章小结29第4章 硬件调试304.1 电路的焊接304.2 程序的烧写314.3 小灯、继电器的调试324.4 液晶的调试324.5 指纹模块、按键的调试334.6 本章小结33结 论34参考文献35致 谢36 第1

9、章 概述1.1 指纹识别技术的发展世界上任何一种物体与物质都有其表示自己特征的符号和信息,人体也不例外,取一根头发丝就能鉴别出它是谁的头发。然而,最简单、最直观、最常用的鉴别符号则是人的指纹。指纹是人类手指上的条状纹路,他们的形成依赖于胚胎发育时的环境。指纹识别已经有了很长一段历史,据考古学家证实:公元前6000年以前,指纹作为身份鉴别的工具已经在古叙利亚和中国开始应用。到了20世纪80年代,个人电脑、光学扫描这两项技术的革新,是的他们作为指纹取像的工具成为现实,从而使指纹识别可以在其他领域中得以应用1。现在,随着取像设备的引人及其飞速发展,生物指纹识别技术的逐渐成熟,可靠的比对算法的发现都为

10、指纹识别技术提供了更广阔的舞台。目前,全球范围内都建立了指纹鉴定机构以及罪犯指纹数据库,指纹鉴定已经被官方所接受,成为司法部门一种有效身份鉴定手段。据统计,在全世界50亿人口当中,除了19名生来就没长指纹的特殊人物之外,没有一个重样的指纹,所以世界各国的警察机关都利用指纹鉴别技术来侦破案件。有人把人的指纹称之为“人体的立体印章”,而公安人员正是利用这些立体印章来作为认定作案分子的特征符号。由于人体的身体特征具有不可复制的特点,人们把目光转向了生物识别技术,希望可以藉此技术来应付现行系统安全所面临的挑战。要把人体的特征用于身份识别,这些特征必须具有唯一性和稳定性。研究和经验表明,人的指纹、掌纹、

11、面孔、发音、虹膜、视网膜、骨架等都具有唯一性和稳定性的特征,即每个人的这些特征都与别人不同、且终生不变,因此就可以据此识别出人的身份。2基于这些特征,人们发展了指纹识别、面部识别、发音识别等多种生物识别技术,目前许多技术都已经成熟并得以应用,其中的指纹识别技术更是生物识别技术的热点。指纹识别技术的发展得益于现代电子集成制造技术和快速可靠算法的研究。尽管指纹只是人体皮肤的一小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的相等与不想等的问题,现代电子集成制造技术使得我们可以制造出相当小的指纹图像读取设备,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行两个指纹的比对

12、运算的可能。另外,匹配算法可靠性也不断提高,指纹识别技术已经非常实用。31.2 指纹识别原理手指表面皮肤凹凸不平而产生的纹路就是指纹。理想的指纹图像是一幅黑白相间的二值图像。但是由于指纹通常是用按压的方式得到的,因此,油墨、纸张、手指的状况以及皮肤的变形等原因都会导致指纹图像不理想。另外,通过扫描仪或者摄像机进行数字化的时候,由于光照的影响,也会引入各种噪声。这些因素都使灰度图像不能直接用来匹配。因此,有必要选择合适的特征来描述指纹征来描述指纹。4通常采用的结构特征有2种层次:1)全局特征。所描述的是指纹的全局纹路结构,如图1-1所示,利用计算机处理时具体划分为:弓型、箕型、螺旋型。其他的指纹

13、图案都基于这3种基本图案。图1-1 指纹基本纹路图案2)局部特征。断点和分叉是最常用的指纹局部结构特征,也称为细节特征。采用这种特征的一个例子是细节坐标模型,也就是使用指纹的细节点及其坐标和其他一些特征来描述指纹。对于指纹身份鉴定,特别是对现场的模糊指纹进行认定的时候所使用的信息是细节特征点,如图1-2中的小桥、三角点、分叉点、端点和环。 图1-2 指纹图像人们根据纹路的局部结构特征共定义了150多种细节特征,如果同时使用所有的这些特征,将很难自动而且迅速地从指纹图像中提取并且区分他们。通常,自动指纹鉴定系统只使用其中2种主要的特征,即分叉点和断点。其他细节特征都可以用他们的组合来表示。例如小

14、桥是由2个端点组成的,而环是由2个分叉点组成的。1.3 系统设计目的及意义现代社会越来越需要高效可靠的身份识别系统。传统的个人身份鉴别手段如口令、密码、身份证等由于其与身份人的可分离性,可假冒、可伪造、可盗用、可破译,已不能完全满足现代社会经济活动和社会安全防范的需要。作为最传统、最成熟的生物鉴定方式,指纹具有很强的相对稳定性。从胎儿在6个月时指纹完全形成到人死后尸体腐烂,指纹的纹线类型、结构、统计特征的总体分布等始终没有明显变化,并且指纹具有明显的独特性。至今还找不出两个指纹完全相同的人,即使同卵双胞胎的指纹也是不相同的。而从易用性、安全性、成熟性和造价等方面综合比较,指纹识别技术将成为未来

15、人体生理特征身份识别技术的主流之一,指纹自动识别技术开创了个人身份鉴别的新时代,将来我们生活的很多场合都要用到指纹,指纹使我们的生活更方便、安全。5而以单片机为控制器的技术以发展的非常熟练,因为它的控制性能和可靠性能高的优点,生活中的电子产品都离不开单片机控制,像电饭煲,洗衣机,汽车等等都是单片机控制。在学习了单片机基础知识后,我们需要实践来把所学的知识组织起来,并且运用到实际生活,所以我联系指纹识别技术及单片机原理及应用选择基于单片机的指纹识别系统这个课题,希望我设计的实物可以完成简单的身份认证任务,给身份认证带来便利。1.4 工作流程1)开机:按下电源,电源指示灯点亮,液晶显示:“请先按键

16、再刷指纹”,按下按键后,液晶显示:“请按指纹”,同时指纹模块绿灯亮起,可以进行指纹识别开锁功能。若指纹识别成功,继电器动作,LED指示灯亮起,开锁成功,人员可以进入,液晶显示:“指纹已找到,请进”; 若指纹识别不成功,继电器不动作,LED指示灯不亮,将不能开锁,人员不能进入,液晶显示:“没有搜索到指纹 请按任意键继续”。2)管理员模式:按下按键进入管理员模式首先要输入6位密码,密码正确可以进入管理员模式,密码错误不能进入管理员模式,在管理员模式下可以完成录入指纹、删除指纹、应急开锁和修改密码的功能。进入录入指纹模式后,指纹模块绿灯亮起,将手指放到指纹头上,录入同一手指两次,此时液晶显示“指纹采

17、集成功”。在删除指纹模式下,液晶显示“输入删去的指纹号”,输入后按确认键即可完成指定指纹的删除功能,同时液晶显示“删指纹号成功”。在非正常的情况下,如指纹模块不好用或者紧急情况下,可以使用紧急开锁功能。密码修改的功能是指可以修改并保存进入管理员的6位密码。系统设计的总体框图如图1-3所示。4*4矩阵按键以及继电器和指示灯指 纹 模 块LCD12864 STC89C52 单 片 机图1-3 系统总体框架图38第2章 硬件介绍和设计2.1 单片机及最小系统2.1.1 STC89C52单片机介绍单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(

18、ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地6。纵观单片机的发展过程,可以预示单片机的发展趋势。MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧

19、化物半导体工艺)。现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。7STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:增强型8051单片机,6时钟/机器周期和12

20、时钟/机器周期可以任意选择,指令代码完全兼容传统8051。工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机)工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片具有E

21、EPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒通用异步串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40+85(工业级)/075(商业级)PDIP封装STC89C52RC单片机的工作模式掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4mA7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备下图2-1为STC89C52RC引脚功能说明。图2-1 STC

22、89C52引脚图VCC(40引脚):电源电压VSS(20引脚):接地P0口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。P1口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。P2口:为8位准双向I/O接口,当它作为I/O接口使用时,可直接连接外部I/O设备;在接有片外存储器或扩展I/O且寻址范围超过256字节时,P2口可用做高8位的地址总线。P3口:为8位准双向I/O接口,还可以将每一位用于第二功能,第二功能的定义见表2-1。表2-1 STC89

23、C52 P3口的第二功能端口功能第二功能P3.0RXD(串行输入口)P3.1TXD(串行输入口)P3.2INT/0(外中断0)P3.3INT/1(外中断1)P3.4T0(定时/计数器0)P3.5T0(定时/计数器1)P3.6外部数据存储器写选通P3.7外部数据存储器读选通XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。本设计的主程序主要由液晶显示、通讯子按键程序组成。主程序的工作流程描述如下:首先初始化各种硬件功能模块进行初始化。包括开机液晶显示、键盘扫描、指纹模块建立通信。2.1.2 外部晶振的设计单片机系统里都有晶振,在单片机系统里晶振作用非常

24、大,全程叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。8单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电

25、路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C52使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。STC89C52的内部有一个用于构成振荡器的高增益反相放大器,通过XTAL1,XTAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器,电容的值具有微调的作用,我们取30PF,具体的接法如图2-2外部晶振电路。图2-2 外部晶振电路STC89C52的工作频率范围在024MHZ

26、。我们选用的是11.0592MHZ的晶振,振荡周期约为1us机器周期约为0.1us,所以这个晶振可以满足这个系统的要求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。2.1.3 复位电路的设计单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。9单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位,当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可

27、以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。本系统采用的复位电路如图2-3所示。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要R

28、ST端保持两个机器周期以上的高电平,就能使单片机有效复位。其中电容选10uF、电阻选10K。图2-3 复位电路2.2 液晶显示模块液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接叫做液晶。液晶体积小、功耗低、现实操作简单,但是它有一个致命的弱点,其使用温度范围很窄,通用型液晶正常工作温度范围为0C+55C,存储温度范围为-20C+60C,因此在设计相应产品时,务必要考虑周全,选取合适的液晶。2.2.1 12864系列液晶的引脚功能

29、12864共有20个引脚,各引脚说明如下面表格所示。表2-2 接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地11D4Data I/O2VDD电源正极12D5Data I/O3VO液晶显示对比度调节端13D6Data I/O4RS数据/命令选择端(H/L)14D7Data I/O5R/W读/写选择端(H/L)15PSB并/串选择H并行L串行6E使能信号16NC空脚7D0Data I/O17RST复位,低电平有效8D1Data I/O18NC空脚9D2Data I/O19A背光电源正极10D3Data I/O20K背光电源负极12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8

30、192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。2.2.2 控制器接口说明1)基本操作时序:读状态:输入:RS=L,RW=H,E=H 输出:D0D7=状态字写指令:输入:RS=L,RW=L,D0D7=指令码,E=高脉冲 输出:D0D7=数据读数据:输入:RS=H,RW=H,E=H 输出:无写数据:输入:RS=H,RW=L,D0D7=数据,E=高脉冲 输出:无2)状态字说明表2-3状态字说明STA7D7STA6D6STA5D5STA4D4STA3D3STA2D2STA1D1STA0D0STA06当前数据地址指针的数值STA7读写操作使能

31、1:禁止 0:允许对控制器每次进行读写操作之前都必须进行读写检测,确保STA7为0。实际上,由于单片机的操作速度慢于液晶控制器反应速度,因此可以不进行读/写检测,或只进行简短延时即可。2.2.3 指令说明表2-4 指令集(RE=0:基本指令集)指令指令码说明RSRWDB7DB6DB5DB4DB3DB2DB1DB0清除显示0000000001将DDRAM填满“20H”,并且没定DDRAM的地址计数器(AC)到“00H”地址归位000000001X设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容进入点设定00000001I/DS指定在资料

32、的读取与写入时,设定游标移动方向及指定显示的移位I/D=1:游标向右移,DDRAM地址计数器(AC)加1 I/D=0:游标向左移,DDRAM地址计数器 (AC)减1 S:显示画面整体位移显示状态开/关0 0 0 0 0 0 1 D C B D=1:整体显示ON C=1:游标ON B=1:游标位置ON 游标或显示移位控制0 0 0 0 0 1 S/C R/L X X 设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容S/C=0,R/L=0: 游标向左移动 S/C=0,R/L=1:游标向右移动功能设定0 0 0 0 1 DL X 0 REX X DL=1 (必须设为1) RE=1

33、: 扩充指令集动作RE=0: 基本指令集动作设定CGRAM地址0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM地址到地址计数器(AC) 设定CGRAM地址0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM地址到地址计数器(AC) 设定DDRAM 地址0 0 1 AC6AC5AC4AC3AC2AC1AC0设定DDRAM地址到地址计数器(AC)读取忙碌标志(BF)和地址0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写资料到RAM 1 0

34、D7 D6 D5 D4 D3D2D1D0写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM) 读出RAM的值1 1 D7 D6 D5 D4 D3D2D1D0从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM) 表2-5指令表(RE=1:扩充指令集)指令指令码说明RSRWDB7DB6DB5DB4DB3DB2DB1DB0待命模式0 0 0 0 0 0 0 0 0 1 将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H” 卷动地址或IRAM地址选择0 0 0 0 0 0 0 0 1 SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRA

35、M地址反白选择0 0 0 0 0 0 0 1 R1 R0选择4行中的任一行作反白显示,并可决定反白与否睡眠模式0 0 0 0 0 0 1 SL X X SL=1:脱离睡眠模式SL=0:进入睡眠模式扩充功能设定0 0 0 0 1 1 X 1 REG 0 RE=1: 扩充指令集动作RE=0: 基本指令集动作G=1 :绘图显示ON G=0 :绘图显示OFF 设定IRAM地址或卷动地址0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 SR=1:AC5AC0为垂直卷动地址SR=0:AC3AC0为ICON IRAM地址设定绘图RAM地址0 0 1 AC6 AC5 AC4 AC3 AC2 AC

36、1 AC0 设定CGRAM地址到地址计数器(AC) 当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。具体指令介绍:1)清除显示RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLL

37、LLH功能:清除显示屏幕,把DDRAM位址计数器调整为“00H” 2)位址归位RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM 3)位址归位 RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器

38、具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。4)显示状态 开/关RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能:D=1;整体显示ON C=1;游标ON B=1;游标位置ON 5)游标或显示移位控制 RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容 6)功能设定 RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLX0 REXX功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作 7)设定CG

39、RAM位址 RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:设定CGRAM位址到位址计数器(AC) 8)设定DDRAM位址 RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:设定DDRAM位址到位址计数器(AC) 9)读取忙碌状态(BF)和位址 RSRWDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC3AC2AC1AC0功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值 10)写资料到RAM RSRWDB7DB6

40、DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM) 11)读出RAM的值 RSRWDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM) 12)待命模式(12H) RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:进入待命模式,执行其他命令都可终止待命模式 13)卷动位址或IRAM位址选择(13H) RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLL

41、LLLLHSR功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM位址 14)反白选择(14H) RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0功能:选择4行中的任一行作反白显示,并可决定反白的与否 15)睡眠模式(015H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHSLXX功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式 16)扩充功能设定(016H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHHX1REGL功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G=1;绘图显示ON G=0;绘

42、图显示OFF17)设定IRAM位址或卷动位址(017H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0功能:SR=1;AC5AC0为垂直卷动位址 SR=0;AC3AC0写ICONRAM位址18)设定绘图RAM位址(018H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0功能:设定GDRAM位址到位址计数器(AC) 2.2.4 12864引脚与单片机连接图下图为12864与单片机的接口连接图。图2-4 12864引脚与单片机连接图显示模块主要完成数据的显示功能。用户所编的显示程序,开始

43、必须进行初始化,否则模块无法正常显示,首先当模块接受指令前,单片机必须确认模块内部处于非忙碌状态,然后根据接受到指令显示相关的内容在屏幕上。1、通过RS确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需/不需要移屏、在液晶的什么位置显示,等等。写数据是指要显示什么内容。2、读/写控制端设置为写模式,即低电平。3、将数据或命令送达数据线上。4、给E一个高脉冲将数据送入液晶控制器,完成写操作。2.3 按键控制部分电路按键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。为了确保CPU对一

44、次按键动作只确认一次,并且防止干扰信号的影响,必需加入消除电平抖动的措施,下图2-5为按键抖动示意。消除抖动通常有硬、软硬两种方法,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序再确认该键是否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键各键相独立,每个按键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。由于该设计方案IO资源浪费大。故此方法只适用于按键少或其他控制功能很简单的场合。由于本设计中的

45、按键较多,考虑系统可靠性和键盘设计的简单所以采用矩阵按键。本系统的按键电路如图2-6所示,按键按下是呈低电平,我们采用软件消抖来减少对的单片机影响。有键按下前沿抖动 按键确定 后沿抖动图2-5 按键闭合及断开前后的电压矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,单片机通过检测行或列线上的电平变化可以确定哪个按键被按下。矩阵键盘的检测方法有多种,常见的有:逐点扫描法、逐行扫描法、全局扫描法。在本实例中我们采用逐行扫描法来实现按键检测,其中P1.4-P1.7作为列线,P1.0-P1.3作为行线。识别过程如下:1、判断

46、键盘中是否有键按下。设置所有行线为输出口,并输出低电平;设置列线为输入口,读取列线上的电平状态,只要有一列的电平为低,就表示有按键按下,并且被按下的键位于电平为低的列线与4跟行线相交叉的4个按键中,若所有列线都为高电平,表示没有按键按下;2、判断被按下按键所在的位置。在确认有键按下后(进行按键消抖处理后),接下来就是确定具体哪个案件被按下,方法是:依次将每根行线设置为输出口,并输出低电平(同时剩余行线输出高电平),然后逐列检查每根列线的电平状态,若某列为低电平,则该列线与设置为输出低电平的行线交叉处的按键就是被按下的按键。3、按键位置确定后,接下来就要给矩阵键盘中的每个按键进行编号,也就是进行

47、按键编码,程序设计中常用计算法和查表法两种方式对按键进行编码,本实例采用计算法编码。图2-6按键电路2.4 指纹模块2.4.1 指纹模块简介本设计选择的指纹模块型号是ZFM60,指纹模块电路如下所示:图2-7 指纹模块接口图指纹模块里面主要是DSP芯片,型号为AS606,加上外面的CMOS芯片,CMOS芯片主要是对指纹进行“照相”,生成指纹特征,如下图所示就是一个指纹模板,录入两次这样的指纹特征就能生成一个指纹模板。具体的工作过程是:扫描指纹(录入图像)、生成特征、合成模板(建立一个指纹库文件,成功录入一个指纹)。图2-8 指纹模版指纹模板就是“照一次相”,将指纹模块里面的CMOS芯片采集一次

48、指纹信息,然后进行模糊处理生成0和1两种记录信息,存入指纹模块的FLASH芯片里面。当切换到识别模式的时候,指纹模块就会先让CMOS芯片采集一次指纹,然后和FLASH芯片的数据进行对比。看是不是存在,如果存在就能返回是几号指纹。这样我们就能通过单片机或者电脑进行指纹识别与登记了。具体指纹模块介绍如下:此指纹模块型号是:ZFM60,此模块上里面包含了:1、光学头2、通信连接线3、DSP芯片4、稳压芯片5、FLASH芯片6、CMSO传感器等部件组成。主要技术指标:供电电压:DC 3.87.0V背光颜色:绿色亮灯方式:长亮/闪烁供电电流:工作电流:65mA峰值电流:95mA指纹图像录入时间:0.5秒

49、窗口面积:14.519.4mm匹配方式:比对方式(1:1)搜索方式(1:N)特征文件:256字节模板文件:512字节存储容量:1000枚安全等级:3级(从低到高:1、2、3、4、5)认假率(FAR):0.001%(安全等级为3时)拒真率(FRR):1.0%(安全等级为3时)搜索时间:1.0秒(1:500时,均值)上位机接口:UART(TTL逻辑电平)通讯波特率(UART):(9600N)bps其中N=112(默认值N=6,即57600bps)2.4.2 指纹模块引脚接法ZFM60系列独立式指纹识别模块引脚功能:模块中引脚1与电源相连,引脚2接单片机的RXD端,引脚3接单片机的TXD端,引脚4悬

50、空,引脚5接地。表2-7如下:表2-7指纹识别模块引脚功能引脚号名称类型功能描述1Vinin电源正输入端2TDout串行数据输出。TTL 逻辑电平3RDin串行数据输入。TTL 逻辑电平4GND信号地。内部与电源地连接2.4.3 指纹模块命令我们进行指纹模块的操是通过单片机的串口发送与接收命令完成的。我们先通过串口给指纹模块发送命令,然后等待指纹模块传回数据。再通过单片机进行数据的处理,从而判断命令有没有执行。主要为以下几条命令。1)开机的时候进行模块握手,从而判断模块是不是连接正常。命令如下:验证口令:指令包格式:2bytes4bytes1 byte2 bytes1 byte4bytes2bytes包头模块地址包标识包长度

温馨提示

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

评论

0/150

提交评论