基于单片机的密码锁(绝对可用)
基于单片机的电子密码锁
基于单片机的电子密码锁第一章引言1.1 研究背景现代社会对于安全性的需求越来越高,传统的机械密码锁存在一些问题,例如容易被暴力破解、密钥容易丢失等,因此电子密码锁被广泛应用于各种场合。
单片机作为一种重要的控制设备,被用于设计和实现电子密码锁。
1.2 研究目的本文旨在基于单片机,设计并实现一种高安全性的电子密码锁。
通过对单片机的调试,加密算法的设计以及硬件组件的选择与搭建,实现一个可靠且安全的电子密码锁系统。
第二章单片机的选择与原理2.1 单片机的概述单片机是一种集成了微处理器、存储器和各种输入输出控制设备的单芯片微型电脑。
在电子密码锁中,单片机担当着控制主要逻辑和算法的角色。
2.2 单片机的选择在选择单片机时,我们需要考虑它的计算能力、存储容量、输入输出接口等因素。
本文选择了xxx型号的单片机作为主控芯片,因为它具备较高的性能和丰富的硬件接口。
2.3 单片机的工作原理在电子密码锁中,单片机负责控制输入输出,监测输入密码和验证密码的正确性,并控制相关执行机构(如电磁锁)的开关。
单片机通过与其他硬件组件的协作,完成电子密码锁的功能。
第三章加密算法设计与实现3.1 加密算法的选择在电子密码锁中,密码的安全性是至关重要的。
本文选用了常见的对称加密算法AES(Advanced Encryption Standard)作为主要的密码算法。
3.2 加密算法的实现本文首先对AES算法进行介绍,并实现其在单片机上的加密核心代码。
为了提高加密强度,我们还设计了一些额外的安全增强措施,例如密码复杂性等。
第四章硬件电路设计与组装4.1 硬件电路的整体设计电子密码锁的硬件电路包括输入接口、输出接口、显示器、电池管理等模块,本文将对每个模块进行详细的设计。
4.2 输入接口设计输入接口是与用户交互的重要组成部分,本文采用了矩阵键盘作为密码输入装置,并通过电平转换电路将其与单片机相连。
4.3 输出接口设计输出接口主要用于显示密码结果和控制外部执行机构,例如LCD显示器和电磁锁等。
基于单片机的智能密码锁的设计
基于单片机的智能密码锁的设计基于单片机的智能密码锁设计随着科技的发展和人们安全意识的提高,密码锁在保护个人和家庭安全方面扮演着越来越重要的角色。
传统的机械密码锁由于易受破解和安全性较低的限制,已经无法满足现代安全需求。
基于单片机的智能密码锁作为一种新型的安全产品,具有更高的可靠性和安全性,逐渐得到了广泛关注。
本文将介绍基于单片机的智能密码锁的设计,包括其工作原理、设计思路、实验验证和总结。
一、密码锁概念与原理密码锁是一种通过输入正确的密码来控制锁的开启和关闭的装置。
它主要由密码输入装置、控制装置和执行机构三部分组成。
其工作原理是:用户输入正确的密码后,控制装置将与预设的密码进行比较,如果一致,则发送信号给执行机构,打开锁;如果不一致,则发出警报或拒绝操作。
二、基于单片机的智能密码锁设计1、选择合适的单片机基于单片机的智能密码锁设计第一步是选择合适的单片机。
考虑到性能、价格和易用性等因素,我们选择了常用的8051单片机。
该单片机功能强大、价格适中,且易于编程和调试。
2、设计密码锁的功能模块根据需求分析,我们需要设计以下功能模块:键盘输入、密码比较、LED显示、电机驱动和报警模块。
键盘输入用于用户输入密码;密码比较用于将输入的密码与预设的密码进行比较;LED显示用于显示当前状态和输入的密码;电机驱动用于控制电机的运转;报警模块用于在密码错误时发出警报。
3、编写程序代码根据设计的功能模块,我们需要编写程序代码来实现各个模块的功能。
程序主要包括初始化、键盘输入处理、密码比较、LED显示、电机驱动和报警模块等部分。
其中,密码比较是关键部分,需要编写相应的算法来实现。
4、实现密码锁的具体功能在完成程序编写后,我们需要将程序下载到单片机中,并通过调试来确保各个模块能够正常工作。
在实现密码锁的具体功能时,需要注意以下几点:1、确保输入的密码与预设的密码一致才能打开锁;2、当连续输入错误密码超过设定次数时,应自动锁定密码锁,防止恶意破解;3、应设置一个复位按钮,以便在忘记密码或出现其他异常情况时进行重置;4、可以根据需求增加其他功能,如语音提示、网络控制等。
基于单片机的电子密码锁
基于单片机的电子密码锁设计目录一、设计目的 (3)二、摘要: (3)三、硬件电路设计 (3)1、单片机模块设计 (3)2、显示模块 (5)3、存储器at24c04模块 (7)4、IIC协议传输 (10)5、蜂鸣器模块 (12)6、直流电机模块 (13)7、矩阵键盘模块 (15)四、软件电路设计 (15)1、iic软件设计 (15)2、at24c04软件设计 (21)3、lcd1602程序设计 (23)4、主程序与蜂鸣器设计 (27)五、模拟仿真图 (47)六.、参考文献 (49)一、设计目的本方案设计LCD1602显示电子密码锁的实验,使用基于AT89C51单片机,液晶1602显示,带存储功能,可修改密码,并带有报警功能,输入正确的密码,直流电机就会转动,模拟电子密码锁打开的功能。
二、摘要:通过lcd1602显示按键显示的数字,程序设计电子密码锁初始密码为123456,输入正确的密码,直流电机会转动,输错密码。
蜂鸣器就会发出警报,在打开电子密码锁的情况下,可以修改密码,掉电后修改的密码会一直保持关键词:单片机,键盘,蜂鸣器,lcd1602系统,at2c04系统,直流电机三、硬件电路设计1、单片机模块设计本次设计采用的是单片机AT89C51。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口,如图3.1所示。
左边那列逆时针数起,依次为1,2,3.....40,其中芯片的1脚顶上有一个凹点。
在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
本次电路板上电路图图AT89C51管脚图AT89C51单片机共有4组8位可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位,共32根。
每一根引脚都可以编程,比如用来控制电机、交通灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能。
P0口:8位双向I/O口线,名称为P0.0-P0.7;P1口:8位准双向I/O口线,名称为P1.0-P1.7;P2口:8位准双向I/O口线,名称为P2.0-P2.7;P3口:8位准双向I/O口线,名称为P3.0-P3.7。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计基于单片机的电子密码锁设计单片机是典型的嵌入式微控制器,由运算器,控制器,存储器,输入输出设备等构成,相当于一个微型的计算机。
下面是小编为你带来的基于单片机的电子密码锁设计,欢迎阅读。
摘要:随着电子技术的发展,人们对锁的需求越来越多,所以各种各样的电子锁层出不穷,未来电子密码锁的市场将非常广阔。
这次设计是以STC89C51单片机为技术控制核心,显示部分选用了1602液晶显示,密码储存模块采用AT24C02芯片,结合设计的外围报警模块,矩阵键盘输入模块,继电器模块完成了电子密码锁的设计。
关键词:密码锁;单片机;液晶显示一、引言(一)设计的背景和研究意义。
自从人类脱离原始社会、开始有私有财产的概念以来,锁就成为了人们生活中的重要组成部分。
随着科技的发展,电子密码锁被越来越多的人所接受,它已经在生活中随处可见了. 电子密码锁拥有太多机械锁完全无法相比的优点。
它不但能完成“锁”自身的功用,还可以具有记忆、辨识、警报等特别的作用。
因为电子密码锁的更安全性、更便宜、易操作,越来越多人开始关注这一领域。
随着单片机的迅速发展,其应用领域越来越广泛,将其应用到保密和安全方面是相当可靠,相当有意义的。
基于单片机的电子密码锁的研究在保护财产和人身安全方面可以给人们带来更多更好的选择(二)设计的主要环节。
设计的主要方案如下:(1)控制模块采用STC89C51为控制中心模块。
(2)键盘输入采用4x3的共阴极键盘输入可以节省IO口的使用。
(3)显示模块采用液晶显示密码的输入和修改等提示。
(4)报警模块通过蜂鸣器和LED灯闪烁来完成。
(5)继电器用来控制密码锁的开关。
二、系统的硬件原理图硬件设备是以单片机为核心,结合电源电路、密码储存电路、显示电路、报警电路和继电器电路等外围设备来完成设计要求。
其原理框图如图1。
三、系统硬件部分设计(一)AT24C02 EEPROM存储器。
用户在使用电子密码锁的时候若更改了系统的初始密码,密码锁系统断电之后密码就容易丢失,而曾加了AT24C02就能把密码储存起来防止丢使。
基于单片机密码锁(绝对可用)
单片机原理及系统课程设计专业:电气工程及其自动化班级:电气1001班姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2013 年 3 月7日基于单片机的密码锁设计摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其突出,传统的机械锁由于其构造简单,安全性能低,无法满足人们的需求。
随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器,所以具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少,安全性能差的缺点。
通过单片机编写密码程序,并用74LS245驱动的数码管来显示密码。
数码管可以时时显示当前输入的四位数字。
当输入密码正确时,对应的指示灯亮;当密码不正确时,发出声音报警。
关键词:密码锁,单片机,报警AbstractWith the improvement of people's living standards, it has become particularly prominent about how to achieve Anti-theft family. The traditional mechanical lock has such shortcoming as simple structure , Low security ,it can't meet people's demands.As electronic products are developing towards intelligence and minimization, single-chip computers(SCM) have become the first choice for controllers in the development of electronic products. Therefore, the electronic anti-theft alarm function password control system and gradually replace the traditional mechanical password control system, Overcome the low mechanical password control password and the shortcomings of poor safety performance,the password program written by SCM, and 74ls245 digital control to display the password。
基于单片机的电子密码锁
基于单片机的电子密码锁
电子密码锁是一种广泛应用于门锁、保险柜等领域的智能锁具,通过输入正确的密码来开锁。
本文基于单片机设计了一种可靠的电子密码锁,实现了密码输入、验证和控制门锁开关的功能。
首先,设计硬件电路。
该电路由键盘、LCD 显示屏、单片机、电机和一些元器件组成。
键盘用于输入密码,显示屏用于提示操作,单片机负责控制整个系统的运行、密码验证和门锁开关的控制,电机则用于控制门锁的开关。
除此之外,还需要电源电路、保险电路等元器件来保证电路的稳定工作。
其次,设计软件程序。
该程序由密码输入模块、密码验证模块、门锁控制模块组成。
密码输入模块负责获取用户输入的密码,密码验证模块通过比对用户输入的密码和预设的密码进行验证,验证通过则启动门锁控制模块控制门锁的开关。
最后,进行测试与实验。
将电路搭建好后,进行充分测试与实验。
在测试时,应该考虑电路的稳定性、可靠性、安全性等方面。
并且,应该对操作流程、密码输入、密码验证、门锁控制等各方面进行充分测试。
综合来看,基于单片机的电子密码锁可以实现较高的安全性和可靠性,广泛应用于门锁、保险柜等领域。
然而,也应该注意电路的稳定性、兼容性等问题,并且适当的管理与维护才能保证其长期稳定运行。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计
电子密码锁是一种常用的智能锁具,它使用数字密码代替传统的钥匙,能够提供更高的安全性和方便性。
基于单片机的电子密码锁能够实现简单的密码输入、校验和控制逻辑,下面是一种基于单片机的电子密码锁设计方案。
硬件部分:
1、MCU:选择一款高性价比的8位单片机,如AT89C51,具备足够的存储空间、操作速度和通用IO口。
2、键盘:选用16键或12键矩阵键盘,提供数字、字母和功能键,可灵活设置密码。
3、数码管:用于显示输入密码和状态信息,一般采用4位共阳数码管。
4、电路保护:此处需添加过流保护、短路保护、反向保护以及过压保护等电路。
5、电源:选择电池供电模式,例如4节AA碱性电池并联,以保证足够的电量和使用寿命。
软件部分:
1、键盘输入检测:通过IO口扫描矩阵键盘输入状态,检测按下的键位并读取对应键值,避免误触。
2、密码存储:将设定好的开锁密码存储在MCU内部的Flash或EEPROM中,以保证密码安全并避免意外丢失。
3、密码校验:将输入的数字密码与存储的密码进行比较,如一致则允许开锁,否则拒绝开锁并显示“密码错误”。
4、状态显示:通过4位共阳数码管显示输入密码、开锁状态、警报状态等信息,方便用户操作。
5、警报功能:若输入错误密码超过规定次数,则触发警报,并向指定手机号或邮箱发送警报信息。
总之,基于单片机的电子密码锁设计需要合理安排硬件和软件功能,充分保证安全性和可靠性,并考虑升级和扩展的可能性。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计基于单片机的电子密码锁设计在日常生活中,密码锁是一种常见的安全设备,被广泛应用于家庭、办公室等场所。
随着科技的发展,传统的机械密码锁已经不能完全满足人们对安全性和便捷性的需求。
为了提高密码锁的安全性和实用性,许多基于单片机的电子密码锁被设计出来。
本文将介绍一种基于单片机的电子密码锁设计,并详细说明其工作原理和实现过程。
1. 设计思路基于单片机的电子密码锁的设计目标是提高安全性和便捷性。
传统的机械密码锁容易被暴力破解,而且如果密码被泄露,需要更换整个锁体。
因此,采用电子密码锁可以提供更高的安全性和方便的密码管理功能。
2. 系统组成基于单片机的电子密码锁主要由以下几个部分组成:(1)输入模块:用于输入密码的设备,可以是键盘、触摸屏等。
(2)单片机控制模块:使用单片机作为核心控制器,接收输入密码并进行验证。
(3)驱动模块:通过驱动模块对电子锁进行控制开关。
(4)显示模块:以LED或LCD等形式显示相关信息。
(5)电源模块:为电子密码锁系统提供电能供应。
3. 工作原理基于单片机的电子密码锁的工作原理如下:(1)初始状态下,用户可以通过输入密码进行解锁或锁定。
输入模块接收用户输入的密码。
(2)输入模块将密码发送给单片机控制模块。
(3)单片机控制模块使用事先设定的密码进行比对。
如果密码匹配,单片机控制模块将发出控制信号给驱动模块。
(4)驱动模块接收到控制信号后,将根据信号的指示打开或关闭电子锁。
(5)同时,单片机控制模块会发出指令给显示模块,将结果显示给用户。
4. 实现过程基于单片机的电子密码锁的实现过程如下:(1)选择合适的单片机,如AT89C51。
(2)设计电路板,将输入模块、单片机控制模块、驱动模块、显示模块和电源模块连接在一起。
(3)编写单片机的控制程序,实现密码验证和控制信号的生成。
(4)制作密码锁外壳,将电子密码锁系统组装在一起。
(5)测试电子密码锁的各个功能是否正常。
基于单片机的电子密码锁设计-任务书
·错误输入密码情况下,报警。
·设定输入密码时限≤2分钟,超过该时间,即使密码正确亦不开锁。
·密码可以更改。
设计的基本要求
1、完成设计说明书,字数不少于1.5万字,要求用A4纸打印并有中、英文摘要;
2、图纸采用计算机绘图;
3、完成与设计内容有关的外文资料翻译(5000字) ,译文翻译准确,表述清楚;
4.李华,MCS-51系列单片机使用接口技术,北京: 北京航空航天大学出版社,1993
阶段计划安排
日期
主要内容
3.31至4.13
校内毕业实习,确定毕业设计题目,收集设计资料,论证设计的可行性,研究设计方案和思路
4.14至4.27
确定设计方案和技术关键,拟定采取的解决措施,撰写毕业设计开题报告,查找并确定外文翻译资料
5.26至6.8
软件结构和流程图设计,进行软件设计、程序调试及仿真
6.9至6.22
整理资料,撰写毕业设计论文或说明书,细化毕业设计内容,指导教师审阅毕业论文,修改后准备毕业答辩
6.23至6.29
毕业设计答辩及成绩评定
毕业设计外文翻译自己安排时间进行,但务必于5月15日前完成
4.28至5.11
指导教师审阅开题报告,提出修改意见,学生整改并完成毕业设计开题报告,同时开始设计系统组成原理框图
设计电路组成框图,进行电路原理设计,绘制电路原理图,设计电路PCB,完善电路组成进行电路元器件选择、参数计算和数据测试
毕业设计(论文)任务书
设计内容
电子锁是由电子电路控制锁体的新型锁具,它采用触摸(键盘)方式输入开锁密码,操作方便。触摸式电子锁的输入部分采用触摸开关(键盘输入),其优于传统的机械开关之处在于:无活动零件,不会磨损,寿命长;使用时静默无声;造价低廉;新颖别致。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。
用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。
如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。
二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。
该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。
(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。
矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。
(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。
EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。
(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。
可以显示开锁状态、输入错误提示等信息。
(五)执行模块执行模块包括电磁锁和报警装置。
当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。
三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。
然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。
(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。
同时,对输入的密码进行加密处理,提高密码的安全性。
(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。
比对过程中,采用逐位比较的方式,确保密码的准确性。
(四)错误处理当输入密码错误时,记录错误次数。
如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。
四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
基于单片机的数字密码锁毕业设计
基于单片机的数字密码锁毕业设计简介本文档介绍了基于单片机的数字密码锁的毕业设计。
数字密码锁是一种常见的电子锁,由一组数字按钮和控制电路组成,用户可以使用预设的数字密码来解锁。
本毕业设计通过使用单片机控制电路,实现了一个简单而可靠的数字密码锁系统。
设计目标本毕业设计的目标是设计并实现一个基于单片机的数字密码锁系统,具体要求如下:1.可以设置和修改数字密码。
2.包含输入数字密码、解锁成功和解锁失败等状态指示。
3.具备密码保护功能,连续3次错误输入将触发报警。
4.低功耗设计,使用电池供电。
系统组成基于单片机的数字密码锁系统由以下几个主要部分组成:1.单片机控制电路:负责控制整个系统的工作。
2.数字按钮组:用于输入密码。
3.显示屏:用于显示状态指示和密码输入。
4.报警器:在密码错误次数达到一定次数后触发警报。
下面将逐一介绍这几个部分的原理和设计。
单片机控制电路本设计中选择了常用的ATmega328P单片机作为控制核心。
ATmega328P是一款功能强大的8位微控制器,具备多个GPIO引脚、I2C接口和EEPROM存储器,适合应用在本数字密码锁系统中。
控制电路主要负责以下几个任务:1.按钮输入检测:通过GPIO引脚读取用户输入的密码。
2.软件逻辑控制:根据用户的输入和预设密码,判断是否解锁成功。
3.状态指示:通过GPIO引脚控制显示屏上的状态指示灯。
数字按钮组数字按钮组由多个数字按钮组成,每个按钮分别对应数字0-9。
用户通过按下不同的按钮来输入密码。
按钮组的原理比较简单,每个按钮与GPIO引脚相连,按下按钮时,相应的GPIO引脚会变为低电平。
显示屏显示屏用于显示数字密码的输入状态和解锁结果。
对于本设计,可以选择使用数码管或者液晶显示屏。
数码管相对简单,通过GPIO引脚控制不同段来显示数字或字符。
而液晶显示屏则需要驱动芯片来实现显示。
报警器报警器用于报警功能。
在用户连续3次输入错误密码后,控制电路会触发报警器,发出声音或者闪烁指示灯来提示用户。
基于单片机的指纹密码锁系统设计
参考内容
基于单片机的指纹密码锁是一种集成了生物识别技术和嵌入式系统技术的安 全装置。它通过采集并比对指纹信息来决定是否授予访问权限。这种密码锁具有 很高的安全性和便捷性,因此在家庭、办公场所、工业等领域得到了广泛应用。
指纹密码锁的发展可以追溯到20世纪90年代,当时人们开始研究生物识别技 术在安全领域的应用。随着科技的发展和人们安全意识的提高,指纹密码锁逐渐 普及。现在,指纹密码锁已经成为市场上的主流产品,需求量不断增长。
指纹密码锁是一种利用指纹识别技术来控制锁的开启与关闭的设备。它通过 采集用户的指纹信息并存储在芯片中,在开锁时进行比对,以判断是否为合法用 户。单片机作为控制核心,负责处理指纹信息、控制开关门等操作。
设计指纹密码锁的主要步骤包括硬件设计和软件设计。硬件设计主要包括指 纹采集模块、控制开关和报警模块等的设计。软件设计主要涉及指纹信息的采集、 存储和比对等操作。具体步骤如下:
1、选取合适的单片机作为控制核心,例如STM32系列单片机。
2、安装指纹采集模块,并连接单片机。该模块可采用光学或电容式指纹识 别技术。
3、设计控制开关,连接单片机,实现通过单片机的控制进行开关门操作。 4、添加报警模块,如遇到非法入侵,通过单片机控制触发报警系统。
5、在单片机中编写控制程序,实现指纹信息的采集、存储和比对等功能。
总之,基于单片机的指纹密码锁是一种非常实用的安全装置,具有很高的安 全性和便捷性。随着科技的不断进步和应用场景的不断扩展,我们有理由相信它 将成为未来安全领域的重要发展方向。
参考内容二
在当今社会,随着科技的不断发展,人们对于自身财产的安全性越来越重视。 其中,门锁作为保护家庭或重要场所的第一道防线,历来受到广泛。传统门锁存 在被钥匙遗忘、复制钥匙等风险,因此,指纹密码锁作为一种新兴的安全防护设 备,逐渐进入人们的视野。本次演示将介绍一种基于单片机的指纹密码锁的设计。
基于单片机AT89S52单片机的密码锁设计
基于单片机AT89S52单片机的密码锁设计一、系统总体设计方案本密码锁系统主要由 AT89S52 单片机、矩阵键盘、液晶显示屏(LCD)、存储芯片、报警模块和开锁电路等组成。
用户通过矩阵键盘输入密码,单片机对输入的密码进行处理和判断,并将结果显示在LCD 屏上。
如果输入的密码正确,单片机控制开锁电路打开锁具;如果密码错误,系统会发出报警信号,并记录错误次数。
当错误次数超过设定值时,系统将锁定一段时间,以防止非法入侵。
二、硬件设计1、单片机最小系统AT89S52 单片机是整个系统的核心,它负责控制和协调各个模块的工作。
单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统的初始化和异常情况下的复位操作。
2、矩阵键盘矩阵键盘用于输入密码,采用 4×4 的矩阵式键盘布局,共 16 个按键,分别代表数字 0-9、确认键和删除键等。
通过扫描键盘的行和列,可以确定用户按下的按键值,并将其传输给单片机进行处理。
3、液晶显示屏(LCD)LCD 显示屏用于显示系统的工作状态和提示信息,如输入密码、密码正确、密码错误等。
本系统选用 1602 液晶显示屏,它具有体积小、功耗低、显示内容丰富等优点。
4、存储芯片存储芯片用于存储密码信息,选用 EEPROM 芯片 AT24C02。
EEPROM 具有掉电不丢失数据的特点,可以保证密码信息的安全性和可靠性。
5、报警模块报警模块由蜂鸣器和发光二极管组成,当密码输入错误次数超过设定值时,蜂鸣器发出报警声音,发光二极管闪烁,以提醒用户和起到威慑作用。
6、开锁电路开锁电路由继电器和电磁锁组成,当单片机判断输入的密码正确时,输出控制信号使继电器闭合,从而接通电磁锁的电源,打开锁具。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、LCD 初始化、存储芯片初始化等。
然后进入密码输入等待状态,当用户按下按键时,读取按键值并进行相应的处理。
(完整版)基于单片机的电子密码锁参考毕业论文设计
毕业论文题目:基于单片机的电子密码锁的设计专业:通信工程摘要单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。
本密码锁的主控芯片采用价格实惠而且容易购买的 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前言随着社会物质财富的日益增长,安全防盗已成为社会问题。
基于单片机实现电子密码锁
毕业设计论文题目基于单片机实现电子密码锁系xxxxxxxxxxxxxx专业 xxxxxxxxxxxxxx姓名xxxxxx班级xxxxxxxxxx 指导教师xxxxxxx职称 xxxxxxxxx 指导教师xxxxxx 职称xxxxx设计时间2009年11月——2010年1月摘要本次设计的题目是基于单片机的电子密码锁的设计,系统由AT89S52与低功耗CMOS型E²PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。
它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。
本密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,具有一定的推广价值。
关键词:电子密码锁;报警;液晶显示目录1 引言 (1)1.1 课题背景 (1)1.2 课题设计目标 (1)2 系统总体设计和主要芯片介绍 (2)2.1 系统总体设计 (2)2.2 主要芯片介绍 (2)2.2.1 AT89S52 (2)2.2.2 存储芯片AT24C02 (3)3 硬件设计 (5)3.1 键盘输入模块 (5)3.2 密码存储模块 (5)3.3 复位部分 (6)3.4 晶振部分 (7)3.5 显示模块 (7)3.6 报警部分 (8)3.7 开锁部分 (8)4 系统软件设计 (9)4.1 系统程序流程图 (9)4.1.1 主程序流程图 (9)4.1.2 键功能程序流程图 (10)4.1.3 开锁程序流程图 (10)4.2 子程序举例 (11)4.2.1 开锁子程序 (11)4.2.2 按键扫描子程序 (15)4.2.3 密修改码子程序 (16)5实验结果与数据处理 (19)5.1测试步骤 (19)5.2实验现象 (19)6结语 (20)参考文献 (21)1 引言1.1 课题背景随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及系统课程设计专业:电气工程及其自动化班级:电气1001班姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2013 年 3 月7日基于单片机的密码锁设计摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其突出,传统的机械锁由于其构造简单,安全性能低,无法满足人们的需求。
随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器,所以具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少,安全性能差的缺点。
通过单片机编写密码程序,并用74LS245驱动的数码管来显示密码。
数码管可以时时显示当前输入的四位数字。
当输入密码正确时,对应的指示灯亮;当密码不正确时,发出声音报警。
关键词:密码锁,单片机,报警AbstractWith the improvement of people's living standards, it has become particularly prominent about how to achieve Anti-theft family. The traditional mechanical lock has such shortcoming as simple structure , Low security ,it can't meet people's demands.As electronic products are developing towards intelligence and minimization, single-chip computers(SCM) have become the first choice for controllers in the development of electronic products. Therefore, the electronic anti-theft alarm function password control system and gradually replace the traditional mechanical password control system, Overcome the low mechanical password control password and the shortcomings of poor safety performance,the password program written by SCM, and 74ls245 digital control to display the password。
Digital tube can always display the current input of six digits。
When you enter the password correctly, the corresponding indicator light;When the password is incorrect, the sound alarm。
Keywords:Combination lock, Single-chip microcomputer, alarm1 引言1.1设计要求此次单片机课程设计所使用的单片机是AT89C51,利用了键盘电路以及LED灯等器件实现了密码锁的设计,该密码锁主要需要实现如下功能和目标。
(1) 输入密码功能:键盘上敲击任意一个数字键,LED显示屏上就会出现一个“-”显示在LED显示屏的最右侧,每多敲击一个数字按键就会将之前敲入的所有“-”向左移一位。
(2) 清除密码功能:每当按下清除键“CLR”就会自动清除前一个输入的数值,这样便实现了修改密码的功能。
(3) 开锁功能:当密码输入完毕后,敲击“ENTER”键,系统将会将输入的密码与系统内的内置密码进行比较核对,若密码正确,则产生一个低电屏信号,表示密码正确。
若密码不正确则无此信号。
(4) 报警和提示功能:输入密码错误,或输入密码超出指定密码个数时,密码锁将会启动报警电路,产生报警。
密码正确则密码指示灯会起来。
(5) 密码锁锁定功能:当密码输入错误或密码不符合规则时引起报警后,密码锁将开启锁定功能,将密码锁锁定3秒钟,防止被恶意软件套取密码。
(6) 系统内置密码修改功能,此功能可以通过修改程序中KEY中的值来改变系统的内置密码。
1.2设计方法第一步,使用PROTEUS 软件选用ATMEL公司的单片机AT89C51,以及需要用到的其他电子元器件,做好先期的准备。
第二步,使用PROTEUS设计硬件电路原理图,并完成电路的布线。
第三步,使用Keil uVision4 软件编写单片机的汇编语言程序、仿真、软件调试。
第四步,使用PROTEUS 软件导入汇编程序并进行模拟、调试。
最终完成本次毕业设计2 设计方案及原理本密码锁的总体框图如下。
图1 密码锁的总体框图本密码锁设计由输入模块、显示模块、报警指示模块共三各模块组成,各模块的功能为。
(1) 输入模块:负责提供输入各数字,修改回删,完成回车的按键,已完成密码的输入和修改功能。
(2) 显示模块:其主要部件为一块LED屏,主要用来显示当前输入密码的个数,并用“-”表示。
(3) 报警指示模块:包括报警蜂鸣器和通路指示灯两部分组成,分别提供密码错误时的报警和密码正确是的通路提示灯。
3 硬件设计3.1键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
键盘接P3.0—P3.6其电路如图2所示。
图2 密码锁的键盘电路图3.2LED显示电路显示电路的电路原理图如图3.2所示。
图3 密码锁显示电路图用P0.0—P0.7接74LS245的A0—A7八个端口,74LS245的输出口接LED 的A —G 和DP ;而P2.0—P2.7的输出口接LED 的1—8。
用软件实现数字和位控制。
3.3开锁报警电路开锁报警电路如图4所示。
图4 开锁报警电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。
电路图如4所示。
当P1.0口输出低电时,二极管发光,表示开锁。
当89C51的P1.7口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
4 软件设计程序设计流程图如图6所示。
开始初始化,设置初始密码等待输入计算键值是CLR 键?首次按键技术值减1段码,密码右移开锁是ENTER键?已输入6位?密码正确?结束报警等待3秒存键值段码,密码左移计数值加1比较NYYN NYNYYN图5 程序设计流程图电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。
当输入密码连续输入错误时,系统报警。
密码的预设的值为"123456"共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。
在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。
进入密码的判断比较处理状态并给出相应的处理过程。
5 系统调试本次调试采用Protues软件仿真。
首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。
依次按下1,2,3,4,5,6后,LED显示如图7所示。
图6 电路调试结果6 总结本次单片机课程设计历时三周终于完成,在制作课程设计的过程中也遇到了不少的困难和阻碍,期间少不了与同学们之间的互相交流,和与老师的探讨,到亏了老师和同学们的帮助,此次单片机课程设计才能如期完成,在老师同学们的帮助下我能够熟练掌握Keil uVision4 软件编写汇编语言和制作HEX文件以及使用PROTEUS进行仿真,并掌握了一定的程序编写能力,和电路设计能力,总之,受益良多,在此感谢各位给过我帮助的老师和同学。
参考文献[1] 冯博琴,吴宁.微型计算机原理与接口技术[M].北京:清华大学出版社,2010.[2] 周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,2010.[3] 王思明,张金敏,苟军年,张鑫,杨乔礼.单片机原理及应用系统设计[M].北京:科学出版社,2012.附录附录一:系统仿真电路附录二:源程序;以下8字节存放8位数码管的段码LED_BIT_1 EQU 30HLED_BIT_2 EQU 31HLED_BIT_3 EQU 32HLED_BIT_4 EQU 33HLED_BIT_5 EQU 34HLED_BIT_6 EQU 35HLED_BIT_7 EQU 36HLED_BIT_8 EQU 37H;以下6个字节存放初始密码WORD_1 EQU 38HWORD_2 EQU 39HWORD_3 EQU 3AHWORD_4 EQU 3BHWORD_5 EQU 3CHWORD_6 EQU 3DH;以下6个字节存放用户输入的6位密码KEY_1 EQU 3EHKEY_2 EQU 3FHKEY_3 EQU 40HKEY_4 EQU 41HKEY_5 EQU 42HKEY_6 EQU 43HCNT_A EQU 44HCNT_B EQU 45HKEY_CNT EQU 46H ;已输出的密码位数LINE EQU 47H ;按键行号ROW EQU 48H ;按键列号V AL EQU 49H ;键值;以下为初始化程序,包括数据存储空间初始化,设置初始密码ORG 00HSJMP STARTORG 0BHLJMP INT_T0START:MOV CNT_A,#00H ;程序初始化MOV CNT_B,#00HMOV KEY_CNT,#00HMOV LINE,#00HMOV ROW,#00HMOV V AL,#00HSETB P1.0MOV LED_BIT_1,#00H ;段码存储区清零MOV LED_BIT_2,#00HMOV LED_BIT_3,#00HMOV LED_BIT_4,#00HMOV LED_BIT_5,#00HMOV LED_BIT_6,#00HMOV LED_BIT_7,#79HMOV LED_BIT_8,#73HMOV KEY_1,#00H ;输入密码存储区清零MOV KEY_2,#00HMOV KEY_3,#00HMOV KEY_4,#00HMOV KEY_5,#00HMOV KEY_6,#00HMOV WORD_1,#6 ;设置初始密码为“123456”MOV WORD_2,#5MOV WORD_3,#4MOV WORD_4,#3MOV WORD_5,#2MOV WORD_6,#1MOV TMOD,#01HMOV TH0,#(65536-700)/256MOV TL0,#(65536-700)MOD 256MOV IE,#82HA0: LCALL DISP ;以下为键盘扫描程序,计算键值并存入V AL LSCAN: MOV P3,#0F0H ;扫描行码L1: JNB P3.0,L2LCALL DLY_SJNB P3.0,L2MOV LINE,#00HLJMP RSCANL2: JNB P3.1,L3LCALL DLY_SJNB P3.1,L3MOV LINE,#01HLJMP RSCANL3: JNB P3.2,L4LCALL DLY_SJNB P3.2,L4MOV LINE,#02HLJMP RSCANL4: JNB P3.3,A0LCALL DLY_SJNB P3.3,A0MOV LINE,#03HRSCAN: MOV P3,#0FH ;扫描列码C1: JNB P3.4,C2MOV ROW,#00HLJMP CALCUC2: JNB P3.5,C3MOV ROW,#01HLJMP CALCUC3: JNB P3.6,C1MOV ROW,#02HCALCU: MOV A,LINE ;计算键值MOV B,#03HMUL ABADD A,ROWMOV V AL,A ;以下为按键处理程序,对不同的按键作出响应CJNE A,#0AH,J1 ;是否为“CLR”键MOV R1,KEY_CNTCJNE R1,#00H,J2LCALL ALARM_1LJMP STARTJ2: LCALL SHIFTRDEC KEY_CNTW00: LCALL DISP ;等待按键抬起MOV A,P3CJNE A,#0FH,W01LJMP A0W01: MOV A,P3CJNE A,#0F0H,W02LJMP A0W02: SJMP W00J1: MOV A,V ALCJNE A,#0BH,J3 ;判断是否为“ENTER”键MOV R1,KEY_CNTCJNE R1,#06H,J4MOV A,WORD_1 ;比较密码CJNE A,3EH,J5MOV A,WORD_2CJNE A,3FH,J5MOV A,WORD_3CJNE A,40H,J5MOV A,WORD_4CJNE A,41H,J5MOV A,WORD_5CJNE A,42H,J5MOV A,WORD_6CJNE A,43H,J5CLR P1.0LCALL DLY_LLJMP FINIJ5: LCALL ALARM_2LJMP STARTJ4: LCALL ALARM_1LJMP STARTJ3: INC KEY_CNT ;按下数字键MOV A,KEY_CNTCJNE A,#07H,K1LCALL ALARM_1W10: LCALL DISP ;等待按键抬起MOV A,P3CJNE A,#0FH,W11LJMP STARTW11: MOV A,P3CJNE A,#0F0H,W12LJMP STARTW12: SJMP W10LJMP STARTLJMP STARTK1: LCALL SHIFTLW20: LCALL DISP ;等待按键抬起MOV A,P3CJNE A,#0FH,W21LJMP A0W21: MOV A,P3CJNE A,#0F0H,W22LJMP A0W22: SJMP W20LJMP A0ALARM_1:SETB TR0 ;操作错误报警JB TR0,$RETALARM_2:SETB TR0 ;密码错误报警JB TR0,$LCALL DLY_LRET ;定时器中断服务程序,用于声音报警INT_T0: CPL P1.7MOV TH0,#(65536-700)/256MOV TL0,#(65536-700)MOD 256INC CNT_AMOV R1,CNT_ACJNE R1,#30,RETUNEMOV CNT_A,#00HINC CNT_BMOV R1,CNT_BCJNE R1,#20,RETUNEMOV CNT_A,#00HMOV CNT_B,#00HCLR TR0RETUNE:RETI ;段码,输入密码左移子程序SHIFTL:MOV LED_BIT_6,LED_BIT_5MOV LED_BIT_5,LED_BIT_4MOV LED_BIT_4,LED_BIT_3MOV LED_BIT_3,LED_BIT_2MOV LED_BIT_2,LED_BIT_1MOV LED_BIT_1,#40HMOV KEY_6,KEY_5MOV KEY_5,KEY_4MOV KEY_4,KEY_3MOV KEY_3,KEY_2MOV KEY_2,KEY_1MOV KEY_1,V ALRET ;段码,输入密码右移子程序SHIFTR:MOV LED_BIT_1,LED_BIT_2MOV LED_BIT_2,LED_BIT_3MOV LED_BIT_3,LED_BIT_4MOV LED_BIT_4,LED_BIT_5MOV LED_BIT_5,LED_BIT_6MOV LED_BIT_6,#00HMOV KEY_1,KEY_2MOV KEY_2,KEY_3MOV KEY_3,KEY_4MOV KEY_4,KEY_5MOV KEY_5,KEY_6MOV KEY_6,#00HRET ;以下为数码显示子程序DISP: CLR P2.7MOV P0,LED_BIT_8LCALL DLY_SSETB P2.7CLR P2.6MOV P0,LED_BIT_7LCALL DLY_SSETB P2.6CLR P2.5MOV P0,LED_BIT_6LCALL DLY_SSETB P2.5CLR P2.4MOV P0,LED_BIT_5LCALL DLY_SSETB P2.4CLR P2.3MOV P0,LED_BIT_4LCALL DLY_SSETB P2.3CLR P2.2MOV P0,LED_BIT_3LCALL DLY_SSETB P2.2CLR P2.1MOV P0,LED_BIT_2LCALL DLY_SSETB P2.1CLR P2.0MOV P0,LED_BIT_1LCALL DLY_SSETB P2.0RETDLY_S: MOV R6,#10D1: MOV R7,#250DJNZ R7,$DJNZ R6,D1RETDLY_L: MOV R5,#100D2: MOV R6,#100D3: MOV R7,#248DJNZ R7,$DJNZ R6,D3DJNZ R5,D2RETFINI: NOPEND。