单片机密码锁 毕业设计.docx

上传人:b****7 文档编号:26206775 上传时间:2023-06-17 格式:DOCX 页数:35 大小:659.99KB
下载 相关 举报
单片机密码锁 毕业设计.docx_第1页
第1页 / 共35页
单片机密码锁 毕业设计.docx_第2页
第2页 / 共35页
单片机密码锁 毕业设计.docx_第3页
第3页 / 共35页
单片机密码锁 毕业设计.docx_第4页
第4页 / 共35页
单片机密码锁 毕业设计.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

单片机密码锁 毕业设计.docx

《单片机密码锁 毕业设计.docx》由会员分享,可在线阅读,更多相关《单片机密码锁 毕业设计.docx(35页珍藏版)》请在冰豆网上搜索。

单片机密码锁 毕业设计.docx

单片机密码锁毕业设计

编号:

 

本科毕业设计

 

防止多次试探密码的密码锁设计

 

院系:

信息工程学院

姓名:

田园

学号:

**********

专业:

通信工程

年级:

**级

指导教师:

***

职称:

讲师

完成日期:

2012年5月

 

摘要

伴随着科技的进步和人们生活水平的提高,人们的安全防范意识逐步提升,如何实现防盗这一问题也变的尤为突出,传统机械锁由于制作工艺简单,近些年来被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,价格低廉等特点,受到了广大用户的青睐。

本设计采用单片机AT89C51作为密码锁监控装置的检测和控制核心,实现钥匙信息在主机上的初步认证注册、输入密码错误次数过多报警、钥匙丢失报废等功能。

根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护,键盘输入密码更提高了密码的安全性。

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

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

经过在开发板上面的测试,已经达到了应有的效果,本系统已经完成本设计的所有要求。

关键词:

单片机;掉电存储;设计;密码锁

 

Abstract

 

Withthedevelopmentofscienceandtheimprovementofpeople’slivingstandard,people’ssaftetyguardconsciousnessguaduallyimproves,andtheproblemofhowtocarryoutthefamilytoguardagainstthefthasbecomeparticularlyoutstanding.Becauseofthesimpleconstructoftraditionalmachinelock,theaffairsoftheftishackneyed.Theelectroniclockissaferbecauseofitsconfidentiality,usingthevividgood,thesafecoefficientishighandlowprices,beingthemajorityofuserspro-gaze.

Thisdesignusesthesingle-chipmicrocomputerAT89C51asacombinationlockmonitoringdeviceofthedetectionandcontrolcore.Itcancarryoutthekeyinformationtoregisterinthemainonboardinitialattestation,thepasswordinformationencryptetc.Gotocorrespondbylettertheprincipleaccordingtothestringbetween51machines,thisiseasytoencryptandprotecttothepasswordsinformationrandom.Adoptingthenumericalsignalcodesnotonlycancarryoutmanycontrolsoftheroadinformation,raisetheanti-interferencethatsignaldeliver,reducethemistakeaction,butalsothepowerconsumeislow,anditcanrespondquickly,theefficiencydeliverishigh,theworkisstableandreliable,etc.Thesoftwaredesignusesthedesignthoughtoffromtoptobottom,whichcanmakethesystemtowardsweardistributetype,turntothedirectiondevelopmentofsmall,strengthenthesystemanditcanenhancethesystemextensibilityandoperationstability.Thesystemcansatisfyalltherequestsofthisdesignthroughthetestingonthedevelopmentboard,andithasalreadyreachedtheeffectthatexpected.

keyword:

singlechip;offelectricitystorage;design;cryptogramlock

 

1绪论

1.1引言

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

锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。

锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。

现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。

然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。

为什么会出现这种情况呢?

因为传统锁具都存在致命的弱点:

(1)锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏。

(2)锁具制作工艺,技术落后,无法阻止技术手段的开启。

目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。

在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开。

其实,不是他们多高明,而是一般锁具技术原理太过简单。

面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。

1.2电子密码锁的背景

随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。

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

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

从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。

当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。

1.3电子锁设计的意义以及此设计特点

单片机,亦称单片微电脑或单片微型计算机。

它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。

计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。

微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?

纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。

以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。

在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。

这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。

电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。

大大提高了主人物资的安全性,安全可以代替老式机械锁。

目前使用的密码锁种类繁多,各具特色。

本文从经济实用的角度出发,采用AT89C51单机,研制了一款具有防盗自动报警功能的电子密码锁。

该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。

(1)系统设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。

(2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。

(3)具有自动报警功能,自动报警分现场报警和远程报警两种,现场报警由扬声器发出报警声。

(4)两种情况下可报警:

一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。

系统工作时,用户通过按键输入6位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。

 

2方案设计与论证

2.1设计思路

根据本设计的要求,构思如下:

(1)输入密码用矩形键盘,包括数字键和功能键。

(2)LCD显示屏显示输入密码,但是只是输出显示符号*,采用静态输出。

(3)用发光二极管模拟锁的情况,锁关时发光二极管灭,打开时发光二极管亮。

(4)输入密码错误或操作错误时报警。

软件的设计主要包括矩形键盘键值的读取、LCD显示屏输出程序、密码判断程序和报警程序。

2.1.1系统方案一

用以74LS112双JK触发器构成的数字逻辑电路控制方案,密码锁电路包含:

键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。

其总体方框图如图2-1所示。

 

图2-1方案一系统框图

2.1.2系统方案二

采用一种是用以AT89C51为核心的单片机控制方案,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。

另外本设计中采用USB供电,只供实验使用,真正的设计开发中需要根据现实情况设计。

其原理如图2-2所示。

 

图2-2单片机控制电子密码锁总体方框图

2.2方案论证

考虑到数字电路方案原理简单,造价低廉,但是不能满足现在的安全需求,而单片机方案有较大的活动空间,不但能实现所要求的功能,而且能在很大的程度上扩展功能及方便地对系统进行升级,实现基本的密码锁功能,添加掉电存储、声光提示甚至添加遥控控制功能,所以在此采用第二种设计方案。

 

3系统硬件设计

本系统主要以AT89C51为核心,硬件设计主要由主控模块、键盘输入模块、显示模块、报警模块组成。

其中主控模块主要负责信息的集中处理,是由AT89C51组成的最小系统,负责内部程序的运行和对整个系统的调控,最小系统包括时钟电路和复位模块,主要为整个系统的运行提供一个环境。

键盘输入模块主要负责外界输入操作,主要是对整个系统密码的输入和重置,这个模块是整个系统的输入端。

显示模块主要显示系统运行的结果以及输入过程中操作的显示,报警模块主要有蜂鸣器和一个发光二极管,主要用于密码输入正确或者错误是报警。

通过以上几个模块的相互配合完成整个系统的正常运行,该系统设计的硬件设计框图如图3-1所示。

系统整体设计的电路图由于页面关系放在了附录中,系统整体原理电路图见附图1。

 

图3-1系统硬件设计框图

3.1主控模块

主控模块主要包括一个AT89C51芯片和外围的复位电路、振荡电路,负责整个系统的程序运行和中间过程的转换。

3.1.1AT89C51芯片简介

AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。

片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。

因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。

主要性能特征介绍如下:

(1)与MCS-51产品指令系统兼容

(2)4K字节可编程闪烁存储器

(3)寿命:

1000写/擦循环

(4)数据保留时间:

10年

(5)全静态工作:

0Hz-24Hz

(6)三级程序存储器锁定

(7)128*8位内部RAM

(8)32可编程I/O线

(9)两个16位定时器/计数器

(10)6个中断源

(11)可编程串行通道

(12)低功耗的闲置和掉电模式

(13)片内振荡器和时钟电路

另外,AT89C5是用静态逻辑来设计的,其工作频率可下降到零并提供两种软件的省电方式-空闲方式和掉电方式。

在空闲方式中,CPU停止工作。

在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下次硬件复位为止。

主要管脚介绍如下:

VCC(40):

供电电压,其工作电压为5V。

GND(20):

接地。

P0端口(P0.0-P0.7):

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1端口(P1.0-P1.7):

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2端口(P2.0-P2.7):

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3端口(P3.0-P3.7):

P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。

P3口也可作为AT89C51的一些特殊功能口,如表3-1所示。

表3-1P3端口引脚兼用功能表

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外中断0)

P3.3

INT1(外中断1)

P3.4

T0(定时/计数0)

P3.5

T1(定时/计数1)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)

AT89C51单片机的振荡特性说明,XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

AT89C51芯片擦除也是单片机很重要的一部分,整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.1.2AT89C51单片机最小系统

AT89C51最小系统接线如图3-2所示,在XTAL1、XTAL2端接上晶振及两个谐振电容,在RESET端接上相应的电阻、电容,按键复位,加上按键即可组成一个最小系统,按要求通电后,系统就可以工作了。

图3-2AT89C51最小系统

3.1.3时钟振荡电路

单片机内部由构成振荡器的高增益反相放大器,该反相放大器的输入端为XIAL1引脚输出端为XIAL2引脚。

这两个引脚跨接石英振荡器和微调电容,就构成了一个稳定的自激振荡电路。

此系统中电容C4和C5值为30PF,晶振频率为12MHZ。

晶振电路如图3-3所示。

图3-3晶振电路

3.1.4复位电路采用R-C复位电路

AT89C51的外部复位电路有上电自动复位和手动按键复位。

上电复位电容充电来实现。

手动按键复位又分为按键电平复位和按键脉冲复位。

按键电平复位电路是在普通RC复位电路的基础上接一个有下拉电阻1K、上拉电容22μf接VCC,电源由开关接至复位脚(和上拉电容并联),上拉电容支路负责在“上电”瞬间实施复位;开关通过10K下拉电阻分压器,保证对单片机实施按键电平复位。

复位电路如图3-4所示。

图3-4复位电路

此设计采用R_C复位电路,单片机复位电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,电容值越大复位时间越短。

3.2键盘模块

本设计键盘模块采用4×4键盘,其中有0—9个数字键,负责密码的输入,还有五个功能键,分别负责密码的输入、开锁、上锁、密码重置、重置保存。

还有一个按键目前尚未定义。

另外本设计还采用了24C04记录了初始化程序中的原始密码。

3.2.1键盘设计

键盘命令及执行过程:

(1)FFH:

复位键盘。

系统通过此软件复位命令使键盘进入程序复位和内部自测试,称为基本保证测试(BAT)。

复位键盘的过程如下:

键盘收到FFH后立即回送ACK(FAH)作答;

键盘接口收到ACK后,将键盘时钟和数据线置为高电平;

键盘检测到此状态后开始BAT操作;

如果BAT正确完成,键盘发送AAH以表示结束,否则以FDH(或其它任何值)表示诊断有误。

(2)FEH:

重新发送。

当系统检测到从键盘送来的任何传输错误时,它便向键盘发送FEH命令。

键盘接收到此命令后,将重新送出原来的内容。

(3)FDH~F7H:

空操作(保留未用)。

(4)F6H:

设置缺省值。

此命令使键盘所有条件复位到电源接通时的缺省状态,键盘继续扫描。

(5)F5H:

设置缺省值和停止键盘。

此命令使键盘所有条件复位到电源接通时的缺省状态,并停止键盘扫描,等待下一个键盘命令。

(6)F4H:

启动键盘。

键盘接收到此命令后,用ACK(FAH)作答,清除输出缓冲器,并启动键盘开始扫描。

(7)F3H:

设置拍发速率和延时参数。

每当按下任一键时,键盘以拍发速率连续送出键的接通码,直到键被释放为止。

延时参数是指按下一键后,键盘输出的响应时间。

按键原理电路图如图3-5所示,共计数字键10个,功能键6个,采用4×4行列式键盘。

图3-5按键设计图

按键设计有0—9是个数字键另外和六个功能键,其中五个功能键已经定义,分别为开锁键、上锁键、密码重置键、保存密码键和密码输入键。

按键采用查询扫描方式,对按键进行逐行逐列的扫描,确定哪个按键被按下,另外程序中通过软件实现了按键的去抖功能。

3.2.224C04芯片简介

芯片24C02串行E2PROM的读写IIC总线是一种用于IIC器件之间连接的二线制总线。

它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:

不管是单片机、存储器、LCD驱动器还是键盘接口。

24C02是采用铁电技术生产的EEPROM,掉电后数据不丢失。

相比传统的EEPROM具有寿命长,读写速度快的优点,采用IIC总线与外界通讯,容量应该是512字节。

主要用于存储掉电后需要保存的数据,并且很适合做IIC总线通讯程序的测试。

3.3显示模块

本系统采用LCD显示屏作为显示装置,显示密码输入的状态以及各种操作后出现的结果,显示系统如图3-6所示。

图3-6显示模块图

3.4报警模块

报警系统包括一个蜂鸣器和一个发光二极管,实现了密码输入正确时灯亮,密码输入三次之后报警。

其中蜂鸣器模块在Proteus中仿真图如图3-7所示。

图3-7蜂鸣器显示图

另外,单片机其他引脚链接介绍如下,单片的P1口外接1位8段数码管,作为密码输入显示器;INT0外接蜂鸣器,当INT0被置0时,蜂鸣器发出声音;P0口外接发光二极管用作系统工作状态提示。

ALE引脚悬空,复位引脚接到复位电路、VCC接电源、VSS接地、EA接电源。

 

3.5元器件采购

此系统中需要用到的元器件清单如表3-2所示。

表3-2元器件清单

原件名称

备注

单片机

AT89C51

电阻R1,R2

10K,100K各一只

电解电容C3

100F

无极电容C1,C2

30VF

键盘

一个

5V蜂鸣器

一只

晶振

12MHZ

三极管9014

一个

按健S1,S2

各一个

芯片

24C04芯片一个

LCD显示屏

LCD显示屏一个

2极管4004

1只

万能电路板

1块

焊接所需工具如表3-3所示。

表3-3焊接所需工具

工具名称

数量

焊烙铁50W

1只

带松香焊丝

若干

万用表

一个

电路焊接实物图如图3-8实物图(更多实物图片见附录附图2、附图3)。

 

图3-8电路实物图

 

4软件设计

程序设计(Programming)是指设计、编制、调试程序的方法和过程。

它是目标明确的智力活动。

在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。

因此,软件设计在微机控制系统设计中占重要地位。

对于本系统,软件也占有重要的地位。

在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。

数据处理包括:

数据的采集、数字滤波、标度变换等。

过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。

为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。

把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。

所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1