学士学位毕业设计-电子密码锁_第1页
学士学位毕业设计-电子密码锁_第2页
学士学位毕业设计-电子密码锁_第3页
学士学位毕业设计-电子密码锁_第4页
学士学位毕业设计-电子密码锁_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学士学位毕业设计(论文)论文题目学生姓名:* 指导教师:*所在学院:信息技术学院专 业:计算机科学与技术中国·大庆2007 年 6 月黑龙江八一农垦大学本科毕业设计(论文)任务书学生姓名林祥美所在班级计2002级(3)导师姓名马秀莲导师职称副教授论文题目题目分类ÖÖ1应用与非应用类:工程 科研 教学建设 理论分析模拟2软件与软硬结合类:软件硬件软硬结合非软硬件(1、2类中必须各选一项适合自己题目的类型在内打)主要研究内容及指标: 主要参考文献:1(英)Ian Graham. Object-Oriented Methods: Principles&Pract

2、ice. Third Edition. Pearson Education. 20032李春葆等.Visual Basic程序设计.北京:清华大学出版设.2005 阶段规划:开题时间完成论文时间专家审定意见:系主任签字:年 月 日注:1任务书由指导教师填写后交给学生,要求学生妥善保存。2此任务书夹于论文扉页与论文一并装订,作为论文评分依据之。50摘要以往个人资料保存、部门文件档案多用机械锁,但随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。本系统由单片机系统

3、、矩阵键盘、LCD液晶显示和报警系统组成。系统能完成开锁、超时超次报警锁定、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有调电存储、声光提示等功能。本系统成本低廉,功能实用。关键词:AT89S51 AT24C02 电子密码锁 矩阵键盘ABSTRACTTo save personal information in the past, departmental document file multi-purpose mechanical locks, but with the improvement of people's living standards, how to

4、 achieve family security of this problem become particularly prominent, the traditional mechanical locks because of its simple structure, was not uncommon events pry , electronic lock due to the confidential nature of the high use of good flexibility and safety coefficient was low, the majority of u

5、sers of intimacy. This system consists of microcomputer systems, matrix keypad, LCD liquid crystal display and alarm system components. System can complete the unlock, overtime Chaoci alarm lock, modify the basic user password lock function. In addition to the basic lock function, also has stressed

6、electricity storage features such as sound and light tips. The system cost-effective, functional and practical.Keywords: AT89S51 AT24C02 Electronic Code Lock Matrix Keyboard目录摘要IIIABSTRACTIV目录V前言V1绪论11.1电子密码锁简介11.2电子密码锁与传统机械锁的区别11.3本设计所能实现的功能12设计方案选择22.1采用数字电路控制22.2采用以单片机为核心的控制方案。23主要元件介绍33.1主控芯片AT8

7、9S51单片机33.2存储芯片AT24C0263.3液晶LCD160274系统硬件构成94.1设计原理94.2电子锁部分114.3按键输入部分114.4 LCD液晶显示部分124.5 AT24C02密码存储部分134.6报警部分144.7主控部分144.8电源部分15图4.8电源电路155系统软件部分155.1模块介绍15参考文献:20附录一:21附录二:22前言电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。本设计

8、采用AT89S51单片机为主控芯片,结合外围电路,组成电子密码锁。本密码锁的密码长度为六位,用户要开锁必须通过键盘输入正确的密码才能开锁,密码错误时有提示,为了提高安全性,当密码连续三次输入错误或密码输入超时(密码输入时间为5分)密码锁将会报警1分钟,并且锁定键盘5分钟。当密码锁被破坏后,能够继续保持锁定。当密码锁打开时,用户可以修改设置密码,改密码前必须输入原始密码,在输入新密码时需要经过二次确认,用于防止误操作。1绪论1.1电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性

9、价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。1.2电子密码锁与传统机械锁的区别以往个人资料保存、部门文件档案多用机械锁,但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低。根据国外的统计资料,装有电子防盗装置的商业区或居民区盗窃犯罪率平均下降30%左右。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾 馆等公共场所使用。出于安全、方便等方面的需要,许多智能锁( 如指纹辨别、IC卡识别

10、 )已相继问世,但这类产品的特点是针对特定指纹或有效卡,只能适用于保密要求高且仅供个别人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失,加上其成本一般较高,在一定程度上限制了这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。其特点如下:1保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3误码输入保护。当输入密码多次错误时,报警系统自动启动。4电子密码锁操作简

11、单易行,一学即会。5灵活性好,不必佩带钥匙。1.3本设计所能实现的功能本设计采用AT89S51单片机为主控芯片,结合外围电路,组成电子密码锁。本密码锁的密码长度为六位,用户要开锁必须通过键盘输入正确的密码才能开锁,密码错误时有提示,为了提高安全性,当密码连续三次输入错误或密码输入超时(密码输入时间为5分)密码锁将会报警1分钟,并且锁定键盘5分钟。当密码锁被破坏后,能够继续保持锁定。当密码锁打开时,用户可以修改设置密码,改密码前必须输入原始密码,在输入新密码时需要经过二次确认,用于防止误操作。2设计方案选择2.1采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制

12、,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。采用数字密码锁电路的好处就是设计简单,但由于其控制的准确性

13、和灵活性差,故不采用。2.2采用以单片机为核心的控制方案。由于单片机种类繁多,各型号都有一定的应用环境,因此在选用时要多加比较,合理选择,已选择最合适的单片机。一般选取单片机时从下面几个方面考虑:性能、存储器、运行速度、IO口、定时计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上还有一些其他因素如:中断源数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。另外,其选择还受到开发工具、编程器、开发成本、开发人员适应性等等。基于以上因素,结合本设计最终选取AT89S51单片机为本设计的核心元件。在其外围接上键盘用于输入密

14、码开锁和一些其他功能设置,外接AT24C02芯片用于密码的掉电存储。当用户要开锁时,先按开锁键,然后显示屏幕提示输入正确密码,输入后按确认键,密码正确则开锁,密码错误则显示屏有提示开始重新输入密码,当三次错误时或末次输入密码时间过长,密码锁都会发出报警并锁定键盘。当用户需要修改密码时,必须在开锁状态在输入一遍原始密码,当密码正确后才可以修改密码。新密码输入无误后按确认键新密码将得到存储,密码修改成功。可以看出第二方案,功能更强大、控制准确灵活,保密性好,另外还可以通过单片机的剩余IO实现一些扩展功能。因此,根据生活市场的需要,本设计选取此方案。3主要元件介绍3.1主控芯片AT89S51单片机A

15、T89S51是一个低功耗,高性能CMOS8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。3.1.1AT89S51单片机性能简介AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM)

16、,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。本设计采用的是PDIP封装型式的。其主要特性如下: 8031 CPU与MCS-51 兼容 4K字节可编程FLASH存储器(

17、寿命:1000写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路3.1.2AT89S51单片机引脚介绍VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1

18、口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉

19、优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。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

20、 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,

21、此时即使引脚上输入的信号为1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编

22、程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(

23、0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.1.3 89S51单片机的内部结构89S51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的

24、核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM):  89S51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 程序存储器(ROM):  89S51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 定时/计数器(RO

25、M):  89S51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 并行输入输出(I/O)口:  89S51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。  全双工串行口:  89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。  中断系统:  89S51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。 3

26、.2存储芯片AT24C023.2.1概述 AT24C02是一个2K位串行CMOS E2PROM,内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个16字节页写缓冲器。该器件通过IC总线接口进行操作,有一个专门的写保护功能。 3.2.2管脚功及其能描述管脚封装如下图1所示。图3.2-1 AT24C02 DIP封装管脚图管脚功能描述:表3.2-1 AT24C02引脚功能表管脚名称功能A0 A1 A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护Vcc+1.8V 6.0V 工作电压Vss地SCL串行时钟:AT24C02串行时钟输入管

27、脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。 SDA串行数据/地址:AT24C02双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。 A0、A1、A2 器件地址输入端:这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2 )必须连接到Vss。 WP写保护:如果WP管脚连

28、接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。功能简介:AT24C02支持IC,总线数据传送协议IC,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。3.3液晶LCD16023.3.1简介工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)3.3.2管脚介绍1602字符型

29、LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,详细介绍如下表:表3.3-1 LCD1602引脚功能表:引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enab

30、le)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极寄存器控制表如下表:表3.3-2 1602寄存器控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器

31、(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据4系统硬件构成4.1设计原理本设计主要由电子锁、单片机、矩阵键盘、片外存储器AT24C02、1602液晶等组成。其中矩阵键盘适用于输入密码和实现一些特殊功能的输入部分,单片机可以对键盘的输入密码进行判断,当密码正确时锁打开,否则继续锁定。片外存储器是用于保存密码,防止单片机掉电之后修改后的密码丢失。液晶用于给出操作的状态和提示。其中原理框图如4.1:开锁控制电路89S51单片机AT24C02掉电存储串口显示电路矩阵键盘控制指示电路输入错误锁定键盘延时报警控制电路图4.1整体原理结构图具体电路如下图4.1.1:图4.1.

32、1整体电路图4.2电子锁部分其中开锁部分电路如下图4.1.3图4.2电磁锁电路电路驱动和开锁两级组成。由Q2、Q3、R11组成驱动电路,其中Q2可以选择普通的小功率三极管如9014、9018都可以满足要求。D3作为开锁的提示;其中D2、C4是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰,因为 在晶体三极管导通时,电流通过线圈,因二极管反向并接,电流不会流入二极管。当三极管截止时,继电器线圈内磁场产生一个反电动势,其电流方向与原导通时电流方向相同,并且感应电压较高,易损坏三极管。所以介入了续流二极管D2,加上个滤波电容。Q3可选用中功率的三极管如8050,电磁锁的选用要视情

33、况而定,但是吸合力要足够且由一定的余量。电磁锁是由单片机的P1.6口控制,低电平时保持锁定,高电平时打开。4.3按键输入部分由于本设计需要的按键较多,为了节省I/O口,我采用了矩阵键盘。即每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。本设计中采用的

34、是键盘扫描法,将在程序设计部分给与介绍。按键接的是单片机的P2口。具体电路如下图4.2:图4.3矩阵键盘按键功能介绍:10个数字键是用来输入密码的,另外6个功能键分别是:start、del、enter、set、*、#。其中start是开始键,当要开始输入密码时先按一下此键,则进入密码输入状态,否则输入无效,这是为了防止误触键时造成输入状态,以至于起报警。del键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。EN键的功能是确认输入的密码。set是进入重置密码状态的功能按键。*键,是用于切换液晶背景灯的按键,按一下背景灯亮,再按背景灯灭。#键是退出键,当开锁后按下此键,密码锁重新

35、锁定。4.4 LCD液晶显示部分本设计显示部分采用1602液晶,可视化效果比较好。初始状态为无背景光无显示状态;当按下start键后,液晶显示上面那行显示“Please enter:”下面那行空四格有光标,此时可以输入六位密码,密码以“*”的形式显示,当密码超过六位时,液晶也只显示“*”,同时单片机只记录前六位密码,对于后输入的密码不作响应;输入密码后,当密码正确时已经显示“Password ok!”,错误时显示“error!try again”;当在开锁状态,修改密码时,会提示输入旧密码“old password”,错误显示“error!try again”正确后显示“enter new p

36、s”提示输入新密码,输入完毕后按确认,显示“Retype:”提示重新输入,两次密码相同显示“approve!”否则提示“Different,Retype”,按确认键,重新进入“enter new ps”状态。电路图如下图4.4图4.4液晶接线图其中液晶的数据命令选择端RS,接单片机的P1.4口,使能信号端en接单片机的P1.5口,液晶的714引脚接单片机的P0口。液晶的15引脚背景光正极接单片机的P1.0口,用于开关背景光控制。4.5 AT24C02密码存储部分密码存储的作用是在电源断开的时候,存储当前设定的密码信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的

37、总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其电路如图4.5所示。图4.5 AT24C02密码存储电路图图中R1、R2是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次密码,系统就自动调用存储程序,将单价信息保存在AT24C02芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的密码信息,读到缓存单元中,供

38、主程序使用。4.6报警部分本报警电路是用常闭触电的继电器来控制蜂鸣器,而不是采用三极管来直接驱动蜂鸣器,这么做的好处是,单片机被破坏时,也能报警。也就是当单片机P1.7没有信号输出或者为低电平时,蜂鸣器都可以通过继电器的常闭触电而接通电源发出报警。而用三极管直接驱动蜂鸣器时,当单片机被破坏P1.7无信号输出时,蜂鸣器无法报警。电路中Q1用来驱动继电器,续流二极管D1是用来防止三极管截止时,由于继电器的感性线圈感应出的高电压烧坏三极管。R5是用来设置三级管的静态工作点,根据继电器的参数而定。用单片机的P1.7口来控制蜂鸣器,当P1.7为高电平是蜂鸣器不响,否则就会报警。电路图如下图4.6:图4.

39、6报警电路4.7主控部分采用AT89S51单片机为控制核心,晶振选12M,起震电容选30P的瓷片电容。晶振选12M是因为本设计用到了定时器,用12M的比较好计算,其实用别的也可以只要范围在033M之间就可以了,当然太低了会影响单片机的执行速度。复位电路,采用的是按键复位。4.8电源部分电源部分可分为:变压、整流、滤波、稳压4部分。本设计采用7805集成芯片作为稳压器件,效果比较好。具体电路如下图4.8图4.8电源电路5系统软件部分5.1模块介绍该计程计价系统的软件设计分为以下几个模块:(1)主程序模块主程序主要完成初始化、设置中断向量、检查有无按键按下、以及调用显示子函数、掉电存储服务函数等等

40、。主程序的流程图如图5.1所示。(2)键盘扫描及识别子程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图5.1.1和5.1.2所示。(3)密码存储服务程序当比较密码的时候,需要读AT24C02程序,将存储在芯片内的数据读到RAM中,然后和输入的密码相比较。当修改密码的时候,需要把输入的密码保存到AT24C02中,其程序流程如图5.1.3所示。(4)显示子程序由于是分屏显示数据,所以就要用到5个显示子程序,分别是:关闭状态显示子程序(lcd_off)、开锁状态显示子程序(lcd_zhengque)、

41、密码修改状态显示子程序(提示输入原始密码:lcd_gaimi、提示输入新密码:lcd_gaimi1、提示二次输入:lcd_gaimi2、两次密码不同:lcd_shibai、改密成功:lcd_chenggong)、密码输入错误后的提示子程序(lcd_cuowu)。密码在规定的时间内输入错误次数超过3次后的锁定状态调用关闭显示子程序蜂鸣器报警。图5.1主程序流程图图5.1.1键盘扫描程序流程图图5.1.2按键功能流程图图5.1.3密码设置流程图结论本设计从经济实用的角度出发,采用美国ATMEL公司的AT89S51单片机与低功耗CNOS型AT24C02作为主控芯片和数据存储单元,结合了外围的键盘、显

42、示、报警、开锁等电路,研制了一款可修改密码,含有报警功能的电子密码锁。设计完全可行,并且能够达到目的。并且具有开发成本低、可靠性高、操作简单等特点,可应用于住宅,办公等保险设备上,有一定的实用性。当然本设计还存在一些缺点,比如密码存储芯片,与单片机是分开的,存在一些安全隐患,需要有待改善。参考文献:1郭天祥.新概念51单片机C语言教程.电子工业出版社.20092叶启明.单片机制作的新型安全密码锁J.家庭电子.20053何立民.单片机初级教程.北京:北京航空航天大学出版社.20064鹏为.单片机典型系统设计实例精讲M北京,电子工业出版社.20065祖龙起,刘仁杰.一种新型可编程密码锁J.大连轻工

43、业学院学报.20026郭海英.基于单片机的电子安全密码锁的设计M.现代电子技术.20057李明喜.新型电子密码锁的设计J.机电产品开发与创新.20048瞿桂荣.电子密码锁J.家庭电子.20009DeitelMH.Visual Basic 6.0 How to Program.Prentice Hall.2003致谢在这大学的最后一页里,我要感谢的人很多,首先要感谢我的学校,感谢在这四年中交给我的做人道理,让我从一个懵懂的高中生变成一个成熟的青年。还要感谢我的论文指导老师怀宝付老师,在他的指导下我完成了论文,怀老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点播、热忱鼓励。怀老师一

44、丝不苟的作风,研究求是的态度,踏踏实实的精神,不仅授我以文,而且叫我做人,给我以终身受益无穷之道。我从心里感谢他。还要感谢的是我们各科任课教师,他们从大一把我们迎进来,到现在把我们送走,在四年来一直照顾我各门的学习和生活,所以在治理也一定要特别感谢他们。当然,还要感谢寝室兄弟们在我完成论文过程中给予我的的帮助和鼓励,也是他们陪我度过这四年的生活,最后要感谢的是我的父母、朋友,对于他们我更是有千言万语,也无法表达,但是还要说声感谢,感谢你们一直都伴随着我。通过这次毕业设计,使我受到了一次用专业知识、专业技能分析和解决问题系统的锻炼,使我在综合知识的选用方面,在设计硬件的基本思想、方法等方面都向前

45、迈了一大步,为日后成为合格的应用型人才打下了良好的基础。这段经历,使我们在实践中了解自己,让我们学到了很多在课堂上根本就学不到的知识,也开阔了视野,增长了见识,为我们以后更好地立足社会打下了坚实的基础。它不仅使我在理论上对编程这个领域有了全新的认识,而且在实践能力上也得到了提高,真正地做到了学以自用。我们的大学生活即将远去,将要离开亲切的学校,和敬爱的老师。今后我们将独自面对社会,但是我们的学习绝对不会止步。感谢老师的辛勤培育,我能顺利的完成毕业设计,除了自身的努力之外,与学校老师的辛勤培育是分不开的,老师对我们孜孜不倦的教诲,也衷心的希望学校能够越办越好,祝老师们身体健康!附录一:密码锁使用

46、说明:1.键盘说明:09十个键位密码输入键;start键为开始键,当要开始输入密码时先按此键,否则无法输入对其他按键不作响应(*键除外);*键为液晶背景光控制按键;Del键为清除键,当要清除已输入的错误密码时,按下del键可将输入的密码全部清除,以便重新输入;enter键为确认键,当输入完密码后需按下此键。Set键为设置键,按下此键进入密码设置状态。2.输入密码:按start键, 晶显示Please enter,光标移至下一行,用密码输入键输入六位密码,密码在液晶上以“*”显示,当密码超过六位时,只记录前六位。想重置密码时按,del键清除。按enter键确认,密码正确显示Password ok

47、!,锁打开,此时,可以按#键退出,使密码锁保持锁定;也可以按set键进入密码设置状态。错误时显示error!try again,此时输入的密码缓存清零,可以按start键重新输入。注意:当连续输入密码错误超过3次或者单次输入时间超过5分,密码锁会报警1分,同时锁定键盘5分。3.重置密码:在开锁状态下,按下set键,液晶显示old password,提示输入初始密码,用于防止密码被恶意更改。当密码错误时,显示error!try again;可以数字键继续输入密码;也可按#键退出设置状态显示Password ok!,再按下#退出开锁状态。密码正确时显示enter new ps,提示输入新密码,输入

48、密码后按enter键确认,显示Retype:,提示二次输入,再次输入密码按enter确认。当两次密码相同,显示approve!按#键退出设置状态,显示Password ok!,再按下#键退出开锁状态;当两次密码不同时,提示Different,Retype此时可以重新两次输入新密码,也可按#退出设置状态。在重置密码时,不会发生报警。4.功能特点:当单片机被破坏时,蜂鸣器会一直报警;当要开锁时,输入密码时间过长或错误次数超过3次,会有声音报警,闭锁键盘;可以重置密码,并且掉电或复位后密码不丢失。附录二:程序清单:/*/*电子密码锁程序*/*/#include<reg51.h>#defi

49、ne uchar unsigned char#define uint unsigned int#define keys P2 /矩阵键盘口#define LCD_DATA P0/#define mima_num 6 /密码在液晶上显示六位#define DELAY_TIME 60 /不要小于50,用于24c02时序的延时#define TRUE 1#define FALSE 0#define AT24C02ADDR 0x10 /AT24C02 存放密码的地址uchar gaimima=0;uchar key;/按键编码值uchar key_num=0;/键值初始值为零uchar i;uchar

50、 t=0;uchar tt=0;uchar ps6; /输入时密码缓存uchar icps6; /at24c02 中密码缓存uchar newps6;/新密码缓存uchar code shuru12="Please enter"uchar code gaimi12="old password"uchar code gaimi112="enter new ps"uchar code gaimi27="Retype:"uchar code shibai16="Different,Retype"uch

51、ar code chenggong8="approve!"uchar code zhengque12="Password ok!"uchar code cuowu15="error!try again"sbit LCD_Light=P10;/液晶背景光sbit LCD_RS=P14; /液晶数据/命令选择端sbit LCD_E=P15; /液晶使能信号端sbit Lock=P16; /密码锁控制端sbit Bell=P17; /报警控制端sbit SCL=P30; /24c02时钟端sbit SDA=P31; /24c02数据端bit flag_right=0;bit flag_5min=0; /定时五分钟标志位bit flag_1min=0; /定时1分钟标志位bit flag_start=0; /开始输入密码标志位bit flag_alarm=0; /报警标志位/*子函数声明*/*液晶子函数声明部分*/void WriteDataLcd(uchar wdata); /lcd写数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论