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

合集下载

毕业设计(论文)-基于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单片机电子密码锁设计

基于51单片机电子锁设计摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。

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

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

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

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

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

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

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

Electronic Lock Design with 51 Serires Single Chip ControllerAbstractAlong 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 引言 (1)1.2 电子密码锁的背景 (1)1.3 电子锁设计的意义的本设计特点 (2)2.系统设计 (3)2.1系统总设计结构图 (3)2.2.开锁机构设计 (3)2.2.1主控芯片AT89C51单片机的简介 (4)3系统硬件设计 (6)3.1键盘设计 (6)3.2系统电路设计: (8)3.2.1 晶振时钟电路 (8)3.2.2复位电路设计 (8)3.2.3串口引脚功能介绍 (8)3.2.4 其它引脚 (9)3.3电路图的绘制 (9)3.3.1 PROTEL 99 SE简介: (12)3.4原器件采购 (14)3.5电路焊接 (14)4.软件设计 (17)4.1 系统软件设计整体思路 (17)4.2系统软件设计流程图 (18)5 程序调试 (19)5.1 程序调试用到的软件及工具 (19)5.2 KEIL C51简介 (19)5.3 调试过程 (19)6 设计总结与展望 (22)致谢 (23)参考文献 (24)附录 (25)1 绪论1.1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。

基于51单片机密码锁设计与调试 电子信息工程毕业设计论文

基于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显示器用于显示作用。

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

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

基于单片机控制的电子密码锁设计目录摘要 (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单片机组成。

基于51单片机的电子密码锁

基于51单片机的电子密码锁

电子密码锁一、工作原理本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O 线的数目,在按键比较多的时候,通常采用这样方法。

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N ×M个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

4×4矩阵键盘的工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

扫描原理把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。

由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让8051误判为多次输入同一按键,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。

利用51单片机设计一个用16个按键输入,6位数字输出显示的电子时钟。

如图1-1所示。

图1-1按键分布图具体要求和按键功能介绍如下:1. 上电后,6 位数码管显示“—”;2. 设置6 位密码,密码通过键盘输入,按“确定”键确认,如密码正确,将锁打开;3. 密码由用户自己设定,若密码正确即锁被打开,则指示灯被点亮;4. 若密码1 次输入错误,则报警;5. 按Set 键,修改密码;6. 按Cle 键可清除已输入的密码,重新进行输二、系统硬件组成本次设计的主要有键盘,数码管,STC89C52芯片,以及LED灯。

毕业设计_基于51单片机的密码锁设计

毕业设计_基于51单片机的密码锁设计

基于AT89S51与AT24C02密码锁的设计(苏州大学应用技术学院)目录前言 (1)第一章绪论 (2)第1.1节研究背景 (2)第1.2节电子密码控制简介 (2)第1.3节国内外研究现状和发展趋势 (2)第1.4节本设计所要实现的目标 (3)第二章主要元器件介绍及IIC总线说明 (4)第2.1节主控芯片AT89S52 (4)2.1.1. 主要性能参数 (4)2.1.2. 功能特性概述 (4)2.1.3. 引脚功能说明 (5)2.1.4. 特殊功能寄存器 (6)第2.2节 AT24C02 (9)2.2.1. 性能 (10)2.2.2. 引脚功能描述 (10)第2.3节 LCD1602 (10)2.3.1. 接口信号说明 (11)第2.4节晶振振荡器 (11)第3章系统硬件构成 (13)第3.1节设计原理 (13)第3.2节电路总图构成 (13)3.2.1. 报警部分 (14)3.2.2. AT24C02存储部分 (14)3.2.3. 显示部分 (15)3.2.4. 复位电路 (15)3.2.5. 晶振部分 (16)3.2.6. 开锁电路 (16)3.2.7. 键盘输入模块 (17)第4章仿真设计 (18)第4.1节Protues仿真软件概述 (18)第4.2节Protues与Keil的连调 (18)第4.3节Protues与Keil的连调的仿真结果 (19)第5章系统软件设计 (21)第5.1节主程序流程图 (21)第5.2节按键功能流程图 (21)第5.3节密码设置流程图 (22)第5.4节开锁流程图 (23)结论 (24)参考文献 (25)致谢 (26)附录 (27)附录1: 实物照片 (27)附录2: 部分源程序 (29)基于AT89S51与AT24C02密码锁的设计(苏州大学应用技术学院)【摘要】:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

基于51单片机电子密码锁的设计与开发

基于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目录第一章绪论......................................... 错误!未定义书签。

(完整word版)基于51单片机的智能密码锁

(完整word版)基于51单片机的智能密码锁

单片机的电子密码锁目录第一章绪论......................................................... . (2)1.1电子密码锁简介......................................................... .. (2)1.2电子密码锁设计的背景及意义............................................................................. . (3)第2章总体设计............................................................................. . (3)2.1设计分析............................................................................. (3)2.2系统结构............................................................................. (4)第3章硬件电路设计............................................................................. (5)3.1单片机最小系统设计............................................................................. . (5)3.1.1时钟电路............................................................................. (5)3.1.2 复位电路 ............................................................................ . (6)3.1.3 最小系统 ............................................................................ (6)3.2 矩阵键盘设计 ............................................................................ . (7)3.3 LCD显示模块设计 ............................................................................ (8)3.4 开锁机构 ............................................................................ ............................................... .93.5 报警机构 ............................................................................ ............................................... .103.6 硬件综合设计 ............................................................................ ....................................... .10第4章软件设计 ............................................................................ ........................................ (11)4.1 软件总体设计 ............................................................................ .. (11)4.2 键盘扫描子程序 ............................................................................ ................................... .124.3 定时器中断子程序 ............................................................................ ......................... . (14)4.4 密码输入子程序 ............................................................................ . (15)4.5 报警子程序 ............................................................................ (16)总结 ............................................................................ ................................................................ .17参考文献 ............................................................................ ...................................................... (18)附录程序源代码 ............................................................................ ....................................... . (19)摘要:本文中将要介绍的单片机电子密码锁是一种通过判断密码输入是否正确来控制电路或是芯片的工作状态,进而控制锁的打开和闭合。

基于51单片机的电子密码锁设计与应用研究

基于51单片机的电子密码锁设计与应用研究

基于51单片机的电子密码锁设计与应用研究基于51单片机的电子密码锁设计与应用研究摘要:随着科技的不断发展,电子密码锁在我们的日常生活中被广泛应用。

本文以51单片机为核心,对电子密码锁进行了设计与研究。

通过对电子密码锁的原理、组成部分及其在实际应用中的优点进行了探讨,并详细介绍了设计过程和程序实现。

利用51单片机的高性能、低功耗和强大的扩展性,成功实现了电子密码锁的设计与应用。

实验结果表明,该电子密码锁具有良好的安全性和可靠性,可以满足人们对安全性的需求。

关键词:51单片机;电子密码锁;设计;应用;安全性引言随着信息技术和智能化的快速发展,电子密码锁作为一种安全可靠的门禁控制系统,已经在社会生活中得到广泛应用。

相比于传统的钥匙锁而言,电子密码锁具有更高的安全性、更方便的使用特点,成为现代化社会安全管理的重要组成部分。

51单片机作为一种常用的微控制器,具有高性能、低功耗、价格经济等优点,因此被广泛应用于电子密码锁的设计和研究中。

本文旨在通过基于51单片机的电子密码锁的设计与应用研究,探讨电子密码锁的工作原理、设计流程和实现方法,并对其在实际应用中的优势进行分析。

一、电子密码锁的原理与组成部分电子密码锁是一种基于数字电子技术的门禁控制系统,主要由输入模块、控制模块和输出模块组成。

1. 输入模块:输入模块主要用于输入开锁密码。

一般来说,输入模块可以使用按键、密码键盘、触摸屏等方式。

在本设计中,我们选择了密码键盘作为输入模块。

2. 控制模块:控制模块主要负责接收输入的密码并进行处理,判断是否正确并控制锁的开关状态。

51单片机就是一个常用的控制模块。

3. 输出模块:输出模块用于将控制模块的指令转化为实际操作,控制锁的开关或者报警功能。

一般来说,输出模块可以使用电磁铁、继电器、蜂鸣器等设备。

在本设计中,我们采用了电磁铁作为输出模块。

二、电子密码锁的设计过程1. 硬件设计电路连接:将密码键盘的输出与51单片机的输入口相连,将电磁铁与51单片机的输出口相连。

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

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

前言随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。

电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。

目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。

下面就是现在主流电子密码锁:目前常见的遥控式电子防盗锁主要有光遥控和无线电遥控两类。

键盘式电子密码锁从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。

卡式电子防盗锁使用各种“卡”作为钥匙的电子防盗锁是当前最为活跃的产品,无论卡的种类如何多种多样,按照输入卡的操作方式,都可分为接触式卡和非接触式卡两大类。

生物特征防盗锁人的某些与生俱来的个性特征(如手、眼睛、声音的特征)几乎不可重复,作为“钥匙”就是唯一的(除非被逼迫或伤害)。

因此,利用生物特征做密码的电子防盗锁,也特别适合金融业注重“验明正身”的行业特点。

人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。

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

随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。

据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。

这种锁是通过键盘输入一组密码完成开锁过程。

研究这种锁的初衷,就是为提高锁的安全性。

由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。

电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。

电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁等。

但较实用的还是按键式电子密码锁。

20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。

基于51单片机电子密码锁的课程设计_

基于51单片机电子密码锁的课程设计_

基于单片机的电子密码锁设计摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。

在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。

本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E²PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。

它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。

用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。

本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。

关键词:电子密码锁;报警;液晶显示Design of Electric Password Lock Based on MCUAbstractAs people's living standards improve, the question how to achieve home security has become particularly prominent. In science and technology is developing continuously, electronic code lock as a security guard's role is increasingly important.This article from the economical point of view, the system by the STC89C52 with low power CMOS based E ² PROM AT24C02 as the master chip and the data memory unit, combined with the external keyboard, LCD display, alarm, unlock and other circuit modules. It performs the following functions: enter the password correctly under the premise of unlocking; wrong password case the alarm; password can be changed according to user needs. Master in C language control program and EEPROM AT24C02 chip to read and write process are combined and compiled with the Keil software, designed a number you can change the password, the password with an electronic alarm control system.The lock has a reasonable design, simple, low cost, safe and practical, confidentiality, flexibility, and high, with some promotional value.Key Words:Electric Password lock;Alarm; LCD Display目录引言 (8)第1章绪论 (9)1.1 电子密码锁的背景与研究意义 (9)1.2电子密码锁的现状及发展趋势 (9)1.3本章小结 (11)第2章系统整体方案设计 (12)2.1 设计目标 (12)2.2 主控部分的选择 (12)2.3 密码输入方式的选择 (12)2.4 本章小结 (13)第3章硬件系统设计 (14)3.1系统芯片介绍 (14)3.1.1单片机STC89C52功能介绍 (14)3.1.2 LCD1602显示器介绍 (15)3.1.3存储芯片AT24C02介绍 (16)3.1.4 I2C总线介绍 (16)3.2 硬件电路设计 (18)3.2.1 复位电路 (18)3.2.2 晶振电路 (19)3.2.3存储电路 (19)3.2.4 键盘输入电路 (20)3.2.5 显示电路 (21)3.2.6 电源输入电路 (22)3.2.7 报警电路 (22)3.2.8 开锁电路 (23)3.3 本章小结 (24)第4章软件程序设计 (25)4.1 主程序流程图 (25)4.2 按键软件设计 (25)4.2.1 按键功能程序流程图 (25)4.2.2 按键功能子程序 (26)4.3 密码设置软件设计 (27)4.3.1 密码设置程序流程图 (27)4.3.2 密码设置子程序 (28)4.4 开锁软件设计 (28)4.4.1 开锁程序流程图 (28)4.4.2 开锁功能子程序 (29)4.5 本章小结 (30)第 5 章系统仿真、调试及结论 (31)5.1 Proteus软件简介 (31)5.2 进入Proteus ISIS (31)5.3 工作界面 (31)5.4 各模块的电路图及说明 (33)5.4.1 电子密码锁系统主模块AT89C51单片机 (33)5.4.2 电子密码锁系统的键盘模块 (34)5.4.3 电子密码锁系统的显示模块 (34)5.4.4 电子密码锁系统的晶振复位电路 (35)5.4.5电子密码锁系统的掉电存储及报警电路 (35)5.4.6 电子密码锁系统的开锁电路 (35)5.4 本章小结 (36)结论与展望 (37)致谢 (38)参考文献 (39)附录A 密码锁电路原理图 (40)附录B 一篇引用的外文文献及其译文 (41)附录C 主要参考文献的题录及摘要 (47)附录D 主要C语言源程序 (49)插图清单图2- 1系统整体设计框图 (12)图3- 1 STC89C52引脚分布图 (14)图3- 2 AT24C02引脚图 (16)图3- 3开始结束信号图 (17)图3- 4复位电路原理图 (19)图3- 5晶振电路原理图 (19)图3- 6掉电存储电路原理图 (20)图3- 7键盘输入原理图 (21)图3- 8显示电路原理图 (22)图3- 9电源输入电路原理图 (22)图3- 10报警电路原理图 (23)图3- 11密码锁开锁机构示意图 (23)图3- 12开锁电路原理图 (24)图4- 1主程序流程图 (25)图4- 2按键功能流程图 (26)图4- 3密码设置流程图 (27)图4- 4开锁流程图 (29)图5- 1 Proteus启动时的屏幕 (31)图5- 2 Proteus ISIS的工作界面 (32)图5- 3 Proteus运行按键 (32)图5- 4 Proteus仿真图 (33)图5- 5 STC89C52单片机引脚图 (33)图5- 6键盘输入模块 (34)图5- 7密码显示模块 (34)图5- 8晶振及复位电路 (35)图5- 9掉电存储及报警电路 (35)图5- 10开锁电路 (36)表格清单表3-1 LCD1602引脚接口说明表 (8)表3-2 LCD1602基本操作程序 (15)引言在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。

基于51单片机的电子密码锁系统设计任务书

基于51单片机的电子密码锁系统设计任务书

基于51单片机的电子密码锁系统设计任务书西安工业大学毕业设计(论文)任务书院(系)专业班姓名学号1.毕业设计(论文)题目:基于51单片机的电子密码锁系统设计2.题目背景和意义:STC 公司生产的89C52 单片机是一款性价比非常高的单片机,它完全兼容ATMEL 公司的51 单片机,除此之外它自身还有很多特点,如:无法解密、低功耗、高速、高可靠、强抗静电、强抗干扰等。

传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,与之相比,电子锁具有保密性高,使用灵活性好,安全系数高等特点。

通过设计电子密码锁系统程序,对单片机硬件选型,绘制电路原理图到编写程序并运行调试进行深入了解,对于从事计算机,自动化控制等工程应用具有一定意义。

3.设计(论文)的主要内容(理工科含技术指标):深入了解单片机c语言编程,用以AT89C52为核心的单片机控制方案进行设计,系统主要由52单片机系统、矩阵键盘、LED显示和报警系统组成。

系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能,具体实现是通过键盘输入正确的密码将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。

密码可以由用户自己修改设定,锁打开后才能修改密码。

修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,防止误操作。

利用protel制作电路图,焊接电路板。

要求一系列工作按步骤、有计划的完成。

4.设计的基本要求及进度安排(含起始时间、设计地点):第一周到第二周:完成资料查寻以及相关知识学习;第三周到第四周:完成设计方案及开题报告;第五周到第十周:完成中期报告,汇报进度;第十一周到第十五周:完成全部设计工作;第十五周到第十六周:完成毕业设计论文,准备答辩。

5.毕业设计(论文)的工作量要求①实验(时数)*或实习(天数):②图纸(幅面和张数)*:③其他要求:论文字数: 15000字以上指导教师签名:年月日学生签名:年月日系(教研室)主任审批:年月日说明:1本表一式二份,一份由学生装订入附件册,一份教师自留。

大学毕设论文__基于51单片机的密码锁设计程序

大学毕设论文__基于51单片机的密码锁设计程序

#include "1302.h"void write_ds1302_byte(uchar dat){uchar i;for(i=0;i<8;i++){T_IO=dat&0x01;T_CLK=1;T_CLK=0;dat=dat>>1;}}uchar read_ds1302_byte(){uchar i;for(i=0;i<8;i++){ACC=ACC>>1;ACC7=T_IO;T_CLK=1;T_CLK=0;}return (ACC);}void write_ds1302_dat(uchar addr,uchar dat) {T_EN=0;T_CLK=0;T_EN=1;write_ds1302_byte(addr);write_ds1302_byte(dat);T_CLK=1;T_EN=0;}uchar read_ds1302_data(uchar addr){uchar date;T_EN=0;T_CLK=0;T_EN=1;write_ds1302_byte(addr);date=read_ds1302_byte();T_EN=0;T_CLK=0;return (date);}void set_real_time(uchar *pclock){uchar i,addr=0x80;EA=0;write_ds1302_dat(0x8e,0x00);for(i=0;i<7;i++){write_ds1302_dat(addr,*pclock);pclock++;addr+=2;}// write_ds1302_dat(0x8e,0x80);EA=1;}void get_real_time(uchar Curtime[]){uchar j;uchar address=0x81;EA=0;for(j=0;j<7;j++){Curtime[j]=read_ds1302_data(address);address+=2;}EA=1;}#ifndef __1302_H__#define __1302_H__#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit T_IO=P2^5;sbit T_CLK=P2^4;sbit T_EN=P1^0;sbit ACC0=ACC^0;sbit ACC7=ACC^7;void write_ds1302_byte(uchar dat);uchar read_ds1302_byte();void write_ds1302_dat(uchar addr,uchar dat);uchar read_ds1302_data(uchar addr);void set_real_time(uchar *pclock);void get_real_time(uchar Curtime[]);#endif#include "delay.h"#include "1602.h"void lcd_busy_wait() /*LCD1602 忙等待*/{lcd_rs_port = 0;lcd_rw_port = 1;lcd_en_port = 1;lcd_data_port = 0xff;while (lcd_data_port&0x80);lcd_en_port = 0;}void write_com(uchar command) /*LCD1602 命令字写入*/ {lcd_busy_wait();lcd_rs_port = 0;lcd_rw_port = 0;lcd_en_port = 0;lcd_data_port = command;lcd_en_port = 1;lcd_en_port = 0;}void write_data(uchar dat)lcd_busy_wait();lcd_rs_port=1;lcd_rw_port =0;lcd_en_port=0;P0=dat;lcd_en_port=1;lcd_en_port=0;}void wtite_lcd_1602_dat(uchar x_pos,uchar y_pos,uchar dat) {x_pos&=0x0f;y_pos&=0x01;if(y_pos==0){x_pos=x_pos+0x80;}else{x_pos=x_pos+0x80+0x40;}write_com(x_pos);lcd_busy_wait();lcd_rs_port=1;lcd_rw_port=0;lcd_en_port=0;P0=dat;lcd_en_port=1;lcd_en_port=0;}void lcd_init() /*LCD1602 初始化*/{lcd_delay(20);write_com(0x38);lcd_delay(100);write_com(0x38);lcd_delay(50);write_com(0x38);lcd_delay(10);write_com(0x08);write_com(0x01);write_com(0x06);write_com(0x0c);lcd_data_port = 0xff; /*释放数据端口*/}#ifndef __1602_H__#define __1602_H__#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit lcd_rs_port=P3^5;sbit lcd_rw_port=P3^6;sbit lcd_en_port=P3^4;#define lcd_data_port P0void lcd_busy_wait();void write_com(uchar command);void write_data(uchar dat);void wtite_lcd_1602_dat(uchar x_pos,uchar y_pos,uchar dat); void lcd_init();#endif#include "2402.h"#include "delay.h"void i2c_start(){scl=1;delay1();sda=1;delay1();sda=0;delay1();}void i2c_stop(){sda=0;delay1();scl=1;delay1();sda=1;delay1();}void i2c_ack(){uchar i;scl=1;delay1();while((sda==1)&&(i<250)) i++;scl=0;delay1();}void i2c_nack(){scl=1;delay1();sda=1;scl=0;delay1();}void i2c_write_byte(uchar date)// { //uchar i,temp;temp=date;for(i=0;i<8;i++)//{ //temp=temp<<1;//scl=0; //delay1();; //sda=CY;//delay1();//scl=1;//} //scl=0; //delay1();//sda=1;//delay1();//}//uchar i2c_read_byte(){uchar i,temp=0;scl=0;// delay1();;// sda=1;delay1();for(i=0;i<8;i++){temp=temp<<1;scl=1;delay1();temp=temp|sda;scl=0;delay1();}return (temp);}void write_at2404(uchar addr,uchar dat) {i2c_start();i2c_write_byte(0xa0);i2c_ack();i2c_write_byte(addr);i2c_ack();i2c_write_byte(dat);i2c_ack();i2c_stop();delay3(5000);}uchar read_at2402(uchar addr){uchar temp;i2c_start();i2c_write_byte(0xa0);i2c_ack();i2c_write_byte(addr);i2c_ack();i2c_start();i2c_write_byte(0xa1);i2c_ack();temp=i2c_read_byte();i2c_nack();i2c_stop();return (temp);}#ifndef __2402_H__#define __2402_H__#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit scl=P2^1;sbit sda=P2^0;void i2c_start();void i2c_stop();void i2c_ack();void i2c_nack();void i2c_write_byte(uchar);uchar i2c_read_byte();//void write_at2404(uchar addr,uchar dat); uchar read_at2402(uchar addr);#endif#include"delay.h"void delay(uchar x){uchar a,b;for(a=x;a>0;a--)for(b=200;b>0;b--);}void lcd_delay(uchar ms) {uchar j;while(ms--){for(j=0;j<250;j++){;}}}void delay1(){ ; ;}void delay3(uint q){uint e;for(e=0;e<q;e++);}#ifndef __DELAY_H__#define __DELAY_H__#include <reg52.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned intvoid delay(uchar x);void lcd_delay(uchar ms); void delay1();void delay3(uint m);#endif#include "display.h"void display(){P0=0;dula=1;dula=0;P0=0x7f;wela=1;wela=0;}#ifndef __DISPLAY_H__#define __DISPLAY_H__#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit dula=P2^6;sbit wela=P2^7;void display();#endif#include "delay.h"//一般放在最前面这个前后由调用先后决定着#include "scan.h"#include "1602.h"//extern void write_data(uchar dat);//extern void write_com(uchar command);uchar key;uchar temp,count,aa,bb,cc; /*一般将这些变量定义在C文件中当主函数需要时用extern引用*/ bit shu_flag,modify_flag,rst;bit fun_flag; //功能键标志位没使用bit down_flag,up_flag,open_flag;void keyscan(){P1=0xfe;temp=P1;temp=temp&0xf0;if(temp!=0xf0){delay(15);if(temp!=0xf0){temp=P1;switch(temp){case 0xee: key=0;shu_flag=1;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;case 0xde: key=1;shu_flag=1;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;case 0xbe: key=2;shu_flag=1;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;case 0x7e: key=3;shu_flag=1;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;// beep=0;delay(500);}// beep=1;// write_data('*');count++;}while(temp!=0xf0);{temp=P1;temp=temp&0xf0;}}P1=0xfd;temp=P1;temp=temp&0xf0;if(temp!=0xf0){delay(15);if(temp!=0xf0){temp=P1;switch(temp){case 0xed: shu_flag=1;key=4;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break; //aa,bb,cc定时器中使用case 0xdd: shu_flag=1;key=5;write_data('*'); //每次按键清零count++;if(count>6) count=0;aa=0;bb=0;cc=0;break; //保证在按键器件不会自动返回case 0xbd: shu_flag=1;key=6;write_data('*'); //count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;case 0x7d: shu_flag=1;key=7;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;// beep=0;delay(500); // 松手检测屏蔽蜂鸣器噪音污染}// beep=1;// write_data('*');count++;}}P1=0xfb;temp=P1;temp=temp&0xf0;if(temp!=0xf0){delay(15);if(temp!=0xf0){temp=P1;switch(temp){ //fun_flag 功能键标志位case 0xeb: key=8; shu_flag=1;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;case 0xdb: key=9; shu_flag=1;write_data('*');count++;if(count>6) count=0;aa=0;bb=0;cc=0;break;case 0xbb: modify_flag=1;fun_flag=1;aa=0;bb=0;cc=0;break; //修改键case 0x7b: rst=1;fun_flag=1;aa=0;bb=0;cc=0;break; //返回键}while(temp!=0xf0){temp=P1;temp=temp&0xf0;// beep=0;delay(500);}// beep=1;}}P1=0xf7;temp=P1;temp=temp&0xf0;if(temp!=0xf0){delay(15);if(temp!=0xf0){temp=P1;switch(temp){ //清除键case 0xe7: //key=12;shu_flag=1;break;aa=0;bb=0;cc=0;switch(count){case 1: write_com(0x80+0x40+5);write_data(' ');write_com(0x80+0x40+5);break;case 2: write_com(0x80+0x40+6);write_data(' ');write_com(0x80+0x40+6);break;case 3: write_com(0x80+0x40+7);write_data(' ');write_com(0x80+0x40+7);break;case 4: write_com(0x80+0x40+8);write_data(' ');write_com(0x80+0x40+8);break;case 5: write_com(0x80+0x40+9);write_data(' ');write_com(0x80+0x40+9);break;case 6: write_com(0x80+0x40+0x0a);write_data(' ');write_com(0x80+0x40+0x0a);break;}case 0xd7: key=13;up_flag=1;fun_flag=1;aa=0;bb=0;cc=0;break; //开门键case 0xb7: key=14;down_flag=1;fun_flag=1;aa=0;bb=0;cc=0;break;case 0x77: key=13;open_flag=1;fun_flag=1;aa=0;bb=0;cc=0;break;while(temp!=0xf0){temp=P1;temp=temp&0xf0;// beep=0;delay(500);}// beep=1;if(count>0) count--;break;} //清除数字}}}#ifndef __SCAN_H__#define __SCAN_H__#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intvoid keyscan();#endif/***********************************************************名称:电子密码锁时间:2014年8月2日16:33:48 WRITE BY:KengkengToday is Valentine's Day程序功能:1 :开机1302显示时间,按下key15:开门键进入输入密码界面2 :输入密码输入错误超过三次电子锁锁死倒计时60s之后重新设置蜂鸣器快速响3 :输入正确进入菜单页面两个选择key13:开门key10:修改密码4 :修改已输入密码可由key12键清除重新输入5 :选择key13开门打开继电器显示倒计时15s开门蜂鸣器慢响提示15s内开门否则15后关门关闭继电器并自动返回时间页面6 :选择key10修改密码共两次两次密码一致时设置成功否则会一直提示输入密码7 :修改的密码存入2402中上电读出8 :修改密码无限循环直到输入正确为止可以使用key11:返回键返回9 :在10s内无任何按键按下时自动返回时间页面可重新进入10:在20s内无任何按键按下时进入掉电模式外部中断唤醒键盘列表:00 01 02 0304 05 06 0708 09 修改返回清除开锁切换开门修改modify_flag 返回rst 清除key12 //切换down_flag// 开锁up_flag 开门open_flag//切换的功能跟返回大致相同***********************************************************/#include<reg52.h>#include<intrins.h>#include "delay.h" //delay.h最好放在最前面#include "scan.h"#include "1302.h"#include "2402.h"#include "1602.h"#include "display.h"#define uchar unsigned char#define uint unsigned intextern uchar key;extern uchar temp,count,aa,bb,cc; /*一般将这些变量定义在C文件中extern声明不是定义当主函数需要时用extern引用*/extern bit shu_flag,modify_flag,rst;extern bit fun_flag; //功能键标志位没使用extern bit down_flag,up_flag,open_flag;uchar data lcd1602_line1[]={" 2014/08/02 000"};uchar data lcd1602_line2[]={" 10:42:50 "};uchar data time_data_buff[7]={0x50,0x42,0x10,0x02,0x08,0x06,0x14};uchar code Weeks[][3]={{"SUN"},{"MON"},{"TUE"},{"WED"},{"THU"},{"FRI"},{"SAT"},{"SUN"}};//二维数组八行三列bit mod_flag,rst_flag;uchar code num_to_char[] = {"0123456789ABCDEF"};uchar k,s,w;bit return_flag=0;//切换时间页面标志位bit sleep_flag;//进入掉电模式标志位uchar m,l;bit k_flag=0;bit b_flag=0; //倒计时标志位bit flag10; //保护标志位bit flag3,flag4,flag2,flag1;/*数字标志位修改密码标志位返还标志位1 2 3 4 保护数据标志位,防重复写入*/ sbit beep=P2^3;//sbit sda=P2^0; //IO口定义//sbit scl=P2^1;uchar code table[]={"Enter password:"};uchar code table1[]={"Error!try again:"};uchar code table2[]={"Welcome to China"};uchar code table4[]={"Set password: "};uchar code table5[]={"Input again: "};uchar code table6[]={" Fuck you!!! "};uchar code table7[]={" Get out!!!! "};uchar code table8[]={" Set succed "};uchar code table9[]={"Be patient..."};uchar code table10[]={" Count down..."};uchar code table12[]={"Please select "};uchar code table13[]={"KEY10:For modify"};uchar code table14[]={"KEY13:For open "};uchar code table15[]={"Open the door"};void T0_init(){TMOD=0x11;TH0=(65536-46080)/256;// 由于晶振为11.0592,故所记次数应为46080,计时器每隔50000微秒发起一次中断。

基于51单片机的指纹密码锁设计

基于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单片机的电子密码锁毕业设计论文

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

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

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

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

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

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

基于单片机的电子密码锁毕业论文设计目录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显示部分 (2)3.4键盘输入部分 (3)3.5密码存储部分 (4)3.6电源部分 (5)3.7其它功能部分 (7)3.8 电子密码锁的电路原理图 (10)4电子密码锁的软件组成 (11)4.1系统软件设计流程 (11)4.2 Keil uVision2软件介绍 (12)4.3各主要部分的功能实现程序设计 (13)4.3.1初始化程序设计 (13)4.3.2按键处理程序设计 (16)4.3.3密码更改程序设计 (20)5系统仿真 (23)5.1系统仿真过程 (23)5.2仿真调试中遇到的问题及解决办法 (24)总结 (1)致谢........................................ 错误!未定义书签。

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

单片机专业毕业设计基于51单片机电子密码锁目录第1节引言 (1)1.1 电子密码锁述 (1)1.2 本设计主要任务 (1)1.3 系统主要功能 (2)第2节系统硬件设计 (3)2.1 系统的硬件构成及功能 (3)2.2 AT89C2051单片机及其引脚说明 (3)第3节系统软件设计 (5)3.1 系统主程序设计(流程图) (5)3.2 软件设计思想 (5)3.3 储单元的分配 (5)3.4 系统源程序 (6)3.5 系统应用说明 (9)3.6 小结 (9)结束语 (10)参考文献 (11)附录 (12)电子密码锁第1节引言1.1 电子密码锁概述随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的。

(8)密码设定完毕后要有2秒的提示音。

以上是初步设定的电子密码锁的主要功能。

1.3系统主要功能本系统主要由单片机系统、键盘、报警系统组成。

系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。

除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。

本系统成本低廉,功能实用。

第1节电子密码锁硬件设计2.1 系统的硬件构成及功能根据总体要求分析,该密码锁电路所需要的I/O口线少于15个,所以可选择质优价廉的AT89C2051,而且不需要外接程序存储器和数据存储器及其它扩展部件。

电子密码锁由电路和机械两部分组成,此次设计的电子密码锁可以完成密码的修改、设定及非法入侵报警、驱动外围电路等功能。

从硬件上看,它由六部分组成,分别是:LED显示器,显示亮度均匀,显示管各段不随显示数据的变化而变化,且价格低廉,它用于显示键盘输入的相应信息;无须再加外部EPROM存储器,且外围扩展器件较少的AT89C52单片机是整个电路的核心部分;振荡电路为CPU产生赖以工作的时序;显示灯是通过CPU输出的一个高电平,通过三极管放大,驱动继电器吸合,使外加电压与发光二极管导通,从而使发光二极管发光,电机工作。

现在来进行修改密码操作。

修改密码实质就是输入的新密码去取代原来的旧密码。

密码的存储用来存储一位地址加1,密码位数减1,当八个地址均存入一位密码,即密码位数减为零时,密码输入完毕,此时按下确认键,新密码产生,跳出子程序。

为防止非管理员任意的进行密码修改,必须输入正确密码后,按修改密码键,才能重新设置密码。

密码输入值的比较主要有两部分,密码位数与内容任何一个条件不满足,都将会产生出错信息。

当连续三次输入密码出错时,就会出现报警信息,LED显示出错信息,蜂鸣器鸣叫,提醒人注意。

在电路中,P1口连接8个密码按键AN1~AN8,开锁脉冲由P3.5输出,报警和提示音由P3.7输出。

BL是用于报警与声音提示的喇叭,发光管D1用于报警和提示,L是电磁锁的电磁线圈。

图1 电子密码锁硬件电路图2.2.1AT89C2051单片机及其引脚说明AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版与Intel MCS-51系列单片机的指令和输出管脚相兼容。

由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。

内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,AT89C2051是一个有20个引脚的芯片,引脚配置如图2所示。

与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。

图2 AT89C2051引脚配置AT89C2051芯片的20个引脚功能为:VCC 电源电压。

GND 接地。

RST 复位输入。

当RST变为高电平并保持2个机器周期时,所有I/O引脚复至“1”。

XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2 来自反向振荡放大器的输出。

P1口 8位双向I/O口。

引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。

P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。

在闪速编程与编程校验期间,P1口也可接收编码数据。

P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。

P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。

P3口的输出缓冲器能接收20mA 的灌电流;P3口写入“1”后,内部上拉,可用输入。

P3口也可用作特殊功能口,功P3口同时也可为闪速存储器编程和编程校验接收控制信号。

第3节系统的软件设计图3给出了该单片机密码锁电路的软件流程图。

图中AA1~AA8以及START、SET、SAVE是程序中的标号,是为了理解程序而专门标在流程图的对应位置的,分析程序时可以仔细对照参考。

3.1 系统主程序设计流程图(见附页)3.2 软件设计思想软件任务分析环节是为软件设计做一个总体规划。

从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能(如计算、显示、输出控制和通信等);另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件。

这两类软件的设计方法各有特色;执行软件的设计偏重算法效率,与硬件关系密切,千变万化;监控软件着眼全局,主要处理人机关系,特点是逻辑严密、千头万绪。

本设计要完成的软件任务主要有:一是键盘输入的识别;二是8位LED的显示;三是密码的比较、修改、存储;;四是报警和开锁控制电平的输出。

根据以上任务,结合硬件结构,可以将键盘输入的识别用来作为系统的监控程序(主程序),用显示程序来延时,不断查询键盘。

如果有键按下,就得到相应的键值。

结合当前系统所处的状态,调用不同的操作模块,实现相应的功能。

而执行模块主要有数字输入模块、确定键模块、修改键模块、显示模块及报警模块。

3.3 存储单元的分配该密码锁中RAM存储单元的分配方案如下:31H~38H:依次存放8位设定的密码,首位密码存放在31H单元;R0:指向密码地址;R2:已经键入密码的位数;R3:存放允许的错码次数3与实际错码次数的差值;R4至R7:延时用;00H:错码标志位。

对于ROM存储单元的分配,由于程序比较短,而且占用的存储空间比较少,因此,在无特殊要求时,可以从0030H单元(其它地址也可以)开始存放主程序。

3.4 系统源程序ORG 0000HAJMP STARTORG 0030HSTART:ACALL BPMOV:R0,#31HMOV:R2,#8SET:MOV:P1,#0FFHMOV:A,P1CJNE:A,#0FFH,L8AJMP SETL8: ACALL DELAYCJNE A,#0FFH,SAVEAJMP SETSAVE:ACALL BPMOV @R0,AINC R0DJNZ R2,SETMOV R5,#16D2S:ACALL BPDJNZ R5,D2SMOV R0,#31HMOV R3,#3AA1:MOV R2,#8AA2:MOV P1,#0FFH MOV A,P1CJNE A,#0FFH,L9 AJMP AA2L9:ACALL DELAY CJNE A,#0FFH,AA3 AJMP AA2AA3 ACALL BPCLR CSUBB A,@R0INC R0CJNE A,#00H,AA4 AJMP AA5AA4:SETB 00HAA5:DJNZ R2,AA2 JB 00H,AA6CLR P3.5L3:MOV R5,#8 ACALL BPDJNZ R4,L3MOV R3,#3SETB P3.5AJMP AA1AA6:DJNZ R3,AA7MOV R5,#24L5:MOV R4,#200L4:ACALL BPDJNZ R4,L4DJNZ R5,L5MOV R3,#3AA7:MOV R5,#40ACALL BPDJNZ R5,AA7AA8:CLR 00HAJMP AA1BP:CLR P3.7 MOV R7,#250 L2:MOV R6,#124L1:DJNZ R6,L1CPL P3.7DJNZ R7,L2SETBRETDELAY MOV R7,#20L7:MOV R6,#125L6:DJNZ R6,L6DJNZ R7,L7RETEND3.5 应用说明若按键AN1~AN7分别代表数码1~7,按键AN0代表数码8。

在没有键按下时,P1.0~P1.7全是高电平1,若某个键被按下,相应的口线就变为低电平0。

相关文档
最新文档