基于51单片机密码锁设计论文
毕业设计(论文)-基于51单片机控制的电子密码锁设计
基于51单片机控制的电子密码锁设计摘要:本设计以单片机以AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构,实现要是信息在主机的初步认证注册、密码信息的加密、钥匙丢失报废等功能。
根据51单片机之间的串行通信原理,这便对于密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁具有较高的优势。
采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。
软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统可扩展性和运行的稳定性。
测试结果表明,本系统各功能已达到本设计的所有要求。
关键词:AT89C51;密码锁;单片机设计;电子锁目录摘要 (1)关键词 (1)第一章密码锁的简介及现况 (1)1.1引言 (1)1.2电子密码锁的简介 (1)1.3电子密码锁发展趋势 (2)1.4本设计所要实现的目标 (2)1.5设计的密码锁的功能 (2)第二章设计方案的选择 (3)2.1方案的论证与比较 (3)第三章单片机的组成 (4)3.1AT89C51单片机的简介 (4)3.2电路图的绘制 (7)第四章单片机硬件资源 (7)4.1开锁机构 (7)4.2按键电路设计 (8)4.3显示电路设计 (10)4.4AT89C51单片机复位方式 (11)4.5密码锁的电源电路设计 (12)第五章程序调试 (13)5.1程序调试用到的软件及工具 (13)5.2KEIL C51简介 (14)5.3调试过程 (14)5.4调试、仿真与实现 (15)第六章软件设计 (16)6.1系统软件设计的总统思想 (16)6.2各子程序设计 (17)1 键盘扫描子程序 (17)2 LED显示子程序 (18)3 密码比较和报警程序 (19)设计总结与展望 (21)致谢 (22)附录:总原理图 (22)参考文献 (24)第一章密码锁的简介及现况1.1引言在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
基于51单片机的红外遥控密码锁毕业论文
基于51单片机的红外遥控密码锁毕业论文目录1 引言 ............................................................. -2 -1.1研究背景与意义 .............................................. - 2 -1.2 研究现状.................................................... - 2 -1.3 研究容...................................................... - 2 -2 系统设计方案 ..................................................... -3 -2.1 总体方案.................................................... - 3 -2.2 系统框图.................................................... - 3 -3 系统硬件电路设计 ................................................. -4 -3.1 单片机最小系统设计.......................................... - 4 -3.2 LCD显示电路设计 ............................................ - 5 -3.3 矩阵键盘电路设计............................................ - 6 -3.4 存储电路设计................................................ - 6 -3.5红外发送接收电路设计 ........................................ - 6 -3.6 模拟锁与报警电路设计............................................. - 6 -3.7系统PCB设计 ................................................ - 6 -4 系统软件设计 ..................................................... - 8 -4.1 程序设计思路............................................... - 13 -4.2 算法与流程图............................................... - 14 -5 系统仿真与硬件调试 .............................................. - 15 -5.1系统仿真和调试方案 ......................................... - 15 -5.2 系统硬件调试............................................... - 16 -5.3 调试结果................................................... - 17 -6 总结与展望 ...................................................... - 18 - 致谢 .............................................................. - 18 -参考文献 .................................................................. - 18 - 附录 .............................................................. - 18 - 1.元器件清单.................................................. - 18 - 2.源程序...................................................... - 19 -引言1.1 研究背景与意义我们知道当某一个公司研发一些新产品时都会特别重视其资料的安全问题,在竞争日益激烈的当下,新研发的产品资料,科研项目,以及单位的文件档案、财务报表,个人资料等等,都是特别保护的对象,万一泄露将直接关系到一个企业的存亡。
基于51单片机密码锁设计与调试 电子信息工程毕业设计论文
目录第一部分设计任务与调研 (1)第二部分设计说明 (2)第三部分设计成果 (5)第四部分结束语 (11)第五部分致谢 (12)第六部分参考文献 (13)第一部分设计任务与调研1.1设计的主要任务给抽屉设计一个四位密码的单片机密码锁控制系统,实现开锁功能,自动报警功能,改密功能,并取得仿真模拟调试成功。
1.2设计的思路本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号,开锁密码位为四位。
能够让LCD1602显示器在密码正确时显示open!,密码错误时显示ERROR,输入密码时显示PASSWORD。
实现输入密码错误超过限定的三次电子密码时报警。
1.3设计的方法使用学校编写程序所学的单片机和C语言知识,利用在电工实训中学到的焊接技术焊接控制模块和LED接线及CAD所学的知识绘制驱动电路和控制电路,制作详细的设计方案和资料搜集后进行实际操作,通过程序设计,模拟仿真调试,修订完善后制作出成品。
1.4调研的目的和总结由于对电子密码锁的一些情况并不了解,为了使自己的电子密码锁能够更加完善,所以需要查阅大量的资料,通过查阅的资料与自己的想法进行一些结合做出取舍,最后获得了一些总结。
本设计从经济实用的角度出发,采用宏晶公司的单片机STC89C51与低功耗CMOS型作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用C语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。
经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。
第二部分设计说明2.1设计方案2.1.1系统框架图本次设计选用单片机STC89C51作为系统的核心元件,利用单片机灵活的编程设计和丰富的IO端口及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。
基于51单片机电子密码锁的设计与开发
摘要自从人类开始制造锁以来长期所利用的锁都是机械锁,通俗的讲确实是弹子芯锁。
而传统的弹子芯锁,由于其本身锁芯密齿的有限加上开锁工具钥匙的容易复制性,使得其平安性大大降低,随着人们生活质量的提高,如何实现平安有效的防盗这一问题受到愈来愈多人的关注。
传统的机械锁由于平安性能太差,被撬的事件不足为奇,相较之下,电子密码锁因其保密性强,利用灵活性好,平安系数高,受到了广大用户的欢迎。
电子密码锁作为一种新型的锁,不仅拥有海量的密齿,通常从10000到不等,还省去了传统机械锁的钥匙,利用者只要记得其密码,即能够开启,从而大大提高了防盗功能,本文要紧设计了一种以单片机89C51为核心的电子密码锁,详细的介绍了该电子密码锁完整的设计进程和外围的开锁电路和报警电路的设计。
电子密码锁要紧由三部份组成:键盘接口电路、电子密码锁的操纵电路、输出八段显示电路。
键盘接口电路包括时序产生电路、键盘扫描电路、弹抖排除电路、键盘译码电路。
电子密码锁操纵电路设计包括数字按键的数字输入、存储和清除、功能按键的功能设计、移位寄放器的设计和操纵、密码清除、变更、存储、报警信号产生电路密码查对、解除电锁电路。
输出八段显示电路包括数据选择电路、八段显示器扫描电路。
关键词:电子密码锁,89C51,键盘接口,输出八段显示AbstractEver since mankind started making locks since locks are used in long-term mechanical lock, the popular talk is marbles core lock. The traditional marbles core lock cylinder due to its own limited addition fine-toothed tool for unlocking the key to easy reproduction, so their safety is greatly reduced, as people improve the quality of life, how to achieve safe and effective anti-theft problem by growing concern. Because traditional mechanical locks poor safety performance, was a common occurrence pry contrast, electronic locks for its confidentiality, use good flexibility, high safety factor, the majority of users. Electronic code lock as a new type of lock, not only has a mass of fine-toothed, usually ranging from 10,000 to 10,000,000, also eliminates the traditional mechanical key to the lock, the user just remember their password, they can open, thus greatly improving anti-theft feature, this paper designed a 89C51 microcontroller core with an electronic lock, a detailed description of the complete electronic locks to unlock the design process and the external circuit and alarm circuit. Electronic code lock consists of three parts: the keyboard interface circuit, electronic lock control circuit, the output Ba Duan display circuit. Keyboard interface circuit including the timing generating circuit, the keyboard scanning circuit, bounce elimination circuit, the keyboard decoder circuit. Electronic code lock control circuit design, including digital key digital input, storage and clean, functional design of function keys, shift register design and control, password remove, change, to step down, storage, alarm signal generating circuit password check, the lifting power locks circuit. Ba Duan display circuit including the output data selection circuit, eight out display scanning circuit.Keywords: electronic code lock, 89C51, keyboard interface, the output shows eight out目录第一章绪论......................................... 错误!未定义书签。
基于51单片机的电子密码锁设计与应用研究
基于51单片机的电子密码锁设计与应用研究基于51单片机的电子密码锁设计与应用研究摘要:随着科技的不断发展,电子密码锁在我们的日常生活中被广泛应用。
本文以51单片机为核心,对电子密码锁进行了设计与研究。
通过对电子密码锁的原理、组成部分及其在实际应用中的优点进行了探讨,并详细介绍了设计过程和程序实现。
利用51单片机的高性能、低功耗和强大的扩展性,成功实现了电子密码锁的设计与应用。
实验结果表明,该电子密码锁具有良好的安全性和可靠性,可以满足人们对安全性的需求。
关键词:51单片机;电子密码锁;设计;应用;安全性引言随着信息技术和智能化的快速发展,电子密码锁作为一种安全可靠的门禁控制系统,已经在社会生活中得到广泛应用。
相比于传统的钥匙锁而言,电子密码锁具有更高的安全性、更方便的使用特点,成为现代化社会安全管理的重要组成部分。
51单片机作为一种常用的微控制器,具有高性能、低功耗、价格经济等优点,因此被广泛应用于电子密码锁的设计和研究中。
本文旨在通过基于51单片机的电子密码锁的设计与应用研究,探讨电子密码锁的工作原理、设计流程和实现方法,并对其在实际应用中的优势进行分析。
一、电子密码锁的原理与组成部分电子密码锁是一种基于数字电子技术的门禁控制系统,主要由输入模块、控制模块和输出模块组成。
1. 输入模块:输入模块主要用于输入开锁密码。
一般来说,输入模块可以使用按键、密码键盘、触摸屏等方式。
在本设计中,我们选择了密码键盘作为输入模块。
2. 控制模块:控制模块主要负责接收输入的密码并进行处理,判断是否正确并控制锁的开关状态。
51单片机就是一个常用的控制模块。
3. 输出模块:输出模块用于将控制模块的指令转化为实际操作,控制锁的开关或者报警功能。
一般来说,输出模块可以使用电磁铁、继电器、蜂鸣器等设备。
在本设计中,我们采用了电磁铁作为输出模块。
二、电子密码锁的设计过程1. 硬件设计电路连接:将密码键盘的输出与51单片机的输入口相连,将电磁铁与51单片机的输出口相连。
(完整版)基于51单片机的硬件加密锁毕业论文
本科学生主题论文论文题目:基于51单片机的硬件加密锁的设计与实现学院:电子工程学院年级:2011专业:电子信息工程姓名:陈丽君学号:指导教师:王英丽2014年4月23日摘要单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。
单片机即单片微型计算机(Single-Chip Microcomputer),是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。
其中51单片机是各种单片机中最为典型和最有代表性的一种,广泛应用于各个领域。
本课题选择MCS-51单片机为核心控制元件,设计了一个日常生活中用到的硬件加密锁系统。
该系统是由单片机系统及MAX232组成。
使用单片机汇编语言进行编程,实现了硬件加密锁的功能本论文主要介绍了硬件加密锁的软、硬件部分的设计,以及在设计、调试过程中遇到的问题及解决方案。
经过实践证明,本课题设计的该系统结构简单,稳定,造价成本低,功能完全,具有很强的实用性。
关键词8051单片机;硬件加密锁系统;MAX232AbstractThe single slice machine is the microcomputer which all integrates main calculator function parts on a piece of chip single slice machine namely single slice microcomputer(the Microcomputer of the Single-Chip), gather CPU, RAM, ROM, count to connect in the tiny controller of integral whole with variety in fixed time Among them 51 single slice machines is various single slice machine in is a typical model most and each realm.This topic choice MCS-51 single slice machine is a core control component, designed a daily life convenient arrive of the weaving a distance, the function which carries out of the design, adjust try the process of the problem and the solution pass by to practice a certificate, the system's structure of[with] this topic design simple, stabilize, build price cost low, function complete, .Key wordsSingle Chip Computer 805151 The )结构。
51单片机中 做红外遥控密码锁的课题论文毕业论文
51单片机中做红外遥控密码锁的课题论文毕业论文1.1 课题背景及目的电子技术的飞速发展,给古老的锁具生产带来了巨大的变革,现代的电子技术与机械技术相结合,产生了一大批如声控锁、磁控锁、密码锁、遥控锁,指纹锁等先进的锁具。
目前国外密码锁系统的主要方向的发展是:接触式密码锁系统,非接触式密码锁系统,智能识别密码锁系统,但是他们都相应的存在着不同的缺点。
例如:接触式密码锁系统成本较低,体积小,卡片本身无须电源,但使用不太方便,而且有接触磨损。
相比之下,红外遥控密码锁系统的成本与接触式密码锁系统相当,而且可以进行近距离遥控,使用十分方便。
而且它已经与 PC 机的数据库相结合,可以组成一套酒店房间的门禁管理系统。
由于红外遥控具有许多优点,例如红外线发射装置采用红外发光二极管遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
所以红外线遥控是目前使用最广泛的一种通信和遥控手段。
在本设计中,红外遥控密码锁和 PC 机、数据库相结合,能够实现适时的、强大的管理,使得整个红外遥控系统得到更好的完善。
1.2 国外研究现状目前大部分的锁采用的都是机械式的,其最大的缺点是利用简单工具就能很容易地把锁打开。
针对这种情况,我们设计了一种红外遥控密码锁,而一般设备都采用专用的遥控编码及解码集成电路,其制作简单、容易,但由于特定功能的限制,只适用于专用的电器产品,其应用围受到限制。
而设计的红外遥控密码锁系统能提高门禁系统的可靠性和安全性,适应市场需要。
该系统具有普通电子密码锁功能的同时,还增加了遥控功能。
该系统具有较强的实际应用价值,所涉及的技术包括:红外载波数据传输技术、单片机控制技术、红外遥控系统编码及译码技术、电路设计与演示板制作技术等。
基于51单片机的电子密码锁---毕业论文
目录摘要........................................................... I I Abstract ....................................................... I II1 绪论 (1)2 系统的总体设计和主要元器件介绍 (2)2.1 系统方案论证选择 (2)2.2 系统的总体思路设计 (3)2.3 主要元器件介绍 (3)2.3.1 AT89C51介绍 (3)2.3.2 继电器介绍 (6)2.3.3 LED数码管介绍 (7)2.3.4 矩阵键盘介绍 (7)3、硬件设计 (9)3.1 单片机主控制模块(含晶振、复位基本工作电路) (9)3.2 键盘输入模块 (9)3.3 显示模块 (10)3.4 报警模块 (11)3.5 开锁模块 (11)4、软件设计 (12)4.1 系统程序设计流程图 (12)4.2 系统程序设计 (12)5、系统仿真设计 (17)5.1 Proteus 软件介绍 (17)5.2 Proteus 仿真图 (18)总结 (19)参考文献 (20)附录 (21)致谢 (27)基于单片机的电子密码锁仿真设计摘要电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
本文以AT89C51单片机为核心器件,结合按键电路、LED数码管显示电路、报警指示电路和开锁机构,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的基本功能,其主要具有如下功能:●密码通过键盘输入,若密码正确,则将锁打开●密码输入错误,蜂鸣器将报警提示●用户可以自由设定密码本密码锁具有设计方法合理,简单易行成本低,安全实用等特点,具有一定的推广价值。
基于51单片机电子密码锁设计论文
基于单片机的电子密码锁设计1 绪论1.1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。
锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。
锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。
现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。
然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。
为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、锁具制作工艺,技术落后,无法阻止技术手段的开启。
目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。
在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。
”其实,不是他们多高明,而是一般锁具技术原理太过简单。
面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。
1.2 电子密码锁的背景随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。
在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。
(如指纹、眼底视网膜等)来控制锁的开启。
从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。
当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。
1.3 电子锁设计的意义的本设计特点单片机,亦称单片微电脑或单片微型计算机。
毕业设计(论文)-基于51单片机的指纹密码锁设计
基于51单片机指纹电子密码锁设计摘要随着人民生活水平的提高,如何实现家庭防盗这一问题也变得尤其突出,传统的机械锁由于其构造简单,安全性低,无法满足人们的需求。
随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器,所以具有防盗报警功能的电子密码锁控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码锁控制的密码量少,安全性能差的缺点。
在传统的身份认证中,我们往往使用密码加密法,但是这种方法只是"防君子不防小人"。
在高明的黑客眼里,由几个字符组成的密码脆弱得不堪一击。
现在,科技的发展让我们有了新的选择——生物识别技术。
将生物识别技术应用于笔记本、门锁等方面,可以对文件、财产起保护作用,并且可以进行身份识别。
生物识别技术的发展主要起始于指纹研究,它亦是目前应用最为广泛的生物识别技术。
本设计开发了一款基于单片机的指纹识别电子密码锁系统。
该系统以STC89C52单片机作为模块核心,通过串口通信控制ZFM-60指纹模块实现录取指纹并存储指纹数据,并通过HS12864-15C液晶显示比对流程及比对结果,辅以直流继电器与发光二极管模拟开锁的动作。
本系统具有体积小、性价比高、传输速度快、适合家庭及单位使用。
关键词:单片机,密码锁,指纹识别51 single fingerprint-based electronic code lockdesignABSTRACTWith the improvement of people's living standards, how to achieve family security issue has become particularly prominent, the traditional mechanical locks because of its simple structure, low security, can not meet people's needs. As electronic products to intelligent miniaturized and the continuous development of SCM has become the electronic product research and development preferred controller, the electronic lock control system with anti-theft alarm function gradually replace the traditional mechanical control systems with code, overcome password less, poor safety performance shortcomings of mechanical lock control.In traditional identity, we tend to use password encryption method, but this method only "anti-anti-villain is not a gentleman." In the eyes of clever hackers, password consists of several characters fragile too vulnerable. Now, the development of science and technology so that we have a new option - biometrics. The biometric technology used in notebook, door locks, etc., they can file for protection of property, and can be identifiable. biometric technology in fingerprint primary origin research, it is also the most widely used biometric technology.The system design of fingerprint recognition electron password lock based on Single-chip microprocessor is developed in the thesis. The system STC89C52 MCU as the core module, through the serial communication control ZFM-60 fingerprint module for taking fingerprints and store fingerprint data and liquid crystal display by HS12864-15C ratio than on the processes and results, supported by simulation of DC relays and LEDs unlock action. The system is small, cost-effective, and fast and suitable for families and units.Key Words:Single-chip microprocessor, password, Fingerprint recognition目录第一章绪论 (1)1.1课题研究意义 (1)1.2国内外指纹密码锁发展历史及现状 (3)1.3本文主要内容 (4)第二章整体设计方案 (5)2.1方案比较与论证 (5)2.2系统总体设计 (7)2.2.1 系统功能描述 (7)2.2.2系统总体框架 (7)2.3本章小节 (8)第三章系统硬件设计 (9)3.1单片机及最小系统 (9)3.1.1 STC89C52单片机介绍 (9)3.1.2外部晶振设计 (12)3.1.3复位电路设计 (13)3.2指纹模块设计 (15)3.2.1指纹识别技术简介 (15)3.2.2 指纹模块简介 (16)3.2.3 指纹模块指令 (18)3.2.4 指纹模块接口电路设计 (21)3.3按键电路设计 (21)3.4液晶显示模块设计 (23)3.4.1 FYD12864工作流程 (24)3.4.2 FYD12864指令说明 (24)3.4.3 FYD12864液晶显示接口电路设计 (29)3.5本章小节 (31)第四章系统软件设计 (32)4.1系统工作过程分析 (32)4.2主程序流程图 (33)4.3键盘程序流程设计 (35)4.4LCD显示模块程序流程设计 (35)4.5指纹识别程序设计 (36)4.5.1 指纹模块通讯协议说明 (36)4.5.2 指纹模版的采集存储 (38)4.5.3 指纹比对程序设计 (39)4.6K EIL编程 (40)4.7本章小结 (41)第五章实物制作与调试 (42)5.1电路的焊接 (42)5.2程序的烧写 (44)5.3小灯、继电器的调试 (45)5.4液晶的调试 (45)5.5指纹模块、按键的调试 (46)5.6本章小结 (47)总结 (48)参考文献 (49)附录一 (50)附录二 (51)英文原文 (56)中文翻译 (65)第一章绪论我们今天的工作生活中,很多场合需要身份验证。
(完整版)基于51单片机的电子密码锁毕业设计论文
(完整版)基于51单⽚机的电⼦密码锁毕业设计论⽂⽬录第1章绪论 (1)1.1电⼦锁的发展状况 (1)1.2设计电⼦密码锁的意义及相关技术指标 (1)第2章总体设计及⽅案论证 (2)2.1单⽚机模块 (2)2.2输⼊键盘模块 (2)2.2.1独⽴式按键 (2)2.2.2矩阵式键盘 (3)2.3数码管显⽰模块 (3)2.3.1 LED静态显⽰⽅式 (3)2.3.2 LED动态显⽰⽅式 (3)2.4电源模块 (3)2.4.1蓄电池供电 (3)2.4.2双路电源供电 (3)2.5开锁电路模块 (4)2.6报警电路模块 (4)2.7最优⽅案 (4)第3章硬件电路设计 (4)3.1输⼊键盘 (4)3.2显⽰数码管 (5)3.3开锁电路 (6)3.4报警电路 (6)3.5电源电路 (7)3.6复位电路 (7)3.7振荡电路 (8)第4章软件设计 (9)4.1主程序流程图及程序 (9)4.2延时⼦程序 (11)4.3修改密码⼦程序 (11)4.4扫描键盘输⼊⼦程序 (11)4.5中断及报警⼦程序 (12)4.6显⽰⼦程序 (13)第5章设计总结 (15)参考⽂献 (16)附录Ⅰ (17)附录Ⅱ (18)第1章绪论1.1电⼦锁的发展状况随着科技的发展,传统的机械锁被破解的概率越来越⾼了,新型的盗贼也学会了与时俱进,通过各种技术⽅法和⼿段即会在短时间内开启结构复杂的机械锁,会不留痕迹的登堂⼊室,给失主和警⽅留下各种不易解惑的疑团。
由此我们想到,要是在机械锁的基础上再装上⼀把电⼦锁,就彻底杜绝了单⼀机械锁易被开启的弊端,从⽽极⼤提⾼门锁的安全防范性能。
当今世界,电⼦锁发展已经到了⾮常⾼的境界,由于电⼦元件特别是单⽚机应⽤在最近⼏年得到空前发展,电⼦锁⽆论是在功能还是在稳定性⽅⾯都有了较⼤的提⾼,在保密性⽅⾯已经做到了密码识别、指纹识别、⼈声识别等。
就整体形势⽽⾔,电⼦锁在国外发展⽐较早,所以应⽤也⽐较⼴泛,主要⽤于家庭门锁,银⾏公司等的财务保险柜锁和政府机关及⾼级宾馆等重要场合的智能控制门锁等。
基于51单片机的密码锁设计
基于单片机的密码锁设计1 引言1.1设计目的随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。
电子密码锁就是通过键盘输入一组密码完成开锁过程。
研究这种锁的初衷,就是为提高锁的安全性。
目前,国内自行研制开发的电子锁,应用还不广泛。
国内的不少企业也引进了世界上先进的技术,发展前景非常可观。
希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。
1.2设计要求本次课程设计要求使我们能够掌握并且实际运用课本知识。
通过利用所学的电子技术知识正确分析并设计电路,将适当电路运用到实际电路中,将课本知识转化为实际能力。
1.3设计方法(1)系能够从键盘中输入密码,并相应地在显示器上显示…*‟;能够判断密码是否正确,正确则开锁,错误则输出相应信息。
(2)密码由程序直接设定,不可用户自己设定。
(3)具有自动报警功能。
密码不正确,相应红灯亮,蜂鸣器发出报警声来提示。
(4)具有手动复位功能。
2设计方案及原理2.1系统总体设计根据以上分析,本次电子密码锁设计的主要重点是以下几个部分:4x3矩阵键盘设计、LCD信息显示和密码的比较和处理。
当然,除了这几个部分外还有报警等功能模块。
其中矩阵键盘用于输入数字密码和进行各种功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路是报警。
系统整体框图如图1所示。
图1 系统整体框图2.2本设计硬件资源分配P3.0~P3.7用于LCD液晶显示作用。
P1.6、P1.7用于蜂鸣器和报警灯的控制。
P1.4用于开锁电路的控制。
P2.0~P2.7用于键盘电路的控制。
P1.0~P1.2用于LCD显示模块的控制端口的控制。
3硬件设计3.1.1芯片选择本次设计采用AT89C51贴片芯片,AT89C51是一个低电压,高性能CMOS 8位单片机,通过用Keil软件编写程序,然后装到单片机里面去,然后让它对整个系统进行信息的处理,如可以让它处理矩阵键盘传过来的信息,并根据编好的程序来确定哪个按键按下,并处理相应按键对应的功能,然后把相应的信息反应到单片机的各个引脚,来实现按键实现的现象,如:显示是否开启锁,报警等。
基于51单片机的密码锁论文
摘要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。
具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
本系统由STC89C51单片机系统(主要是STC89C51单片机最小系统)、4×4矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能。
关键词: STC - 89C51、LCD1602、电子密码锁、4×4矩阵键盘AbstractIn our daily life and work, the security of residential and department, the file of the unit, the financial report and the preservation of some personal data are more and more. If using the traditional mechanical key to unlock, people often need to carry more than the key, the use of extremely inconvenient, and the key is lost after the security is greatly reduced. It is an inevitable trend to have a mechanical cipher lock which has the function of anti theft alarm, less password lock, less security. With the continuous development of science and technology, people's daily life in the safety of the device is increasingly high requirements. In order to meet the requirements of the use of the lock, increase its security, with a password to replace the key to the password lock came into being. The password lock has the advantages of high security, low cost, low power consumption, easy operation, remember password can unlock and so on.At present, most of the electronic cipher lock is based on SCM technology, with the single chip microcomputer as the main device, the encoder and decoder are generated as the software mode.This system is composed of STC89C51 microcontroller system (STC89C51), 4 * 4 matrix keyboard, LCD1602 display and alarm system, etc., which has the functions of setting up and modifying six user passwords, super alarm, super lock, password error alarm and so on.Key words:STC - 89C51;LCD1602;Electronic password lock;4×4keyboard目录1.引言 (1)1.1.研究背景 (1)1.2.设计内容及要求 (1)2.硬件设计 (3)2.1.系统整体设计 (3)2.2.子电路设计 (4)2.2.1.单片机STC89C51简介 (4)2.2.2.AT24C02存储芯片 (6)2.2.3.LCD显示模块 (8)2.2.4.键盘设计 (11)2.2.5.声音提示模块 (12)2.2.6.继电器控制模块 (13)3.软件设计 (15)3.1.系统整体流程图 (15)3.2.键盘扫描子程序 (16)3.3.系统模块密码设置子程序 (16)3.4.开锁子程序 (18)4.调试与测试 (19)4.1.焊接注意事项: (19)4.1.1.LCD的注意事项 (19)4.1.2.单片机焊接注意事项 (19)4.1.3.其他的电子器件焊接须知 (19)4.2.硬件调试问题及解决方法 (20)4.3.测试结果 (20)5.总结与展望 (22)参考文献 (23)附录 (24)附录A:仿真图 (24)附录B:C语言主要程序 (24)附录C:实物图 (30)附录D:设计分工 (30)1.引言1.1.研究背景随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。
基于51单片机电子密码锁的设计与实现
基于51单片机电子密码锁的设计与实现摘要:截至目前为止,人民群众在进行安全密保工作的过程之中,已经开始逐步使用电子密码锁。
与此同时,在电子密码锁的应用过程之中,可以有效的提升安全防护的安全性和可靠性。
具体的来说,就是以51单片机作为主控芯片,结合4x4的矩阵键盘,以及相应的LCD 显示和报警模块,来实现电子密码锁的设计与实现过程,与此同时,通过该设计方式,用户还可以自主的进行密码的设定和修改,远程的对电子密码锁进行控制,有着一定的推广可行性。
关键词:51单片机;电子密码锁;设计;实现Design and implementation based on 51 single chip microcomputer electroniccombination lockAbstract:At present, in the process of encrypted for security, the main use of combination lock is with automatic alarm function of electronic combination lock, through the use of treated woman combination lock, can effectively overcome the traditional mechanical combination lock security is high enough. Against such a situation, this design is mainly introduced the design and implementation based on 51 single chip microcomputer electronic combination lock.Concrete, was based on 51 single chip microcomputer as main control chip, the combination of 4 x4 matrix keyboard, and the corresponding LCD display and alarm module, to achieve electronic combination lock design and implementation process, at the same time, through this design approach, the user can also free to set and modify the password, remote to control electronic combination lock, has certain feasibility.Keywords:51 single chip microcomputer; Electronic combination lock; Design; implementation目录第1章绪论 (1)1.1 研究背景 (1)1.2 研究意义 (1)1.3 国内外的研究现状及发展趋势 (1)第2章设计整体框架 (2)2.1 电子密码锁系统框图 (2)2.2 采用51单片机的优缺点 (2)第3章电子密码锁硬件电路的设计 (4)3.1 控制模块的设计 (4)3.1.1 51单片机简介 (4)3.1.2 51单片机引脚描述 (4)3.1.3 51单片机内部的复位电路 (5)3.2 显示模块的设计 (5)3.3.1 液晶显示屏类型介绍 (5)3.3.2 液晶显示屏引脚介绍 (5)3.2.3 指令操作 (5)3.3 按键模块的设计 (6)第4章电子密码锁的软件设计 (7)4.1 软件介绍 (7)4.2 主程序设计 (7)4.3 模块程序设计 (7)4.3.1 显示程序设计 (7)4.3.2 电机程序设计 (8)4.3.3 按键程序设计 (8)4.4 软件调试 (8)5 总结 (9)致谢 (10)参考文献 (11)第1章绪论1.1 研究背景随着电子科学技术的不断发展,各种新型的电子信息控制技术已经可以应用到人类社会生活的各个领域之中。
(完整版)基于单片机的电子密码锁参考毕业论文设计
毕业论文题目:基于单片机的电子密码锁的设计专业:通信工程摘要单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。
本密码锁的主控芯片采用价格实惠而且容易购买的 STC89C52芯片。
密码输入采用矩阵键盘及独立键盘,密码显示采用共阴极的八段显示数码管。
系统能完成密码输入、正确开锁、超次报警这些基本的密码锁的功能。
系统的软件实现采用功能强大且易于开发的KeilC51环境,且支持ISP下载。
因此没使用编程器,用C 语言实现系统的软件部分。
由于51单片机也有一些不足之处如断电后内部RAM储存的数据会完全丢失,为了克服这一缺点,系统的外围加了掉电存储电路并且由AT24C02芯片来实现。
此设计具有安全性高、价格低廉便于实现、易于改进等优点。
【关键词】电子密码锁STC89C52矩阵键盘 AT24C02ABSTRACTMCU widely used in the security password protection aspect anti-theft alarm function electronic combination lockgradually replace the traditional mechanical trick lock,it also overcome the security problems that thepassword of machinery combination lock are too few.This combination lock's master chip adopts STC89C52which is affordable and easy to buy.Password’s inputadopt matrix keyboard and independent keyboard,password's display using the erection of the cathodetube display digital. This system can accomplishpassword input, correct unlock, super times alarm ,these basic combination lock function . Softwarerealization of this system is used in KeilC51environment .it is powerful and easy to develop, and tosupport ISP to download. Therefore it is not useprogrammer, use C language implementation softwareof system components. Because 51MCU also order to,the system's periphery added off electricity storagecircuit and use AT24C02 chip to overcome theseshortcomings. This design lock STC89C52 Matrixkeyboard AT24C02前言随着社会物质财富的日益增长,安全防盗已成为社会问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的密码锁设计1 引言1.1设计目的随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。
电子密码锁就是通过键盘输入一组密码完成开锁过程。
研究这种锁的初衷,就是为提高锁的安全性。
目前,国自行研制开发的电子锁,应用还不广泛。
国的不少企业也引进了世界上先进的技术,发展前景非常可观。
希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。
1.2设计要求本次课程设计要求使我们能够掌握并且实际运用课本知识。
通过利用所学的电子技术知识正确分析并设计电路,将适当电路运用到实际电路中,将课本知识转化为实际能力。
1.3设计方法(1)系能够从键盘中输入密码,并相应地在显示器上显示…*‟;能够判断密码是否正确,正确则开锁,错误则输出相应信息。
(2)密码由程序直接设定,不可用户自己设定。
(3)具有自动报警功能。
密码不正确,相应红灯亮,蜂鸣器发出报警声来提示。
(4)具有手动复位功能。
2设计方案及原理2.1系统总体设计根据以上分析,本次电子密码锁设计的主要重点是以下几个部分:4x3矩阵键盘设计、LCD信息显示和密码的比较和处理。
当然,除了这几个部分外还有报警等功能模块。
其中矩阵键盘用于输入数字密码和进行各种功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路是报警。
系统整体框图如图1所示。
图1 系统整体框图2.2本设计硬件资源分配P3.0~P3.7用于LCD液晶显示作用。
P1.6、P1.7用于蜂鸣器和报警灯的控制。
P1.4用于开锁电路的控制。
P2.0~P2.7用于键盘电路的控制。
P1.0~P1.2用于LCD显示模块的控制端口的控制。
3硬件设计3.1.1芯片选择本次设计采用AT89C51贴片芯片,AT89C51是一个低电压,高性能CMOS 8位单片机,通过用Keil软件编写程序,然后装到单片机里面去,然后让它对整个系统进行信息的处理,如可以让它处理矩阵键盘传过来的信息,并根据编好的程序来确定哪个按键按下,并处理相应按键对应的功能,然后把相应的信息反应到单片机的各个引脚,来实现按键实现的现象,如:显示是否开启锁,报警等。
AT89C51 提供以下标准功能:4k字节Flash闪速存储器128字节部RAM,32 个I/O 口线两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89C51的引脚图如图2所示。
图2 AT89C513.1.2 单片机最小系统设计单片机最小系统就是指能使单片机工作的最少的器件构成的系统。
因为单片机已经包含了数据存储器和程序存储器,所以只要在其外部加上时钟电路和复位电路就可以构成单片机最小系统。
(1)单片机工作需要晶振给CPU提供频率,时钟电路就是给单片机提供晶振频率的电路。
图3是时钟电路的PROTEUS仿真图。
图3 时钟电路单片机允许的振荡晶体可在1.2~24MHz之间选择,一般为11.0592MHz,电容C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,可在20~100pF之间选择,典型值位30pF(2)计算机每次开始工作,CPU和系统中的其他部件都必须要有一个确定的初值,即复位状态。
图4是单片机复位电路仿真图。
图4 复位电路单片机RST引脚是高电平有效。
单片机在上电瞬间C1充电,RST引脚端出现正脉冲,只要RST断保持两个机械周期(大约10ms)以上的高电平,单片机就能复位。
在单片机工作后,如果还想再次复位,只需按下开关,单片机就能重新变成复位状态。
当晶体振荡频率为12MHz时,RC的典型值为C=10μF,R=8.2KΩ。
3.1.3 矩阵键盘设计一组键或者一个键盘,需要通过接口电路和CPU相连接,CPU可以采用查询接口或者中断的方式了解有没有键被按下,并检查是哪个键被按下。
无论是查询方式还是中断方式都要用到单片机的I/O口。
由于单片机I/O口较少的原因,当系统中需要用到较多按键时,为了能够更合理更有效地利用单片机的I/O口,一般采用矩阵键盘的方式来实现多按键的功能。
图5是4x3矩阵键盘在PROTEUS中的电路原理仿真图。
图5 4x3矩阵键盘矩阵键盘又叫做行列式键盘。
行列式键盘的硬件结构比较简单,由行输出口和列输出口构成行列式键盘,按键设置在行、列交点上。
只有当键被按下时相应的行和列才能相连。
如此,只要检测行和列是否相连就可以知道是否有键按下。
由于按键设置在行、列线交点上,行、列分别连接到按键开关的两端,平时无键按下时,行线处于高电平,假设列线为低电平,当有键按下时,按下的键就会将相应的行和列连通,使得对应的行线被列线拉低,也变为低电平。
这就是识别矩阵键盘是否有键被按下的关键。
当确定有键被按下时,通过逐行扫描,读出I/O口的值可以知道哪一行的值被改变了,被改变了的行即是被按下的按键所在行。
同时,由于每个键都有它的行值和列值,行值和列值得组合就是这个按键的编码,当算法一定时,每个按键的编码是固定的,且各个按键的编码互不相同,所有通过读I/O的值还能具体知道是哪一个键被按下,这样就实现了键盘的识别。
3.1.4 LCD显示模块设计LCD1602是一种字符型液晶显示器,是一种专门用于显示字母、数字、符号等的点阵式液晶显示器。
LCD1602的显示容量为16x2个字符(可以显示2行,每行显示16个字符),芯片工作电压为4.5~5.5V,工作电流为2.0mA(5.0V),模块最佳工作电压是5.0V。
LCD1602具有16个引脚。
在LCD1602的有关设计中,主要是通过编写程序控制LCD1602的4、5、6引脚来实现数据或者指令的写入和执行,再通过数据或者指令的写入和执行来进一步实现LCD1602的显示功能。
查资料了解在仿真库中用lm016l代替LCD602图6是PROTEUS中显示模块的仿真图。
由于LCD要正常工作必须提供足够的电流,因此在实际应用为了保证显示器能够正常工作,应在数据端口接一上拉电阻,不过此次仿真就没有另外加上拉电阻。
图6 LCD显示电路3.1.5报警模块、开锁模块以及表示模块开锁模块用继电器带一个LED管代替电磁锁。
电路如图7所示;报警模块用蜂鸣器表示,电路如图8所示;表示模块用发光二极管表示开锁与否。
图7 开锁电路图8 报警电路3.2硬件连接图根据电路原理,在PROTEUS中画出各功能模块的仿真图,各个功能模块验证正确后,将所有模块集合到一个电路设计图中,画出具有所有功能的总体硬件仿真图。
图9 硬件连接图在设计过程中,采用单片机AT89C51作为主控芯片,结合键盘输入、显示电路、报警电路、开锁电路、时钟电路、晶振电路,利用合理的连线接成硬件连接图,在Proteus软件平台上选中合适的AT89C51芯片,LCD显示器,键盘,以及其它电子元件,接成电路。
3.3设计原理系统工作时,用户通过按键输入6位密码,单片机将输入密码与设定密码进行比较,若密码正确,则相应绿灯闪烁,同时发出开锁信号,将门打开,系统不报警;若密码不正确,则相应的红灯亮闪烁,同时蜂鸣器发出报警声音。
4软件设计4.1程序设计C语言编程,源程序清单如附录1所示。
4.2程序流程图流程图如图4。
图4 程序的流程图5系统仿真及实际调试5.1Proteus 仿真图仿真结果密码正确,LCD显示器显示“open”,绿灯亮。
仿真图如附录2所示。
5.2问题分析电源、晶振电路和复位电路都无异常,LCD显示时出现问题:(1)刚开始蜂鸣器声音太小几乎听不清楚,后来加了一个三极管放大后声音变大。
(2)接通电源开门灯和报警电路就会工作,分析原因是单片机刚开始各个管脚输出低电平。
(3)开锁电路完成后继电器不吸起,后来经过调试加三极管等等方法后实现了继电器吸起LED灯亮。
6总结本次设计,采用单片机AT89C51作为主控芯片,结合外围的键盘输入、显示、报警、开锁等电路,用C语言编写主控芯片的控制程序,设计了一款具有报警功能的电子密码锁。
对于本次单片机课程设计,我觉得十分有意义且很有必要。
课堂上,我们大多数接触的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?像此次课程设计就为我们提供了良好的实践平台。
过程中我发现了很多问题,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我在以后的学习中,应该注意到这一点,更重要的是我要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我以后就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的毕业设计,在以后的学习中我会更加努力,力争把这门课学好,学精。
同时,通过本次毕业设计,巩固了我学习过的专业知识,也使我们把理论与实践从真正意义。
另外,通过这两周对电子密码锁的研究和学习,我认为本次设计中使用的这种键盘输入密码的方式可以进行改革。
在越来越高科技化的今天,遥控控制显的愈发重要,今后的电子密码锁应该具有以红外技术或无线电技术为辅助的密码按键输入远程交互技术,这样就能远程输入密码完成操作。
也可以放弃传统的按键输入密码模式,借助传感器技术运用声控来实现密码输入,又或者使用人脸识别技术,或者用户指纹识别技术代替传统的按键输入,这些都可以使开锁的时间更短更方便,同时使锁更安全。
最后也感指导老师这两周对我课设中存在的问题进行详细的解答与帮助。
参考文献[1] 自美.电子线路设计实验测试[M].:华中理工大学,1992.[2] 湘涛.江世明.单片机原理与应用[M]. :电子工业,2006.[3] 光才.单片机课程设计实例指导[M].:航空航天大学,2004.[4] 王思明等编著.单片机原理及应用系统设计 .:科学,2012.附录1源程序#include<reg51.h>#include<intrins.h>#define uchar unsigned charsbit rs=P1^0; //寄存器选择位将rs定义为p1.0的引脚sbit rw=P1^1; //读写选择位将rw定义为p1.1的引脚sbit en=P1^2; //使能信号位将en定义为p1.2的引脚sbit ledg=P1^3;sbit ledr=P1^7;sbit relay=P1^4;sbit buzz=P1^6;char table0[]="error";char table1[]="open";char table2[]="password:"; //int temp,ch,m0,m1,p,n0,n1,n2,n3,n4,n5;void delay(int z){int x,c;for(x=z;x>0;x--)for(c=100;c>0;c--);}keyscan(){temp=P2&0xf0;P2=0xfe;delay(1);temp=P2&0xf0;while(temp!=0xf0){switch(temp){case 0xe0:ch='7';break;case 0xd0:ch='8';break;case 0xb0:ch='9';break;default:ch=p; break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}}P2=0xfd;delay(1);temp=P2&0xf0;while(temp!=0xf0){switch(temp){case 0xe0:ch='4';break;case 0xd0:ch='5';break;case 0xb0:ch='6';break;default:ch=p;break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}}P2=0xfb;delay(1);temp=P2&0xf0;while(temp!=0xf0){switch(temp){case 0xe0:ch='1';break;case 0xd0:ch='2';break;case 0xb0:ch='3';break;default:ch=p;break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}}P2=0xf7;delay(1);temp=P2&0xf0;while(temp!=0xf0){switch(temp){case 0xe0:ch='A';break;case 0xd0:ch='0';break;case 0xb0:ch='B';break;default:ch=p;break;}while(temp!=0xf0){temp=P2;temp=temp&0xf0;}}return ch;}void wcom(uchar ){rs=0;P3=;delay(1); //写命令延时可以为1en=1;delay(1); //写命令延时可以为1en=0;}void wdat(uchar dat){rs=1;P3=dat;delay(1); //此处写数据延时可以为1 en=1;delay(4); //此处写数据延时至少为4 en=0;}void init(){en=0;wcom(0x38);wcom(0x0c);wcom(0x06);wcom(0x01);}void error(){char m2;wcom(0xc6);for(m2=0;m2<5;m2++){wdat(table0[m2]);}}void open(){char m2;wcom(0xc6);for(m2=0;m2<4;m2++){wdat(table1[m2]);}}void pass(){char m2;wcom(0x80);for(m2=0;m2<9;m2++){wdat(table2[m2]);}}change(int m){delay(500);wcom(m);wdat('*');}main(){rw=0;ledg=0;ledr=0;relay=0;buzz=0;init();delay(5);pass();wcom(0x89);while(keyscan()==p) {delay(3);keyscan();}wdat(keyscan());n0=keyscan(); change(0x89);delay(10);ch=p;while(keyscan()==p) {delay(3);keyscan();}wdat(keyscan());n1=keyscan(); change(0x8a);ch=p;while(keyscan()==p) {delay(3); keyscan();}wdat(keyscan());n2=keyscan(); change(0x8b);ch=p;while(keyscan()==p) {delay(3);keyscan();}wdat(keyscan());n3=keyscan(); change(0x8c);ch=p;while(keyscan()==p) {delay(3);keyscan();}wdat(keyscan());n4=keyscan();change(0x8d);ch=p;while(keyscan()==p){delay(3);keyscan();}wdat(keyscan());n5=keyscan();change(0x8e);if(n0=='2'&&n1=='0'&&n2=='1'&&n3=='4'&&n4=='1'&&n5=='9') {int m3=1;open();relay=1;delay(3000);relay=0;while(m3){int m4,m5;ledg=0;for(m4=200;m4>0;m4--){keyscan();if(keyscan()=='A'){m4=0;m3=0;}}ledg=1;if(m3!=0){for(m5=200;m5>0;m5--){keyscan();if(keyscan()=='A'){m3=0;}}}}}else{ledr=1;error();buzz=1;delay(5000);}附录2Proteus仿真。