基于单片机的电子密码锁的设计

合集下载

毕业设计(论文)-基于单片机控制的电子密码锁设计

毕业设计(论文)-基于单片机控制的电子密码锁设计

基于单片机控制的电子密码锁设计目录摘要 (I)关键词 (I)Abstract ................................................................................................................... I I Key words ............................................................................................................... I I 1 绪论. (1)1.1 课题背景 (1)1.2 课题的目的和意义 (1)1.3 电子密码锁发展趋势 (1)1.4 本设计完成的工作 (2)2 总体方案设计 (2)2.1 电源模块 (3)2.2主控制器模块 (3)3 硬件实现及单元电路设计 (4)3.1 主控制模块 (4)3.2 单片机的时钟电路与复位电路设计 (4)3.3 单片机管脚说明 (5)3.4 键盘电路设计 (6)3.5 数码管显示电路设计 (6)3.6 存储芯片电路设计 (7)3.7 报警电路 (7)3.8 密码锁电路 (7)4 红外遥控电路设计 (8)4.1 红外通信基本原理 (8)4.2红外通信标准 (9)4.3 红外线遥控原理 (10)4.4 主要模块设计 (10)5 系统软件设计方案 (11)5.1 主程序流图 (11)5.2 开锁软件设计 (12)6 系统的安装与调试 (15)6.1硬件的安装 (15)6.2单片级密码锁的仿真 (16)结论 (16)致谢 ...................................................................................... 错误!未定义书签。

参考文献 (17)附录1 整机电路原理图 (18)附录2 部分源程序 (18)附录3:实物图 (27)基于单片机控制的电子密码锁设计摘要:本设计研究的对象是单片机密码锁,单片机密码锁由硬件和软件组成,硬件部分有电源输出电路、晶振电路、复位电路、键盘接口电路、开锁电路、报警电路、继电器、以及51单片机组成。

基于单片机电子密码锁设计论文

基于单片机电子密码锁设计论文

第1节引言1.1 电子密码锁概述随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。

而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。

传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。

另外,如:宾馆、办公大楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。

随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。

从而使密码锁具有很高的安全性、可靠性。

目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。

但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。

很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。

电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲睐。

设计本课题时构思的方案:采用以AT89C2051为核心的单片机控制方案;能防止多次试探而不被破译,从而有效地克服了现实生活中存在的许多缺点。

1.2 本设计主要任务(1)共8位密码,每位的取值范围为1~8。

(2)用户可以自行设定和修改密码。

(3)按每个密码键时都有声、光提示。

(4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意。

(5)开锁密码错3次要报警10分钟,报警期间输入密码无效,以防窃贼多次试探密码。

(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的提示音。

(7)密码键盘上只允许有8个密码按键和1个发光管。

基于单片机的电子密码锁毕业论文设计

基于单片机的电子密码锁毕业论文设计

本科毕业设计(论文)题目基于单片机的电子密码锁设计院(系部)河北大学专业名称电子信息工程年级班级学生姓名指导教师2011年月日摘要本课题设计了一种基于单片机的数字电子密码锁,这种数字电子密码锁以单片机作为数据处理主控芯片。

电子密码锁的设计主要由四部分组成:4×4矩阵键盘接口电路、以AT89S52芯片为核心的密码锁的数据处理及控制电路、掉电情况下依然能保存密码的EEPROM存储器芯片,输出七段显示电路。

另外系统还有LED提示灯,报警蜂鸣器,单片机复位电路等。

电子密码锁设计的关键问题是实现密码的输入、清除、开锁、更改等功能。

同时该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅,办公室等场所的用锁要求,具有推广价值。

关键词单片机密码锁 4*4矩阵键盘 EEPROM存储芯片实用经济AbstractThis project designed a digital electronic lock which used a MCU as data process and control chip. The main functions digital electronic lock are as follows:The design of the electronic password lock is mainly made up of four parts: 4×4 matrix keyboard interface circuit, data processing and control circuit, eeprom memory chip that is used to keep password when the lock loses power and display circuit. In addition the system also consists of LED lights, alarm buzzers, single-chip reset circuit and so on..The key question of the electronic lock designing is the realization of functions, such as the input password, clear password, unlock, change password and other functions.And the designed cipher lock is characterized by its reasonable designing methods, simple operation, low cost and property of safety and practicality.Besides,it works well as a residence lock and has great potential for commercial development.Key words: SCM Cipher lock 4*4matrix keyboard EEPROM Practical economy目录1 绪论 (1)1.1国内外研究综述 (1)1.2选题的目的和意义 (2)1.3本论文的任务 (3)2电子密码锁总体设计 (4)2.1系统总体设计 (4)2.2单片机 (5)2.3密码存储芯片选择 (10)2.4键盘输入方案比较 (12)2.5显示方案比较 (13)3电子密码锁的硬件设计 (1)3.1系统结构框图 (1)3.2主控部分 (2)3.3显示部分 (3)3.4键盘输入部分 (4)3.5密码存储部分 (5)3.6电源部分 (5)3.7其它功能部分 (8)3.8 电子密码锁的电路原理图 (10)4电子密码锁的软件组成 (12)4.1系统软件设计流程 (12)4.2 Keil uVision2软件介绍 (13)4.3各主要部分的功能实现程序设计 (14)4.3.1初始化程序设计 (14)4.3.2按键处理程序设计 (17)4.3.3密码更改程序设计 (21)5系统仿真 (24)5.1系统仿真过程 (24)5.2仿真调试中遇到的问题及解决办法 (25)总结 (1)致谢 (2)参考文献 (3)附录 (4)1 绪论1.1国内外研究综述在电子锁出现以前人们广泛的使用机械锁,但是随着时间的推移机械锁已不能满足人们的要求,于是电子锁应用而生。

基于单片机的电子密码锁

基于单片机的电子密码锁

基于单片机的电子密码锁第一章序言电子密码锁作为一种现代化的安全防护设备,被广泛应用于家庭、商业和公共场所。

它与传统机械锁相比具有更高的安全性、更方便的使用方式以及更多的功能。

而基于单片机的电子密码锁则利用现代电子技术,结合单片机的强大功能,实现了更高级别的安全保护和智能化操作。

本文将深入探讨基于单片机的电子密码锁的原理、设计和应用。

第二章基本原理基于单片机的电子密码锁的基本原理是利用数字密码的输入和比对来控制锁的开关。

系统通过单片机将输入的密码与预设密码进行比对,如果输入正确,则单片机控制锁的电机将锁打开。

同时,还可以通过单片机对其他功能的控制,例如报警装置、指纹识别、密钥卡等。

基本原理可以总结为三个步骤:密码输入、比对判断和锁的控制。

第三章设计方案基于单片机的电子密码锁的设计方案包括硬件设计和软件设计两个方面。

硬件设计的主要组成部分有密码输入模块、单片机模块、电机控制模块和电源模块。

密码输入模块一般使用键盘或者触摸屏来实现密码的输入,单片机模块负责接收输入的密码,并与预设密码进行比对,电机控制模块用于控制锁的开启和关闭,电源模块提供系统的电能。

软件设计则是基于单片机的程序设计,包括密码输入、比对判断和控制电机的相关代码。

第四章功能拓展基于单片机的电子密码锁除了基本的密码输入和开锁功能外,还可以拓展其他功能。

例如,可以增加报警功能,当密码输入错误次数达到一定次数时,系统将触发报警器或者发送警报信息;还可以新增指纹识别功能,通过将指纹信息存储在单片机中,实现指纹的输入和认证,提高门锁的安全性;另外,还可以添加密钥卡功能,通过感应技术读取密钥卡上的信息,实现无需输入密码的开锁方式,提升用户体验。

第五章应用前景基于单片机的电子密码锁在家庭、商业和公共场所都有广泛的应用前景。

在家庭使用方面,电子密码锁可以取代传统的机械锁,提供更高的安全性,可以对家庭成员的出入进行控制;在商业使用方面,电子密码锁可以应用于办公室、酒店、银行、医院等场所,实现门禁和权限控制,保护重要信息的安全;在公共场所使用方面,电子密码锁可以应用于公共厕所、储物柜、车库等场所,提供更方便快捷的开锁方式。

基于单片机电子密码锁的设计原理

基于单片机电子密码锁的设计原理

本科生毕业设计目录设计总说明 (I)DESIGN INTRODUCTION ................................................................ 错误!未定义书签。

第1章绪论 . (1)1.1背景 (1)1.2电子锁 (1)1.3电子密码锁的特点 (1)1.4电子密码锁的发展趋势 (2)第2章系统总体设计 (2)2.1系统结构 (3)2.2 系统组成 (3)2.3 系统可行性分析 (3)第3章硬件电路设计 (4)3.1单片机AT89C51简介 (4)3.1.1 主要特性 (5)3.1.2 管脚说明 (5)3.1.3 震荡特性 (7)3.1.4 芯片擦除 (7)3.2 4×4矩阵键盘 (7)3.3复位电路 (8)3.4 振荡电路 (8)3.5 数码管 (8)3.6 发光二极管LED (9)3.7 电动锁 (10)3.8 蜂鸣器 (10)3.9 完整电路图 (11)第4章软件程序设计 (13)4.1软件设计流程图 (14)4.2 具体功能软件实施 (15)第5章结束语及展望 (21)第6章鸣谢 (22)第7章参考文献 (23)附录 (22)设计总说明在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。

若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。

随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。

为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

密码锁具有安全性高、成本低、功耗低、易操作等优点。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。

随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

基于单片机的指纹识别电子密码锁设计

基于单片机的指纹识别电子密码锁设计

基于单片机的指纹识别电子密码锁设计引言指纹识别技术的发展得益于现代电子集成制造技术和快速可靠的算法的研究。

尽管指纹只是人体皮肤的小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的相等与不相等的问题,而是使用需要进行大量运算的模糊匹配算法。

现代电子集成制造技术使得我们可以制造相当小的指纹图像读取设备,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行两个指纹的比对运算的可能。

另外,匹配算法可靠性也不断提高,指纹识别技术己非常实用。

指纹识别原理指纹识别技术的原理和其它生物识别技术的原理相似。

它是利用人体的指纹特征对个体身份进行区分和鉴定。

在所有的生物识别技术中指纹识别技术是目前最为成熟,也被应用最广的生物识别技术。

这主要因为指纹采用的过程对人们来讲非常简单,指纹识别的准确率高的原因。

严格来讲,指纹识别的原理包括指纹采集原理、指纹特征提取原理和指纹特征匹配原理三大部分。

指纹采集原理主要是根据指纹的几何特性或生理特性,通过各种传感技术把指纹表现出来,形成数字化表示的指纹图案。

由于指纹的嵴和峪的几何特征不同,主要表现为嵴是突起的,峪是凹下的,所以在接触到光线时,其反射光的强度也就不同。

在接触到平面时,其在平面上形成的压力也就不同。

另一方面,由于指纹的嵴和峪的生理特征不同,主要表现为:嵴和峪的温度不同,其导电性也不同,其对波长的反馈也就不同。

通过这些几何的、生理的特性的不同,把人的指纹采集到计算机系统中形成指纹图像。

指纹特征分析的原理是对指纹图案的整体特征和细节特征进行提取、鉴别的原理。

其分析的对象包括纹形特征和特征点的分布、类型,以及一组或多组特征点之间的平面几何关系。

特征点的平面几何关系表现为某个特征点之间的距离等,或者某三个或更多特征点之间组成的多边形的几何特性。

不论是特征点的单体特征,还是特征点的组合特征都是指纹特征的组成部分。

把这些指纹特征用数字模板的形式表示出来,就实现了一个指纹特征分析的过程。

毕业设计(论文)-基于单片机的电子密码锁设计

毕业设计(论文)-基于单片机的电子密码锁设计

目录单片机电子密码锁的设计 (1)第1章绪论 (3)1.1引言 (3)1.2电子密码锁的背景 (3)1.3电子锁设计的意义的本设计特点 (4)第2章系统总体方案设计 (5)第3章硬件电路设计 (8)3.1键盘电路设计 (8)3.2LED显示电路 (9)3.3开锁电路 (11)3.4报警电路 (12)第4章软件设计 (12)4.1软件设计思路 (12)4.2各子程序设计 (13)第5章系统调试 (18)第6章单片机电子密码锁的应用趋势 (19)第7章设计总结与展望 (19)附录 (23)源程序清单 (23)单片机电子密码锁的设计摘要:随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。

本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。

根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。

而且采用键盘输入的电子密码锁具有较高的优势。

采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。

软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。

测试结果表明,本系统各项功能已达到本设计的所有要求。

关键词:单片机;密码锁;单片机设计,电子锁。

The design of electronic locks SCMABSTRACT:Along with the exaltation of social science and the living level of people, how carry out the family to guard against theft, this problem also change particularly outstanding.Because of the simple construct of traditional machine lock,the affairs of theft is hackneyed.the electronics lock is safer because of its confidentiality, using the vivid good, the safe coefficient is high, being subjected to the large customer close.It can carry out the key information to register in the main on board initial attestation, the password information encrypt etc. Go to correspond by letter the principle according to the string between 51 machines, this is easy to encrypt and protect to the passwords information random. Adopt the numerical signal codes,not only can carry out many controls of the road information, raise the anti- interference that signal deliver, reduce the mistake action,but also the power consume is low,Respond quickly,the efficiency deliver is high, work stable credibility etc. The software design adoption the design thought from top to bottom, to make the system toward wear distribute type,turn to the direction development of small, strengthen the system and can expand the stability and circulate.Test the result enunciation, various functions of this system are already all request of this design.KEYWORD:singlechip;cryptogram lock;singlechip design; electronics lock.第1章绪论1.1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。

基于单片机的电子密码锁设计

基于单片机的电子密码锁设计

基于单片机的电子密码锁设计
电子密码锁是一种常用的智能锁具,它使用数字密码代替传统的钥匙,能够提供更高的安全性和方便性。

基于单片机的电子密码锁能够实现简单的密码输入、校验和控制逻辑,下面是一种基于单片机的电子密码锁设计方案。

硬件部分:
1、MCU:选择一款高性价比的8位单片机,如AT89C51,具备足够的存储空间、操作速度和通用IO口。

2、键盘:选用16键或12键矩阵键盘,提供数字、字母和功能键,可灵活设置密码。

3、数码管:用于显示输入密码和状态信息,一般采用4位共阳数码管。

4、电路保护:此处需添加过流保护、短路保护、反向保护以及过压保护等电路。

5、电源:选择电池供电模式,例如4节AA碱性电池并联,以保证足够的电量和使用寿命。

软件部分:
1、键盘输入检测:通过IO口扫描矩阵键盘输入状态,检测按下的键位并读取对应键值,避免误触。

2、密码存储:将设定好的开锁密码存储在MCU内部的Flash或EEPROM中,以保证密码安全并避免意外丢失。

3、密码校验:将输入的数字密码与存储的密码进行比较,如一致则允许开锁,否则拒绝开锁并显示“密码错误”。

4、状态显示:通过4位共阳数码管显示输入密码、开锁状态、警报状态等信息,方便用户操作。

5、警报功能:若输入错误密码超过规定次数,则触发警报,并向指定手机号或邮箱发送警报信息。

总之,基于单片机的电子密码锁设计需要合理安排硬件和软件功能,充分保证安全性和可靠性,并考虑升级和扩展的可能性。

基于STC89C52单片机的电子密码锁(完整版)-附-仿真图-原理图

基于STC89C52单片机的电子密码锁(完整版)-附-仿真图-原理图

目录1绪论 (1)1.1本设计的研究背景与研究目的 (1)1.2国内外研究现状 (2)2电子密码锁的总体设计方案 (3)2.1方案论证 (3)2.1.1方案一采用单片机控制方案 (3)2.1.2方案二采用数字电路控制方案 (4)2.1.3方案三采用EDA控制方案 (5)2.2方案比较以及可行性 (5)3电子密码锁硬件电路的设计 (6)3.1中央控制模块的设计 (6)3.1.1主控芯片STC89C52单片机的简介 (6)3.1.2时钟电路的设计 (7)3.1.3复位电路的设计 (8)3.2键盘输入模块的设计 (9)3.2.1矩阵键盘工作原理 (9)3.2.2单片机键盘扫描法 (10)3.3LCD显示密码模块的设计 (10)3.3.1LCD1602简介 (11)3.3.2LCD1602液晶显示模块与单片机连接电路 (12)3.4开锁模块的设计 (13)3.5报警模块的设计 (13)3.6硬件电路总体设计 (14)4电子密码锁的软件设计 (15)4.1主程序流程介绍 (15)4.2键盘模块流程图 (16)4.3显示模块流程图 (18)4.4修改密码流程图 (19)4.5开锁和报警模块流程图 (20)5电子密码锁的系统调试及分析 (22)5.1硬件电路调试及结果分析 (22)5.2软件调试及功能分析 (22)5.2.1调试过程 (22)5.2.2仿真结果分析 (24)5.3系统调试 (26)6结论及展望 (28)6.1结论 (28)6.2展望 (28)谢辞 (29)参考文献 (30)附录 (32)附1部分代码 (32)附2总电路图 (40)电子密码锁的设计与制作1绪论1.1本设计的研究背景与研究目的随着人们生活水平的提高和社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。

在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。

(如指纹、眼底视网膜等)来控制锁的开启。

基于单片机的电子密码锁设计ppt课件

基于单片机的电子密码锁设计ppt课件

3.总体设计方案
3.1设计思路
电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、输出 LCD1602显示电路。24C02密码保存防掉电数据消失功能,另外系统还有LED 提示灯,报警蜂鸣器等。设计原理框图如下:
键盘输入
电源输入
复位电路 密码存储电路 晶振电路
AT89C51
显示电路 报警电路 开锁电路
由于个人在知识面和能力方面还有限再加上条件的限制智能数字密码锁的保安度等各项技术指标的提高诸多功能的完善还需要进一步的研究和开发此外在完成基本功能的基础上还需要努力提高软件的效率硬件系统的稳定性进一步降低系统功耗等
基于单片机的电子 密码锁设计
1
1
2 3 3 44 5
目录
引言 总体概述 总体方案设计 主要的设计实施过程 结论
3.2关键问题
密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能: 1、密码输入功能:首先必须选择登陆模式:数字1键以普通用户进入,数字2键 高级用户进入。输入密码时在1602LCD上显示“*”每输入一个数字,LCD上向 右移一格,同时“*”加一个。至到输入6个“*”为此,若一次性输入大于6个 密码,则只保留前6位密码,按“确定”生效。若按“取消”键可以减一位密码, 密码清除功能,防止误输。 2、密码更改功能:将输入的值作为新的密码。(程序的初始密码是6个0 ) 3、当密码输入成功后,或者密码修改成功后,LCD上有提示成功字符,同时 LED闪烁提示,蜂鸣器开始奏乐《两只老虎》,所有提示完成后,返回到初始 状态。
硬件仿真图
4*4键盘
AT89C51
74LS00
LCD1602 10 K 排 阻
24C02
5.结论
所设计的系统中包含了AT89C51、LCD1602、LED、EEPROM、蜂鸣 器,输入部件(键盘)等部分,通过键盘输入信息功能在LCD,LED 上显示,并做出相应指示作用。

毕业设计-基于AT89C51单片机的电子密码锁的设计

毕业设计-基于AT89C51单片机的电子密码锁的设计

毕业设计(论文)题目:电子密码锁的设计学院:电气与信息工程学院专业:电子信息工程姓名:学号: ********* 指导老师:**完成时间: 2013年5月28日摘要随着经济社会发展,人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出。

传统的机械锁,由于其构造简单,安全性能低,无法满足人们的需要。

随着电子产品向智能化和微型化的不断发展,数字密码锁作为防盗卫士的作用显得尤为重要。

而单片机以其实用,功能强大,价格低廉等功能,已成为电子产品研制和开发中首选的控制器。

本文从经济实用的角度出发,阐述一个基于单片机的液晶显示电子密码锁的设计与实现。

系统采用ATMEL公司的AT89C51单片机作为系统核心,液晶显示器LCD1602作为输出设备显示系统提示信息,4*4矩阵键盘作为输入设备,CMOS串行E2PROM存储器AT24C02作为数据存储器,配合蜂鸣器、继电器等电路构成整个系统硬件;系统软件采用C语言编写。

设计的系统液晶显示,密码修改方便,具有报警、锁定等功能,使用便捷简单,符合住宅、办公用锁需求,具有一定的实用价值。

关键词:单片机,密码锁,AT89C51,LCD1602,AT24C02AbstractWith the development of our society and the i mprovement of people’s living standard, how to ensure the family security is becoming more and more important in particular. Traditional mechanical lock is unable to meet the need of us because of its simple structure and low security. Nowadays, electronic products become smarter and smaller, electronic password anti-theft lock plays a more important role as the security guards. The MCU with its practical, strong function, low price and other functions , has become the preferred controller in electronic product research and development.This article is written from the economic perspective, elaborates the design and implementation of a LCD electronic password anti-theft lock which is based on MCU. This system is composed of AT89C51 which is designed as the core of this system, LCD1602 as the output device to display the message of this system, 4 * 4 matrix keyboard as the input device, a CMOS serial E2PROM AT24C02 as the data storage, and a buzzer, relay circuit.The software of the system is written in C language. The system displays in a LCD, it can change password easily, and has the function of alarming, locking, and so on. This system has some practical value, and it is simple and easy to use, meets the demand of residential and the need of office lock.Key Words: MCU, Password-Lock, AT89C51, LCD1602, AT24C02目录摘要 (I)Abstract ............................................................................................................................. I I 目录 ................................................................................................................................. I II 1引言 . (1)1.1课题的背景和意义 (1)1.2课题的研究现状 (1)1.3课题研究内容 (2)2 数字密码锁总体设计 (3)2.1 系统方案论证 (3)2.1.1 采用数字电路的设计方案 (3)2.1.2 采用以单片机为核心设计方案 (4)2.2 基于单片机的数字密码锁的设计原理 (5)3 系统硬件设计 (6)3.1 主要元器件介绍 (6)3.1.1 主控芯片AT89C51的的介绍 (6)3.1.2 继电器的介绍 (9)3.1.3 存储芯片AT24C02的介绍 (10)3.1.4 LCD1602显示器的介绍 (10)3.1.5 矩阵键盘模块的介绍 (11)3.2 系统硬件部分 (12)3.2.1 系统电源部分 (12)3.2.2 键盘输入部分 (13)3.2.3 密码存储部分 (14)3.2.4 显示部分 (14)3.2.5 报警部分 (15)3.2.6开锁部分 (16)4 系统软件设计 (17)4.1 系统程序流程图 (17)4.1.1主程序流程图 (17)4.1.2 键功能程序流程图 (18)4.1.3 修改密码程序流程图 (19)4.1.4 开锁程序流程图 (20)4.2 子程序举例 (21)4.2.1 按键扫描子程序 (21)4.2.2 显示子程序 (22)4.2.3 开锁子程序 (22)4.3 系统软件调试及结果 (24)4.3.1 Proteus软件介绍 (24)4.3.2 系统软件调试 (25)4.3.3 仿真结果 (25)5 硬件系统制作及调试 (29)5.1焊接注意事项 (29)5.2硬件调试问题及解决办法 (30)5.3硬件调试效果 (31)总结 (34)致谢 (35)参考文献 (36)附录 (37)附录A 电路原理图 (37)附录B 系统总体程序 (38)1引言1.1课题的背景和意义随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤为突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜。

基于STM32的智能电子密码锁系统设计

基于STM32的智能电子密码锁系统设计

结论与展望
结论与展望
本次演示基于STM32单片机设计了一种智能电子密码锁系统,实现了较高的安 全性和便捷性。然而,在研究中仍存在一些不足之处,例如还可以进一步优化加 密算法提高系统安全性,同时还可以加入更多智能功能如指纹识别、面部识别等 提升锁具的全面性能。在未来的研究中,将进一步探索智能电子密码锁系统的优 化设计和多功能集成,以实现更加高效和安全的锁定功能。
三、硬件设计
2、指纹识别芯片:选用常见的指纹识别芯片,如FT-601或FT-600等,对该 模块进行开发,实现指纹图像的采集、处理和比对功能。
三、硬件设计
3、显示屏:选用LCD或LED显示屏,用于显示系统的操作界面、开锁状态等信 息。
4、键盘:提供按键输入功能,便于用户输入密码和进行系统设置。
三、硬件设计
三、硬件设计
三、硬件设计
基于STM32的指纹密码锁控制系统硬件部分主要包括STM32单片机、指纹识别 芯片、显示屏、键盘、电源等部分。
三、硬件设计
1、STM32单片机:作为控制系统的核心,STM32单片机负责整个系统的协调 与控制。它接收用户的指纹信息和密码输入,并控制指纹识别芯片和密码加密模 块等进行相应的处理。
六、应用前景
六、应用前景
基于STM32单片机的指纹密码锁控制系统具有较高的安全性和便利性,能够广 泛应用于家庭、办公室等各种场所。随着技术的不断发展,该系统还可以结合其 他智能家居技术,如物联网等,实现更加智能化和人性化的门禁控制系统,具有 广泛的应用前景和优势。
谢谢观看
2、重点模块设计
(1)按键模块
(1)按键模块
本系统采用4×4键盘矩阵,用户通过键盘输入密码。为提高密码输入的准确 性,系统采用去抖动处理,有效避免因按键抖动引起的误操作。

(完整版)基于51单片机的电子密码锁毕业设计论文

(完整版)基于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电⼦锁的发展状况随着科技的发展,传统的机械锁被破解的概率越来越⾼了,新型的盗贼也学会了与时俱进,通过各种技术⽅法和⼿段即会在短时间内开启结构复杂的机械锁,会不留痕迹的登堂⼊室,给失主和警⽅留下各种不易解惑的疑团。

由此我们想到,要是在机械锁的基础上再装上⼀把电⼦锁,就彻底杜绝了单⼀机械锁易被开启的弊端,从⽽极⼤提⾼门锁的安全防范性能。

当今世界,电⼦锁发展已经到了⾮常⾼的境界,由于电⼦元件特别是单⽚机应⽤在最近⼏年得到空前发展,电⼦锁⽆论是在功能还是在稳定性⽅⾯都有了较⼤的提⾼,在保密性⽅⾯已经做到了密码识别、指纹识别、⼈声识别等。

就整体形势⽽⾔,电⼦锁在国外发展⽐较早,所以应⽤也⽐较⼴泛,主要⽤于家庭门锁,银⾏公司等的财务保险柜锁和政府机关及⾼级宾馆等重要场合的智能控制门锁等。

基于单片机的红外电子密码锁的设计

基于单片机的红外电子密码锁的设计

基于单片机的红外电子密码锁的设计基于单片机的红外电子密码锁的设计随着科技的发展,红外电子密码锁逐渐取代传统的机械密码锁成为了门禁系统中的主流。

红外电子密码锁通过红外线传输数据,使得开锁变得更加智能化、快速化,而且提高了安全性,防止了密码泄露以及密码碰撞的问题。

本文将介绍一种基于单片机的红外电子密码锁的设计方案。

一、系统方案本设计采用C51单片机为控制器,红外线信号接收模块作为主控,驱动步进电机控制门锁的开关,使得门的开关更加方便快捷,并提高了安全性。

电路运用了ISP编程器,通过USB 接口与电脑连接,并通过Keil软件编写程序上传到控制器中,以控制系统的整体运行流程。

二、硬件设计1. 单片机选型本设计中,选用51系列单片机控制器Atmel AT89C51,其具有内部FLASH可编程存储器,可在编程过程中对程序进行修改,更加便于控制器程序的更新维护。

同时,该单片机具有多种外设接口,包括计数器、定时器、串口等,便于实现控制器与各种传感器、执行器的互联。

2. 电源设计本系统使用直流12V供电,其中12V正极接单片机VCC,负极接GND,同时将12V作为步进电机的电源。

在电路中使用L7805稳压电源,将电压稳定输出为5V供给单片机芯片和红外线传感器等其他模块。

3. 红外线接收模块在门锁上方适当放置一个2150nm红外线传感器模块,以接收红外线信号并将其转化为数字信号。

这里采用的是RS232接口连接,将红外二极管所收到的红外线信号交给MCU进行处理。

4. 步进电机为实现门的自动开启关闭,本设计采用了步进电机驱动门锁的开关。

步进电机与单片机控制器的连接采用的是四线步进电机驱动电路。

其中,两根草绿色和橙色的线为电机的控制线,将其接入单片机P3口中,蓝色和红色的两根线分别为电机的两个电极,将它们接到电机驱动器的两个对应通道上。

三、软件设计1. 开发环境本设计所需的IDE使用Keil 4.0集成开发工具,同时也需要用到AT89C51单片机的ISP编程器,将程序下载到MCU板上。

基于单片机的电子密码锁设计

基于单片机的电子密码锁设计

基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。

用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。

如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。

二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。

该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。

(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。

矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。

(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。

EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。

(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。

可以显示开锁状态、输入错误提示等信息。

(五)执行模块执行模块包括电磁锁和报警装置。

当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。

三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。

然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。

(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。

同时,对输入的密码进行加密处理,提高密码的安全性。

(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。

比对过程中,采用逐位比较的方式,确保密码的准确性。

(四)错误处理当输入密码错误时,记录错误次数。

如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。

四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。

(完整版)基于单片机的电子密码锁参考毕业论文设计

(完整版)基于单片机的电子密码锁参考毕业论文设计

毕业论文题目:基于单片机的电子密码锁的设计专业:通信工程摘要单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。

本密码锁的主控芯片采用价格实惠而且容易购买的 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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的电子密码锁设计我国工业企业的自动化程度普遍较低,单片机产品有很大的应用空间,如机械行业80%以上的设备仍采用传统的继电器和接触器进行控制。

因此,单片机在我国的应用潜力远没有得到充分发挥。

我国大中型企业普遍采用了先进的自动化系统对生产过程进行控制,但绝大部分小型企业尚未应用自动化系统和产品对生产过程进行控制,以提高企业的经济效益和竞争实力。

基于单片机设计的电子密码锁,具有设计简单,操作方便的特点,该产品有很大的市场前景。

该设计运用Proteus等仿真软件仿真电子锁,解决了手工绘图慢的缺点,同时设计过程还引用了电子锁常用的标准件和常用件,尽量将所设计的电子锁标准化,这样就大大缩短了电子锁设计周期,进而缩短了新产品的开发周期并降低了电子锁的制造成本;增强了产品的竞争力,公司的整体实力也得到增强。

第一章概述1.1 设计目的1.通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加深“单片机C语言”课程的基本知识,掌握电子设计知识在实际中的简单应用。

2.综合运用“单片机C语言”课程的技巧以及生产实际知识去分析和解决电子设计问题,进行电子设计的训练。

3.学习电子设计的一般方法,掌握AT89C51芯片以及简单的电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的能力、特别是总体设计能力。

4.通过计算和绘制原理图、布局图和流程图,学会运用标准、规范、手册、图册、和查阅有关技术资料等,培养电子设计的基本技能。

1.2 设计要求1.若不小心输入错误数字,可以返回重新输入。

2.输入错误次数达到3次时,将锁定键盘一定时间。

3.可以更改密码。

4.显示解锁键盘余剩时间。

第二章系统的硬件结构设计2.1 实验原理主体电路:电子密码锁控制模块。

这部分电路主要由AT89C51单片机的I/O端口、定时计数器、外部中断扩展等组成。

本设计的P0端口为段码端口,P2端口为位码端口,P1和P3为键盘端口。

初始时红灯亮,绿灯灭,并且数码管无任何显示。

当输入数字时,数码管不会显示所输入的数字,但会显示出一横表示输入了数字,输入“返回”时可以返回上一步。

当输入了4个数字时,再按“确定”,若输入的密码正确,红灯灭,绿灯亮,输入“锁定”后可以重新上锁;若输入的密码不正确,红灯将会闪烁3次,之后重置输入的数字。

如果输入错误次数达到3次,键盘将会被锁定,红灯和绿灯均熄灭,无法输入任何数字,数码管显示1800并且开始倒数1800秒。

1800秒后,电子锁将会自动解锁。

若在电子锁解锁期间按“更改密码”可以改变密码,此时若按数字键时会显示输入的密码,输入“返回”可以返回上一步。

输入完毕后,按“确定”键绿灯将会闪烁3次表示更改密码完成。

本设计的程序中采用定时器中断的方式设计。

2.2.工作流程图流程如图2.2-1图2.2-1 工作流程图2.3 硬件设计2.3.1 单片机结构单片微机(Single-Chip Microcomputer)简称为单片机。

他在一块芯片上集中了中央处理单元CPU、随机存储器RAM、只读存储器ROM、定时/计数和多功能输入/输出I/O口,如并行I/O、串行口I/O和转换A/D等。

就其组成而言,一块单片机就是一台计算机,由于它具有体积小、功能强和价格便宜等优点,因而被广泛地应用于产品智能化和工业控制自动化上。

2.3.2 主要元器件选择如图2.3.2-1图2.3.2-1 主要元器件选择第三章控制系统的软件设计3.1 软件设计3.1.1 单片机中中断系统基本结构中断是一项重要的计算机技术,是处理正常工作与紧急状态的好办法,是实现人机实时交互的重要途径,在单片机应用系统中,终端技术得到了广泛应用。

下面详细介绍单片机中断系统基本结构、与中断相关的特殊寄存器的设置及中断应用系统编程方法。

当CPU查询到系统有中断请求时,如果系统处于中断允许状态,CPU将停止当前的工作,相应中断请求,转向中断服务,中断服务完成后,返回源程序继续执行当前任务,这叫单片机中断。

能让CPU产生中断的信号源叫中断源。

8051单片机有INT0、INT1、T0、T1、TI、RI 六个中断源,但是只有EX0、ET0、EX1、ET1、ES五个向量,下面简要介绍六个中断源。

INT0、INT1:外部中断源,右P3.2和P3.3引脚输入。

具有低电平和脉冲两种出发方式,在每个机器周期的S5P2采样引脚信号,如有效则由硬件将它的中断请教标志IE置1,请求中断.当CPU响应中断时,由硬件复位。

T0、T1:定时/计数器中断,当定时/计数器产生溢出时,置位中断请求标志TF请求中断处理。

RI、TI:串行中断,RI是接受,TI为发送。

单片机串行口接受到一个字符后RI置1,发送完一个字符TI置1。

值得注意的是,RI、TI在响应中断后,必须由用指令将其复位。

3.1.2 中断响应CPU在执行程序的过程中,在每个机器周期的S5P2对中断位置位按中断优先级进行查询,一旦查询到有中断请求,CPU只要不在执行同级或高级的中断服务程序和当前指令(RETI指令或访问IE、IP的指令除外)执行完毕两种情况,则响应中断。

如果当前正在执行的指令是RETI或访问IE、IP的指令,则当前指令执行完毕后,CPU才可响应中断。

中断响应时间可以从中断信号被查询开始算起,中断响应时间在以下三种情况,响应还会更长:①CPU正在执行一个比响应的中断源优先级相当或更高的中断源的中断服务程序,此时必须等到中断服务程序执行完毕才可中断响应。

②正在执行的当前指令不是在最后一个机器周期,只有指令执行完后才响应中断。

③如果当前执行的是RETI或访问IE、IP的指令,则当前指令执行完毕后,CPU需再执行一条指令才可以中断响应,因此附加等待响应时间不会超过5个机器周期。

3.1.3 中断入口:单片机响应中断后,将转向特定的入口进行中断服务,单片机的中断入口地址如下表3.1.3-1表3.1.3-1单片机中断入口地址表从表中可以看出,两相邻中断源的入口地址间隔为8个单元。

这意味着如果要把中断源对应的中断服务程序从入口地址开始存放,则程序的长度不能超过8个字节,否则会影响到下一个中断源的入口地址的使用。

而通常情况下,中断服务程序的长度不止8个字节,因此,常见的处理方法是:在入口地址处存放一条无条件转移指令,通过这条转移指令转向对应的中断服务程序入口,中断服务程序以RETI为结束。

3.1.4 中断请求的撤销CPU响应中断请求,在中断返回(RETI)之前,该中断请求应被撤除,否则会引发另一次中断。

定时/计数器中断请求撤销:CPU在响应中断之后,由硬件自动清除中断请求标志TF。

外部中断请求撤销:如果采用脉冲触发方式,CPU在响应中断后,由硬件自动清除中断请求标志IE;对于电平触发方式的外部中断请求,中断标志的撤销是自动的,由于造成中断请求的低电平继续存在,所以在响应中断后再次会产生中断请求,为此响应中断后要撤销外部信号。

3.1.5 每秒钟的设定延时方法可以右两种,一种是利用MCS-51内部定时器溢出中断来确定1秒的时间,另一种是采用软延时的方法。

3.1.6 计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。

我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算公式:TC=M-C。

3.2 实验程序#include<reg51.h>#include<intrins.h>#define INT8U unsigned char#define INT16U unsigned intsbit red=P3^6;//定义红灯,即锁定状态sbit green=P3^7;//定义绿灯,即解锁状态sbit k1=P1^0;//定义数字键“1”sbit k2=P1^1; //定义数字键“2”sbit k3=P1^2; //定义数字键“3”sbit k4=P1^3; //定义数字键“4”sbit k5=P1^4; //定义数字键“5”sbit k6=P1^5; //定义数字键“6”sbit k7=P1^6; //定义数字键“7”sbit k8=P1^7; //定义数字键“8”sbit k9=P3^0; //定义数字键“9”sbit k0=P3^1; //定义数字键“0”sbit ka=P3^2;//定义“返回”键sbit kb=P3^3;//定义“确定”键sbit kc=P3^4;//定义“更改密码”键sbit kd=P3^5;//定义“锁定”键INT8U mod=1,i,error,j,change,state,right;//定义初始模式、位码、错误次数、取反次数、更改密码模式、按键状态、密码是否相等INT16U t=0,poi=1800,tt=0;//定义定时、倒计时数、时间累计INT8U code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF};//定义段码INT8U array[]={0,0,0,0};//保存数位分解结果的数组INT8U nico_A[]={0,0,0,0};//密码A数组INT8U nico_B[]={0,0,0,0};//密码B数组void INT_TO_4Digit(INT16U n)//数位分解函数{array[0]=0;while(n>=1000){array[0]++;n-=1000;}array[1]=0;while(n>=100){array[1]++;n-=100;}array[2]=0;while(n>=10){array[2]++;n-=10;}array[3]=n;}void DSY_Show() interrupt 1//T0中断函数{TH0=-1000/256;//1ms定时TL0=-1000%256;if(k1==0||k2==0||k3==0||k4==0||k5==0||k6==0||k7==0||k8==0||k9==0||k0== 0) state=1;//若任意数字键按下,state=1if(k1!=0&&k2!=0&&k3!=0&&k4!=0&&k5!=0&&k6!=0&&k7!=0&&k8!=0&&k9!=0& &k0!=0&&state==1) state=2;//若无数字键按下,且按键状态为1时,按键状态更改为2if(ka==0&&state==0) state=3;//若“返回”键按下,且按键状态为0,按键状态更改为3if(ka!=0&&state==3) state=4;//若“返回键”没有按下,且按键状态为3,按键状态更改为4if(nico_A[0]!=nico_B[0]||nico_A[1]!=nico_B[1]||nico_A[2]!=nico_B[2]||nico_A[3] !=nico_B[3]) right=1;//若密码A数组任一位不等于密码B数组,即密码不相等if(nico_A[0]==nico_B[0]&&nico_A[1]==nico_B[1]&&nico_A[2]==nico_B[2]&&nico_ A[3]==nico_B[3]) right=2;//若密码A数组与密码B数组完全相等,即密码相等if(ka==0||kb==0||kc==0||kd==0) tt=0;//如果“返回”、“确定”、“更改密码”、“锁定”任意一键按下,时间累计清零switch(mod)//选择模式{case 1:if(change==0) {red=0;green=1;}//若不是在更改密码模式,红灯亮,绿灯灭if(change==1&&state==4) {change=0;mod=5;state=0;}//若在更改密码状态,且按键模式为4时,变为输入密码状态,且模式变为5,按键状态变为1P0=0xFF;//关闭段码if(k1==0) nico_B[0]=1;//若按下数字键“1”,密码B的第0位为1if(k2==0) nico_B[0]=2;if(k3==0) nico_B[0]=3;if(k4==0) nico_B[0]=4;if(k5==0) nico_B[0]=5;if(k6==0) nico_B[0]=6;if(k7==0) nico_B[0]=7;if(k8==0) nico_B[0]=8;if(k9==0) nico_B[0]=9;if(k0==0) nico_B[0]=0;if(t++==1000) {t=0;tt++;}//定时1秒,然后t清零,时间累计+1 if(tt==1800) {tt=0;error=0;}//半小时内无任何操作,错误次数清零if(state!=2) return;//如果按键状态不为2,返回tt=0;//时间累计清零state=0;//按键状态变为0mod=2;//模式变为2break;//退出本次循环case 2:if(change==1)//若为更改密码状态,会显示数字{P0=0xFF;//关闭段码P2=(1<<0);//输出位码P0=DSY_CODE[nico_B[0]];//输出段码}if(change==0)//若为输入密码状态,会显示一横{P0=0xFF;P2=(1<<0);P0=DSY_CODE[10];}if(state==4) {mod=1;state=0;}//若按键状态为4,模式变为1,且按键状态变为1if(k1==0) nico_B[1]=1;if(k2==0) nico_B[1]=2;if(k3==0) nico_B[1]=3;if(k4==0) nico_B[1]=4;if(k5==0) nico_B[1]=5;if(k6==0) nico_B[1]=6;if(k7==0) nico_B[1]=7;if(k8==0) nico_B[1]=8;if(k9==0) nico_B[1]=9;if(k0==0) nico_B[1]=0;if(t++==1000) {t=0;tt++;}if(tt==1800) {tt=0;error=0;}if(state!=2) return;tt=0;state=0;mod=3;break;case 3:if(change==1){P0=0xFF;P2=(1<<i);P0=DSY_CODE[nico_B[i]];}if(change==0){P0=0xFF;P2=(1<<i);P0=DSY_CODE[10];}i=(i+1)%2;//i的输出结果在0、1之间循环if(state==4) {mod=2;state=0;}if(k1==0) nico_B[2]=1;if(k2==0) nico_B[2]=2;if(k3==0) nico_B[2]=3;if(k4==0) nico_B[2]=4;if(k5==0) nico_B[2]=5;if(k6==0) nico_B[2]=6;if(k7==0) nico_B[2]=7;if(k8==0) nico_B[2]=8;if(k9==0) nico_B[2]=9;if(k0==0) nico_B[2]=0;if(t++==1000) {t=0;tt++;} if(tt==1800) {tt=0;error=0;} if(state!=2) return;tt=0;state=0;mod=4;break;case 4:if(change==1){P0=0xFF;P2=(1<<i);P0=DSY_CODE[nico_B[i]]; }if(change==0){P0=0xFF;P2=(1<<i);P0=DSY_CODE[10];}i=(i+1)%3;if(state==4) {mod=3;state=0;} if(k1==0) nico_B[3]=1;if(k2==0) nico_B[3]=2;if(k3==0) nico_B[3]=3;if(k4==0) nico_B[3]=4;if(k5==0) nico_B[3]=5;if(k6==0) nico_B[3]=6;if(k7==0) nico_B[3]=7;if(k8==0) nico_B[3]=8;if(k9==0) nico_B[3]=9;if(k0==0) nico_B[3]=0;if(t++==1000) {t=0;tt++;}if(tt==1800) {tt=0;error=0;} if(state!=2) return;tt=0;state=0;mod=5;break;case 5:if(change==1){P0=0xFF;P2=(1<<i);P0=DSY_CODE[nico_B[i]];}if(change==0){P0=0xFF;P2=(1<<i);P0=DSY_CODE[10];}i=(i+1)%4;if(ka==0||kb==0||kc==0||kd==0) t=0;//如果“返回”、“确定”、“更改密码”、“锁定”任意一键按下,定时清零if(change==1&&kb==0&&green==0){nico_A[0]=nico_B[0];nico_A[1]=nico_B[1];nico_A[2]=nico_B[2];nico_A[3]=nico_B[ 3];mod=8;}//若在更改密码状态且绿灯亮时按下确定,密码B会代入密码A,且模式变为8if(state==4&&red==0||state==4&&green==0&&change==1) {mod=4;state=0;}//若在按键状态为4且红灯亮时或者按键状态为4,绿灯亮且为更改密码状态时,模式变为4,按键状态变为1if(kb==0&&right==2&&red==0) {red=1;green=0;error=0;}//若在密码相同且红灯时按下“确定”,红灯灭,绿灯亮,错误次数清零if(kd==0&&green==0&&change==0) mod=1;//若在绿灯亮且在输入密码状态时按下“锁定”键,模式变为1if(kb==0&&right==1&&red==0) mod=6;//若在密码不相等且红灯时按下“确定”,模式变为6if(kc==0&&green==0&&change==0) {mod=1;change=1;}//若在绿灯且输入密码状态时按下“更改密码”,模式变为1,且变为更改密码状态if(kb==0&&error==2&&right==1&&red==0) {red=1;green=1;mod=7;}//若在错误次数为2,且密码不相等并且红灯亮时按下确定键,红灯绿灯均熄灭并且模式变为7if(t++==1000) {t=0;tt++;}if(tt==1800) {tt=0;error=0;}break;case 6:P0=0xFF;P2=(1<<i);P0=DSY_CODE[10];i=(i+1)%4;if(t++!=500) return;//定时500mst=0;red=~red;j++;//t归0,红灯取反,j=j+1if(j!=6) return;//如果没有取反6次,返回j=0;error++;//取反次数归0,累计1次错误次数mod=1;break;case 7:INT_TO_4Digit(poi);P0=0xFF;P2=(1<<i);P0=DSY_CODE[array[i]];i=(i+1)%4;if(t++!=1000)return;//定时1秒t=0;poi--;//每过1秒,倒计时数减1if(poi!=0)return;//如果倒计时数不等于0,就返回error=0;mod=1;poi=1800;//错误次数清零,模式变为1,倒计时数变为1800 break;case 8:P0=0xFF;P2=(1<<i);P0=DSY_CODE[10];i=(i+1)%4;if(t++!=500) return;t=0;green=~green;j++;if(j!=6) return;j=0;change=0;mod=5;break;}}void main(){TMOD=0X01;//T0工作于方式1IE=0x82;//使能T0中断TR0=1;//启动T0while(1);//主程序无限延时,定时器中断持续触发}第四章控制系统的运行与调试4.1 系统仿真4.1.1 元件位置摆放,如图4.1.1-1图4.1.1-1 元件摆放图4.1.2 各个元件的连线标号,如图4.1.2-1图4.1.2-1(1)连线标号图图4.1.2-1(2)连线标号图图4.1.2-1(3)连线标号图4.2 图文说明★★★初始密码为0000 ★★★开始时,红灯亮,绿灯灭,数码管无任何显示,电子锁为锁定状态当按下任意一个数字键时,数码管会显示一横表示已经输入了一个数字按下“返回”键时,可以返回上一步当按下四个数字键时,再按下“确定”,如果输入的密码错误,红灯会闪烁3次,并且累计1次错误次数然后返回初始状态如果输入密码错误次数在半小时内达到3次,红灯和绿灯均熄灭,并且数码管显示1800,每过一秒减少1倒计时结束后,电子锁将返回初始状态,并且将错误次数清零若输入的密码正确,红灯灭,绿灯亮,错误次数清零,电子锁进入解锁状态若在电子锁解锁状态时按下“锁定”键,电子锁将重新上锁,进入锁定状态若在解锁状态按下“更改密码”,电子锁将进入更改密码模式若在更改密码模式时按下“返回”,电子锁将返回开锁状态在更改模式输入数字键,数码管会显示数字输入“返回”,可以返回上一步在输入四个数字后再按“确定”,绿灯会闪烁3次,表示密码已经更改完成,然后返回开锁状态总结在本设计中,本人使用了涉及I/O控制,包括LED、数码管、按键等程序设计,使用了使用外部中断与定时计数器程序设计。

相关文档
最新文档