基于单片机的电子密码锁设计毕业设计(论文).doc
毕 业 设 计(论 文)单片机电子密码锁设计系别:自动化工程系专业名称:学生姓名:学号:指导教师姓名、职称:完成日期 2009 年 5 月 6 日 电子科技大学中山学院毕业设计(论文)任务书系 别:自动化工程系专 业:学 生 姓 名:学 号:设计(论文)题目:单片机电子密码锁设计起 迄 日 期:设计(论文)地点:电子科技大学中山学院指 导 教 师:专业教研室负责人:发任务书日期: 2008 年10 月 6 日任务书填写要求1毕业设计(论文)任务书由指导教师根据各课题的具体情况填写,经学生所在专业教研室的负责人审查、系领导=签字后生效。此任务书应在毕业设计(论文)开始前一周内填好并发给学生;2任务书内容必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,不得随便涂改或潦草书写,禁止打印在其它纸上后剪贴;3任务书内填写的内容,必须和学生毕业设计(论文)完成的情况相一致,若有变更,应当经过所在专业教研室及系主管领导审批后方可重新填写;4任务书内有关“系”、“专业”等名称的填写,应写中文全称,不能写数字代码。学生的“学号”要写全号,不能只写最后2位或1位数字;5任务书内“主要参考文献”的填写,应按照国标GB 771487文后参考文献著录规则的要求书写,不能有随意性;6有关年月日等日期的填写,应当按照国标GB/T 740894数据元和交换格式、信息交换、日期和时间表示法规定的要求,一律用阿拉伯数字书写。如“2004年3月15日”或“2004-03-15”。毕 业 设 计(论 文)任 务 书1本毕业设计(论文)课题应达到的目的:采用单片机、LCD等芯片,设计电子密码锁,能随时修改密码,输入密码时可以使用删除键对输入密码进行修改;具有防多次试探功能,连续输入密码达到一定次数,发出光声报警密码输入错误时有光声报警,连续输入3次错误,键盘自锁,等待管理解锁;开锁后或修改密码后可以选择退出,返回开锁前状态。 2本毕业设计(论文)课题任务的内容和要求(包括原始数据、技术要求、工作要求等):u 技术要求:(1) 掌握Proteus软件的基本应用,用于设计与仿真;(2) 需要用protel软件绘制电路原理图及局部原理图;(3) 掌握单片机编程语言,可选用汇编语言或C语言;(4) 掌握焊接电路的步骤与技巧。u 功能要求: (1) 能多次修改密码;(2) 能防多次试探;(3) 带报警和锁键盘功能(4) LCD1602显示方式: 开锁前显示:please input 输入密码时显示:* 输入密码正确时显示:WELCOME 输入密码错误时显示:ERORR 用户连续输入密码3次错误显示:Close 第一次输入修改密码时显示:Revision第二次输入修改密码时显示:input again修改密码成功时显示:Changed毕 业 设 计(论 文)任 务 书3对本毕业设计(论文)课题成果的要求包括毕业设计论文、图表、实物样品等:(1) 硬件实物(2) 毕业论文 4主要参考文献:1李全, 迟荣强.单片机原理及接口技术M. 高等教育出版社,2004.12江晓安, 董秀峰. 模拟电子技术M. 西安电子科技大学出版社,2001.103余永强. ATMEL89系列单片机应用技术M. 北京航空航天大学出版社,2001.104陈明荧. 8051单片机课程设计M. 清华大学出版社, 2003.95戴佳,苗龙,陈斌.51单片机应用系统开发典型实例M. 中国电力出版社,2005.96康华光.电子技术基础M.高等教育出版社,20027梁燕, 邵凯.用单片机实现遥控器的红外发射J.成都信息工程学院学报,20058单片机原理与应用及C51程序设计M.清华大学出版社2006.89梁宗善.新型集成块应用M.华中理工大出版社,200410荣贵.电子制作M.科学技术文献出版社, 200311Steven F.Barrett,Daniel J.Pack.Embedded SystemM.电子工业出版社,2006毕 业 设 计(论 文)任 务 书5本毕业设计(论文)课题工作进度计划:起 迄 日 期工 作 内 容 2008年10月 6 日 12 月 31 日完成开题报告,复习单片机基础知识,了解设计系统的功能,确定设计目标,查找相关资料及文献 2009年1月1 日 3月 20日绘制设计相关电路原理图,焊电路板,编写及调试程序,实现设计的基本功能2009年3月 21 日 5月6日撰写论文、修改论文2009年5月 6 日 5月10 日做答辩用PPT,准备论文答辩指导教师审查意见:该课题具有一定的实用价值,充分运用所学课程知识,难易程度适中,工作量适中,同意开题。指导教师(签名): 年 月 日单片机电子密码锁设计摘 要随着电子产品向智能化和微型化的不断发展 ,单片机已成为电子产品研制和开发中首选的控制器。本文介绍了一种应用 AT89S52单片机设计的防盗自动报警电子密码锁系统。经实验验证该系统具有软硬件设计简单 ,易于开发 ,成本较低 ,安全可靠,操作方便等特点 ,可作为产品进行开发,应用于住宅、办公室的保险箱及档案柜等需要防盗的场所 ,所以电子密码锁凭着比较强的实用性、锁密匙量大,又要制造简单;既安全可靠,又成本低廉;既保密性强,又实用性广,在密码锁的巨大市场上占有一席之地。本文讲述了基于AT89S52单片机的“电子密码锁”的设计与实现,首先在绪论中介绍了此系统的简介、研究本系统的目的和意义。此后,本文在第二、三、四章论述了系统整体结构框图,系统各模块功能,论述了系统工作原理并对所使用各种芯片的功能与特性进行了介绍、系统硬件设计;在第五章中重点剖析了软件设计开发的过程。而在最后一章简述了本次设计的总结,个人感受。此外,通过对系统软硬件的不断调试,进一步完善功能,同时也加深了对单片机、LCD液晶显示器、电路设计等方面知识。关键词: 单片机;AT89S52;电子密码锁; LCD显示List slice machine electronics combination lock designAbstractAs electronic products to intelligence and the continuous development of miniaturization, SCM has become the research and development of electronic product first controller. This paper introduces a kind of application of AT89S52 SCM design anti-theft alarm system, automatic electronic locks. Through the experiment validate the system hardware and software design is simple and easy to develop, low cost, convenient operation, safe and reliable, etc. Can be used as product development and application in residential, office of safe and security needs of the cabinet etc, so electronic locks with stronger practicability, lock the key, and make simple, Both safe and reliable, and low cost, Both secrecy, and practicability, the huge market in locks.This paper introduced the based on the electronic locks AT89S52 SCM design and realization of the system, first introduced in the introduction of the system, the system of research purpose and meaning. In this paper, then the second, third, and fourth chapter discusses the system structure, system function module diagram of the system, and discusses the principle and the use of various chip introduces the characteristics and functions of the system hardware design;, In the fifth chapter focuses on the design of the software development process. But in the last chapter describes the design of personal experience. In addition, based on the hardware and software system, further improve constantly commissioning function, also deepened the SCM, LCD, circuit design and less likely to knowledge.Keyword: List slice machine; AT89S52;Acousto-optic alarm;LCD display目 录1 绪 论11.1密码锁简介11.2电子密码锁发展趋势11.3基本原理21.4研究的主要内容32 系统总体设计方案42.1 系统的功能介绍42.2 系统的整体框图42.3 系统各单元模块功能43 密码锁的工作原理63.1 系统工作原理简介63.2 AT89S52单片机63.3 1602LCD液晶显示模块83.3.1显示特性83.3.2物理特性93.3.3外型尺寸图93.3.4结构块图103.3.5模块显示特性详解103.3.6字符码与字符字模之间的对应关系表114 系统硬件设计124.1 单片机AT89S52中断系统124.2 8051单片机的复位电路124.3 光声报警电路134.4 矩阵键盘电路134.5 1602LCD显示电路144.6 利用PROTEUS仿真的电路图144.7硬件实物演示155 系统软件设计175.1 KEIL软件介绍175.2 软件开发176结束语20附 录21参考文献25致 谢261 绪 论1.1密码锁简介 安全问题是现代社会各界普遍关注的焦点之一。在现实生活中,很多场合都用到了电子密码锁,比如说门禁系统,银行账户管理,保险箱等等地方都要用到电子密码锁,而且对其要求也很高。所以高安全性能密码锁的研究就成了一个必需的话题。近几年各种安全产品(如指纹识别、卡辨识、红外防盗等)已相继问世,但这类产品的特点是针对特定指纹或有效卡。只能适用于保密要求高或供个人使用的保险箱保险柜等,虽然这些产品安全性高,但其生产成本高,携带、安装及使用不方便,这在一定程度上限制了这类产品的普及和推广。随着单片机的迅速发展,其应用领域越来越广,如消费电子、家用电器、办公设备、商业营销设备、工业控制和机电一体化控制系统、智能测量仪表以及汽车与航空航天电子系统中都广泛采用了单片机。51系列单片机由于具有可靠性好,以及扩展控制功能强等优点,成为国内目前应用最广泛的一种8为单片机之一。随着单片机的应用领域越来越广泛,可以看出其的优越性和可靠性,所以将其应用到保密和安全方面是必然的,也是相当可靠,相当有意义的,基于单片机的电子密码锁的研究在保护财产和人身安全方面可以给人们带来更多更好的选择。本文介绍的是一种由单片机编程控制实现的多功能密码锁,这种电路设计具有密码输入有效提示、错误指示、控制开锁电平、控制报警电路、密码修改等功能。可在意外泄密的情况下及时修改密码,密码可以是1-16位,保密性强、灵活性高、特别适用于家庭、办公室 学生宿舍及宾馆等场所,具有社会推广价值。1.2电子密码锁发展趋势从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁仍然“老树发新芽”,不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。电子防盗锁广泛应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子防盗锁的应用主要集中在前两个层面上。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子防盗锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件(如伸缩的锁舌或锁栓、锁扣盒锁扣板以及依靠电磁力直接闭锁的电磁部件等)的强度(应有足够的机械强度和刚度,能够承受一定数值、一定方向的静压力和冲击力以及力矩)、锁止型式(能承受某些方式和工具的作用)、配合间隙(防止采用机械的、电子的方法探入锁具内部而被开启)和布局(将薄弱的、与锁的开启直接相关的零部件和电路置于壳体保护之下,并且不易被识别出来)。提高电子防盗锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子防盗锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子防盗锁的性能至关重要。1.3基本原理单片机电子锁是以51系列单片机(AT89S52)为核心,配以相应硬件电路,完成密码的设置、存贮、识别和显示、驱动电磁执行器并检测其驱动电流值、接收传感器送来的报警信号、发送数据等功能。 单片机接收键入的代码,并与存贮在EEPROM中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,最多可输入三次;如果三次都不正确,则单片机通过通信线路向智能监控器报警。单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给智能监控器,同时将接收来自传感器接口的报警信息也发送给智能监控器,作为智能化分析的依据 。为了防止通信线路的人为破坏和电磁执行器因某种原因造成流过电磁线圈的电流过大而烧毁线圈,可以加入电流监视技术模块采用MAXIM公司生产的电流电压转换芯片MAX471。该芯片能将被测电流I转化成对地输出电压U,且有测量范围大、精度高、输出电压U和被测电流I成正比等特点。电流监视器输出电压送A/D转换器,单片机通过读取A/D转换结果,获知线路中电流的变化情况,通过分析及时发现异常,发出报警信号。本设计因为使用了LED灯替代电磁执行器,所以没有采用该保护。1.4研究的主要内容本设计采用的是串行的EEPROM芯片,使用I2C总线传输数据,这样可以少占用单片机的端口,I2C总线是由PHILIPS公司开发一种简单、双向二线制同步串行总线。它只需要两根线即在于连接总线上的器件之间传送信息。这种总线的主要特点有:1、总线只有两根线,这样可以在设计中大大减少了硬件接口;2、每接到总线上的器件都有一个用于识别的器件地址,避免了片选线的连接方法,并建立了简单的主从关系,每个器件既可以作为发送器,又可以作为接收器;3、同步时钟允许器件以不同的波特率进行通讯;同步时钟可以作为停止或重新启动串行口发送的握手信号;5、串行的数据传输位数率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。矩阵式键盘又叫行列式键盘.用I/O口、接口线组成行、列结构,键位设在行、列的交点上。这样在按键比较多的情况下就比独立按键有优势,本设计有16个按键,只需要8个I/O口,大大节省了单片机的I/O口开销。本设计是基于AT89S52单片机实现电子密码锁功能,具有修改密码和防多次试探功能,并对系统进行研究分析,调节各个部件正常工作,同时,根据实际情况对其软、硬件进行改良、改进,并提出系统总体方案。首先,细致分析单片机电子密码锁的各模块工作原理及相关技术。其次,掌握并将程序烧录进单片机AT89S52内,控制各器件的协调工作,以便能实现I2C传输数据的功能及显示功能。整个过程需要寻找大量的相关资料,和学习相关的软件并运用到实践,还有焊接电路版,要有很好的动手意识和知识的积累,也是考验这将近四年来对专业知识学习的一次总结和汇集。经过几个月的努力,完成了系统软硬件的设计,并对实际工作中遇到的问题进行讨论解决,最后经运行调试实现了单片机电子密码锁的功能。通过这次毕业设计,亲身体会到一个系统的制作过程,也深刻的理会该系统各部件的运行原理和实物调试,能够很好地学习掌握和利用单片机AT89S52,且设计出该单片机电子密码锁,能够模拟其工作过程,从而熟悉控制系统的开发流程和具体内容,体会理论联系实际的重要性,增强自身实践应用能力。 2 系统总体设计方案2.1 系统的功能介绍用单片机做主机运算器,能进行密码修改和管理员密码设置,可复位,设置有退出键、管理员模式键、设定键、删除键和确定键。LCD在开锁前显示plesea input,然后根据不同的模式和密码正确与否显示出相应的提示。本设计设置的设置的用户初始密码和管理员初始密码都为1234567812345678.密码输入正确后,可以修改密码,密码个数可以是1-16的数字。采用24c02存储密码,有掉电保护功能。2.2 系统的整体框图掉电储存器键盘输入AT98S52LCD 显示光声报警电路和开锁电路图2-1 系统框图本设计采用4*4的矩阵键盘作为输入,AT89S52单片机作为主机, 二极管指示灯和喇叭组成发声系统。根据系统拟达到的总体功能,将其划分为以下功能模块:激光弦输入、掉电储存、运算主机、输出设备等。系统整体框图如图。2.3 系统各单元模块功能本设计的掉电存储模块采用串行的24C02B,是美国CATALYST公司生产的,具有2K(256x8)容量.可以电擦除,可编程自定义写周期。支持I2C总线数据传输协议,采用CMOS结构减少了器件的功耗,可以保存数据100年。电子密码锁的核心器件是单片机,它是整个系统的“心脏”,由它来处理和运算输入信号,协调各功能模块的正常工作,考虑到系统的功能和经济性等因素,采用的是当今流行的性价比较高的AT89S52。输出设备选用通用的1602LCD液晶显示模块,具有很好的显示特性,单5V电源电压,低功耗、长寿命、高可靠性,内置192种字符(160个5×7点阵字符和32个5×10点阵字符),具有64个字节的子定义字符RAM,可自定义8个5×8 点阵字符或四个5×11点阵字符,采用STN、半透、正显显示方式,4位或8位并口的通讯方式。3 密码锁的工作原理3.1 系统工作原理简介该电子密码锁采用4*4键盘作为输入信号,输入到作为主机AT89S52单片机,通过软件编程的程序,做出判断,结果再经1602LCD液晶显示器作为输出显示。晶振电路提供单片机运行脉冲。每按一次键盘按钮会通过蜂鸣器响一次,达到更好的控制效果。3.2 AT89S52单片机 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图3-1 AT89S52引脚结构VCC: 电源GND: 地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表3-1所示。在flash编程和校验时,P1口接收低8位地址字节。表3-1 P1口的第二功能表P2口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表3-2所示。在flash编程和校验时,P3口也接收一些控制信号。表3-2 P3口的第二功能表RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应接VCC。在flash编程期间,EA也接12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.3 1602LCD液晶显示模块3.3.1显示特性l 单5V电源电压,低功耗、长寿命、高可靠性l 内置192种字符(160个5×7点阵字符和32个5×10点阵字符)l 具有64个字节的子定义字符RAM,可自定义8个5×8 点阵字符或四个5×11点阵l 显示方式:STN、半透、正显l 驱动方式:1/16DUTY,1/5BIASl 视角方向:6点l 背光方式:底部LEDl 通讯方式:4位或8位并口的通讯方式l 标准的接口特性,适配MC51和M6800系列MPU的操作时序3.3.2物理特性表3-3 液晶显示模块物理特性外型尺寸80×36×14单位可视范围64.6(W)×16.0(H)mm显示容量16字符二行点尺寸0.55×0.75mm点间距0.08mm3.3.3外型尺寸图图3-2 602LCD液晶显示模块外型图3.3.4结构块图图3-3 1602LCD液晶显示模块结构图3.3.5模块显示特性详解l 本模块适宜与4位或者8位MPU接口,接口由使能信号E控制;标志位BF为模块内部工作状态标志,MPU访问模块时,首先应判断状态标志位EF;在电源Vdd5V情况下,模块与MPR通讯速度可以达到2MHz;l 本模块提供5X8点阵、带光标显示的字符结构的显示模式,用户通过指令设置可以方便地进行选择;l 本模块提供了显示数据缓冲区DDRAM、字符发生器CGROM和字符发生器CGRAM;用户可以使用CGRAM来存储自己定义的最多8个5X8点阵的图形字符的字模数据;l 本模块字符在LCD显示屏上的显示位置与该字符的字符代码在显示缓冲区DDRAM内的存储地址一一对应;l 本模块通过指令设置来选择占空比(duty)周期,选择参数如下:单行5X8点阵字符带光标显示:1/8;单行5X10点阵字符带光标显示:1/11;单行5X8点阵字符带光标显示:1/16。l 本模块提供了较丰富的指令设置:清显示;光标回原点;显示开/关;光标开/关;显示字符闪烁;光标移位;显示移位通过选择相应的指令设置,用户可以实现多种字符显示样式;l 本模块提供了内部上电自动复位电路,当外加电源电压超过4.5v时,自动对模块进行初始化操作,将模块设置位默认的显示工作状态;l 本模块采用低功耗CMOS设计。3.3.6字符码与字符字模之间的对应关系表表3-4 字符码与字符字模之间的对应关系表4 系统硬件设计4.1 单片机AT89S52中断系统计算机具有实时处理能力,能对外界发生的事件进行即使处理,这是依靠它们的中断系统来实现的。CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生)。CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务)。待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。这一过程称为中断。AT89S52单片机的中断系统有5个中断源(包括2个外部中断源),由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求。CPU响应中断的条件是:第一,中断源有中断请求;第二,此中断源的中断允许位为1;第三,CPU开中断(即EA=1)。同时满足这三个条件时,CPU才有可能响应中断。本设计用到单片机AT89S52内部中断0,当用户没有在限定30秒输入密码或管理员没有在15秒内输入密码,这时向CPU发出中断请求,进入光声报警。4.2 8051单片机的复位电路复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作就是从复位开始的。8051的复位引脚(RST)是第9脚,当此引脚连接高电平超过2个机器周期(一个机器周期为6个时钟脉冲),即可产生复位的动作。当在89S52单片机引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(如果RST引脚继续保持高电平,单片机就处于循环复位状态)。复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位。本设计采用按键复位,如图4-1所示。图4-1 单片机复位电路4.3 光声报警电路声音的产生是一种音频振动的效果,振动的频率高则为高音,频率底则为低音。音频的范围为20Hz200kHz之间,人类耳朵比较容易辨识的声音大概是200Hz20kHz。一般音响电路是以正弦波信号驱动喇叭,产生悦耳的音乐的,而在数字电路中,则是以脉冲信号驱动喇叭以产生声音。本系统使用的蜂鸣器产生的声音是利用程序产生频率,送到输出端口。利用LED灯表示输入密码正确与否,红色表示密码错误,蜂鸣器发出报警声,密码正确时,绿色LED灯亮,电路如下图所示。图4-2 光声报警电路4.4 矩阵键盘电路矩阵式键盘又叫行列式键盘。用I/O接口线组成行、列结构,键位设置在行、列的交点上。例如本设计(图4-4)4*4的行、列结构可组成16个键盘,比一个键位用一根I/O口线的独立式键盘少了一半的I/O接口线。而且键位越多,情况越明显。因此,在按键比较多时,往往采用矩阵式键盘。矩阵式键盘的按键识别方法 有“行扫描法”。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍过程如下。(1)判断键盘中有无键按下 将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 (2)判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 图 4-3 矩阵键盘电路4.5 1602LCD显示电路1602LCD液晶显示器是一种字符点阵式LCD显示器模块。它不仅能够显示阿拉伯数字,而且还能够显示特殊的符号,以及英文字母(即英文语句提示信息),因此其用途比较灵活,应用比较广泛,当然价格也较高。单片机AT89S52从接收器得到的数据运算程序后,结果传送给1602LCD数据端并在液晶屏上显示出。显示电路如图4-4所示。图4-4 1602LCD显示电路4.6整体电路图结合上面所述,组合成单片机电子密码锁原理图如图。图4-5 电子密码锁仿真电路4.7硬件实物演示硬件实物背面和正面图分别如下图46和图47所示。图4-6 硬件实物背面图图4-7 硬件实物演示效果5 系统软件设计5.1 KEIL软件介绍Keil 是美国Keil公司的C51编译器,它被嵌入到了Keil uVision集成开发环境中。Keil是目前最常用的编译器,支持浮点等到类型,支持多维数组,能生成对应的汇编代码,能直接编译汇编代码程序和内嵌多种工具,可以方便的链接,生成可执行文件。Keil uVision 2 IDE 是Keil software 公司的产品,它集项目管理、编译工具、代码编写工具、代码调试以及完全仿真于一体,适合个人开发或人数少、对开发过程的管理还不成熟的开发团体。这一功能强大的软件提供简易的开发平台,可以让开发者在开发过程中集中精力于项目本身,加快开发速度。如图5-1为uVision2的界面。图5-1 uVision2的界面5.2 软件开发通过上述原理,已对密码锁整体运行环境有了充分认识,绘制主程序和子程序流程图,利用Keil软件,对单片机进行编程,C语言主程序及各子程序流程图如下:是是是是是开始系统初始化键盘是否被锁键盘扫描否管理员密码输入用户密码输