基于单片机的电子密码锁的设计课程设计--毕设论文.doc
《基于单片机的电子密码锁的设计课程设计--毕设论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁的设计课程设计--毕设论文.doc(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、洛阳理工学院毕业设计(论文)基于单片机的电子密码锁设计摘 要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能,从而使密码锁具有很高的安全性、可靠性,受到了广大用户的亲睐。本系统由AT89C51单片机系统(主要是AT89C51单片机最小系统)、44矩阵键盘、LCD1602显示和报警
2、系统等组成,具有设置、修改六位用户密码、超次报警、密码错误报警等功能(本设计由P0口控制LCD显示,密码正确显示password ok! 密码错误显示password error!超过三次输入错误启动报警功能。 经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。关键词: AT89C51,LCD1602,电子密码锁,44矩阵键盘目录前言1第1章 概述21.1 电子密码锁简介21.2 电子密码锁发展趋势21.3 本设计所要实现的目标31.4 电子密码锁设计的具体要求31.5 总体设计方案选定4第2章 硬件设计52.1 单片机AT89C5
3、1简介52.1.1 主要特性52.1.2 引脚功能说明62.2 液晶显示LCD1602的介绍92.3 硬件电路的设计112.3.1 硬件设计原理112.3.2 最小系统的设计122.3.3 芯片擦除152.3.4 开锁机构152.3.5 键盘设计162.3.6 显示电路设计182.4 电路设计总图19第3章 系统软件设计203.1 系统软件设计总体流程203.2 主程序模块203.3 键盘扫描及程序流程图213.4 系统密码及开锁程序流程图23第4章 程序调试254.1 系统调试过程254.2 系统调试结果27结论29参考文献30附录3246前言随着社会物质财富的日益增长和人们生活水平的提高,
4、安全成为现代居民最关心的问题之一。此外电子技术的飞速发展,给传统的机械锁带来了巨大的变革,现代的电子技术与机械技术相结合,产生了一大批智能锁:指纹锁、IC卡辨识、遥控锁、声控锁等先进的锁具。虽然这类产品安全性高,但是这类产品的特点是针对特定指纹或有效卡,只能适用于保密要求高且仅供个人使用的箱、柜、房间等。而且卡片式IC卡还有易丢失等特点,加上其生产成本高,安装使用不方便,一定程度上限制了这类产品的普及和推广。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而
5、言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。本文介绍的是一种基于ST89C51单片机和4*4矩阵键盘的硬件设计和软件实现方法,这种电路设计具有防试探按键输入、智能控制上锁、开锁、报警、修改密码等多种功能。保密性强,灵活性高,外接各种执行机构,可广泛用于车辆、大门、保险柜等各种需上锁的场合。 第1章 概述1.1 电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密
6、码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下: (1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 (2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。 (3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 (4) 无活动零件,不会磨损,寿命长。 (5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 (6) 电子密码锁操作简单易行,一学即会。1.2 电子密码锁发展趋势在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门
7、锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但
8、密码简单,易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,
9、如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。可以看出组合使用电子信息是电子密码锁以后发展的趋势。1.3 本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。1.4 电子密码锁设计
10、的具体要求(1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。(2)设计开锁密码位六位密码的电子密码锁。(3)能够LCD显示在密码正确时显示PASSWORD OK,密码错误时显示PASSWORD ERROR,输入密码时显示INPUT PASSWORD。(4)实现输入密码错误超过限定的三次电子密码锁定。(5)44的矩阵键盘其中包括0-9的数字键和A-F的功能键(6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且LED灯亮。 (7)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作 。1.5 总体设计方案选定采
11、用一种是用以AT89C51为核心的单片机控制方案。选用单片机AT89C51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。其原理如下图1-1所示: 图1-1 单片机控制密码锁原理框图 第2章 硬件设计2.1 单片机AT89C51简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗
12、称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C20与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU51是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图2-1 AT89C51与AT89C20512.1.1 主要特性 (1)与MCS-51 兼容; (2)4K字节可编程闪烁存储
13、器; (3)寿命:1000写/擦循环; (4)数据保留时间:10年; (5)全静态工作:0Hz-24Hz; (6)三级程序存储器锁定; (7)128*8位内部RAM; (8)32可编程I/O线; (9)两个16位定时器/计数器; (10)5个中断源; (11)可编程串行通道; (12)低功耗的闲置和掉电模式; (13)片内振荡器和时钟电路; 2.1.2 引脚功能说明 图2-2 单片
14、机引脚图Vcc:电源电压 GND:接地 P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:Pl 是一个带内部上拉电阻的8位双向IO口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,
15、因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL),Flash编程和程序校验期间,Pl接收低8位地址。 P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL),在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRi 指令)时,P2 口线上的内容(
16、也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。 P3 口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路。P3口除了作为一般的I0口线外,更重要的用途是它的第二功能,如下表所示:P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISR
17、T0位缺省为RESET输出高电平打开状态。 ALEPROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的16 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。 EAVPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地
18、)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。 XTALl:振荡器反相放大器及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。 89C51相对于89C51增加的新功能包括:(1)ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,是一个强大易用的功能。(2)最高工作频率为33MHz,89C51的极限工作频率为24MHz,就是说C51具有更高的工作频率,从而具有了更快的计算速度。(3)具有双工
19、UART串行通道。(4)内部集成看门狗计时器,不再需要像C51那样外接看门狗计时器单元电路。(5)双数据指示器。(6)电源关闭标识。(7)全新的加密算法,这使得对于89C51的解密变为不可能,程序的保密性大大加强,这样就可以有效地保护知识产权不被侵犯。(8)兼容性方面:向下完全兼容51全部字系列产品。(9)程序存储器写入方式:二者的写入程序的方式不同,89C51只支持并行写入,同时需要VPP烧写高压。89C51则支持Isp在线编程写入技术。串行写入、速度更快、稳定性更好,烧写电压也仅仅需要45V即可。(10)电源范围:89C51电源范围宽达45.5V,而89C51在低于4.8V和高于5.3V的
20、时候则无法正常工作。(11)烧写寿命更长:89C51标称的1000次,实际最少是100010000次,这样更有利于初学者反复烧写,降低学习成本。综上所述本设计选定AT89C51。2.2 液晶显示LCD1602的介绍1.LM1602字符型模块的性能重量轻:100g;体积小:11mm 厚;功耗低:1015mW;显示内容:192 种字符(57 点字型);32 种字符(510 点字型);可自编8(57)或许(510)种字符;指令功能强:可组合成各种输入、显示、移位方式以满足不同的要求;接口简单方便:可与8 位微处理器或微控制器相联;工作温度宽:050oC可靠性高:寿命为50,000 小时(25oC)2
21、.基本原理(1)液晶体液晶板上排列着若干57 或510 点阵的字符显示位,每个显示位可显示1 个字符,从规格上分为每行8、16、20、24、32、40 位,有一行、两行及四行三类。(2)工作电路它由KS0066、KS0065 及几个电阻电容组成。KS0065 是扩展显示字符用的(例如:16 个字符1 行模块就可不用KS0065,16 个字符2 行模块就要用1 片KS0065)接口方面,有8 条数据,三条控线。可与微处理器或微控制相连,通过送入数据和指令,就可使模块正常工作。(3)LCD 驱动器和控制器A.LCD 驱动器KS0065KS0065 是用低功耗CMOS 技术制造的大规模LCD 驱动I
22、C。它既可当行驱动用,也可以当列驱动用,由202Bin 二进制移位寄存器、202Bin 数据锁存器和202Bin 驱动器组成功能:a.40 通道点阵LCD 驱动;b.可选择当做行驱动或列驱动;c.输入/输出信号:输出,能产生202 个LCD 驱动波型;输入,接受控制器送出的串行数据和控制信号,偏压(V1V6);特性:a.显示驱动偏压低:静态1/5;b.电源电压:+5V+10%;c.显示驱动电源:-5V;d.CMOS 处理;e.60 引脚、塑封;B.LCD 控制器KS0066KS0066 是用低功耗CMOS 技术制造的大规模点阵LCD控制器(兼带驱动器),和4Bin/8Bin 微处理器相连连,它
23、能使点阵LCD 显示大小英文字母、符号。应用KS0066,用户能有少量元件就可组成一个完整点阵LCD 系统。特性:a.容易和Bin/8Bin Mpu 相连;b.可选择57 或510 点字符;c.显示数据RAM 容量:808Bin(80 字符);d.字符发生器ROM 能提供户所需字符库或标准库;字符容量:192 个字符(57 点字符);32 个字符(510 点字符);e.DDRAM 和CGRAM 都能从Mpu 读取数据;f.输出信号:16 个行扫信号(common singnal),40 个列扫信号(sengment singnal)g.电源复位电路;h.显示占空比:1/8duty(1Line,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 密码锁 设计 课程设计 论文
限制150内