ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:202.60KB ,
资源ID:8060762      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8060762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的电子密码锁设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的电子密码锁设计论文.docx

1、基于单片机的电子密码锁设计论文基于单片机的电子密码锁设计班级: :指导老师:摘要目前国普遍使用的锁都是机械式的,这种锁结构简单、使用方便,但利用工具可轻易将其打开,这给用户带来极大的困扰和损失。本文介绍了一种基于STC89C52 单片机的电子密码锁的设计方法。该设计以STC89C52单片机为硬件核心,结合44 矩阵键盘电路、 LCD 显示电路、密码存储电路、开锁电路和声音报警电路等外围电路。利用单片机灵活的编程方法和丰富的I/O 端口,该系统能实现密码的输入、清除、比较,密码正确开锁,密码错误次数超次报警,用户修改密码等功能。关键词:单片机;电子密码锁;矩阵键盘;声音报警ABSTRACTAt

2、present, the widespread use of all mechanical locks, this lock structure is simple and easy to use, but easy to use tools to open it, which gives users a lot of confusion and loss.This paper introduces a design of electronic password lock which is based on the SCM ofSTC89C52. This design uses the SC

3、M of STC89C52 as hardware core , combining with other peripheralcircuits such as 44 matrix keyboard interface circuit, password storage circuit,LCD displaycircuit,unlock circuit and voice alarm circuit. Using the flexible programming and the rich I/O port ofthe SCM ,the system can accomplish the fol

4、lowing functions:input ,clear or compare the password,unlock when the password is correct, alarm when the wrong enter password times is over and the usercan change the password. keywords:Single-Chip Microcomputer; electronic password lock; matrix keyboard; voicealarm1 绪论1.1设计的背景和意义随着科学技术的发展和社会物质财富的日

5、益增长,安全问题已成为人们关注的焦点之一。而锁自古以来就是用于安全防盗的重要器件,如何制作既安全可靠又使用方便的锁是制锁工程师们长期以来研制的主题。众所周知机械锁由于结构上的局限其钥匙很容易被仿制,很多钥匙可以互开,安全性差,且钥匙丢失后其安全性随即大打折扣。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的电子密码锁应运而生。本文从经济实用的角度出发,以STC89C52 单片机为核心,设计了一款具有自动报警功能的电子密码锁。该密码锁具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱与档案柜等需要防盗的场所,有比较强的实用性。1.2 电子密码锁

6、的国外现状据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要

7、有电源提供能量,使用还局限在一定围,难以普与,所以对它的研究一直没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国有几个厂生产供应市场。但国自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。1.3 电子密码锁的发展趋势在日常的生活

8、和工作中, 住宅与部门的安全防、单位的文件档案、财务报表以与一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都获得了大大的提高。随着大规模集成电路技术的发展,特别是单片

9、机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普与和推广。鉴于目前的技术水平与市场的接受程度,电子密码锁是这类电子防盗产品的主流。2 系统设计2.1系统方案设计以STC89C52单片机为电子密码

10、锁系统核心,使用4*4矩阵键盘作为数据输入方式,驱动1602A显示器提示程序运行过程和开锁的步骤,利用AT24C02芯片实现掉电存储。图1为单片机控制密码锁的系统原理框图。图1 单片机控制密码锁的系统原理框图2.2系统工作原理 本系统以ST C89C52 单片机为核心, 使用4 * 4 矩阵键盘作为数据输入方式, 驱动1602 显示器提示程序运行过程和开锁的步骤。本系统的密码判断过程如下:当使用者输入6 位密码后按下确认键, 单片机通过密码逐个比较, 如果输入的6 位密码和设定的密码完全一样, 那么能成功驱动开锁模拟灯(LED绿灯)将锁打开。若输入6 位密码与设定的密码不一样, 按下确认键后,

11、 模拟灯(LED绿灯)不亮, 自动返回主界面可以重新输入。由于输入密码过程中难免输入失误, 如果密码输错, 蜂鸣器会短时报警一次, 但是系统不允许无限次地出错, 以免密码被套用, 当3 次密码输入都错误, 单片机将驱动蜂鸣器长时间报警 。 修改密码功能如下:当密码输入正确后, 按下修改密码键可新设置密码。每设定一位新密码, 单片机将其送给E2PROM, 当6 位新密码都输入完毕,按确认键系统将自动回到程序开始, 重新读取密码并保存, 使用者需输入新的密码才能将锁打开。3 系统硬件设计3.1 STC89C52最小系统设计3.1.1时钟电路设计 时钟电路用于产生单片机工作时所必需的时钟控制信号,常

12、用的时钟电路有部时钟方式和外部时钟方式。部时钟方式电路外接两个电容和一个晶振,根据振荡频率要求的不同选用不同阻值的电容和晶振。时钟电路中的晶振震荡频率围通常是1.2MHz12MHz,STC89C52常选择6MHz或12MHz的石英晶体,为消除误差,得到准确的波特率,本设计选择震荡频率为11.0592MHz的石英晶,时钟电路如图2所示。图2时钟电路3.1.2复位电路设计 复位是单片机的初始化操作,只需在单片机的复位引脚加上大于2个机器周期的高电平就可使单片机复位,当程序运行出错或操作进入死循环状态可通过复位重新启动程序。MCS-51的复位是由外部的复位电路来实现的,STC89C52也不例外,复位

13、电路通常采用上电自动复位和按钮复位两种方式,为方便复位操作,本文采用按键电平复位,电路如图5所示。其中C取10uF,R2取10K,复位电路如图3所示。图3复位电路3.2 键盘、显示电路硬件设计3.2.1键盘电路硬件设计 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要M条行线和N条列线,即可组成具有MN个按键的键盘。由于本设计中要求使用16个按键输入,为减少键盘与单片机接口时所占用的I/O线的数目,故使用矩阵键盘。本设计中,矩阵键盘行线和单片机P1.0-P1.3相连,列线与单片机P1.4-P1.7相连。矩阵键盘设计电路图,如图4所示。 键盘

14、扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列线电平状态,为低电平即表示该键按下。 图4 矩阵键盘设计电路图3.2.2显示电路硬件设计 本设计中,显示电路采用1602A液晶显示器显示7。如下所示,图5为1602A液晶显示器的接口示意图,表1为接口说明。图5 1602A液晶显示器的接口示意图表1 接口说明管脚序名称电平功能描述1VSS0V接地2VCC5.0V电源输入3V0LCD驱动电压输入4RSH/L寄存器选择:RS=H,选择数据寄存器;RS=L,选择指令寄存器5R/WH/L读写信号线:R/W=H,读操作;R/W=L,写操作6EH,HL使能信号7DB0H/L数据线8DB

15、1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15BLA5.0V背光电源正极16BLK0V背光电源负极本设计中液晶串口一共用到11根导线与单片机相连, 具体连接情况如表2显示模块与MCU连接说明所示。表2 显示模块与MCU连接说明序号1602A液晶显示器引脚STC89C52单片机引脚1RS引脚P2.5(A13)2R/W引脚P2.6(A14)3E引脚P2.7(A15)4D0引脚P0.0(AD0)5D1引脚P0.1(AD1)6D2引脚P0.2(AD2)7D3引脚P0.3(AD3)8D4引脚P0.4(A

16、D4)9D5引脚P0.5(AD5)10D6引脚P0.6(AD6)11D7引脚P0.7(AD7)3.3 AT24C02掉电存储单元的设计 本设计中掉电存储单元采用AT24C02外部存储器,其作用是在系统电源断开的时候,存储当前设定的密码数据。 AT24C02是一个2K位串行CMOS E2PROM,部含有256个8位字节, 含一个16字节页写缓冲器,具有写保护功能。其采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。如下所示,图6为AT24C02管脚示意图,表3为A

17、T24C02管脚说明。图6 AT24C02管脚示意图表3 AT24C02管脚说明管脚名称功能管脚名称功能A0 A1 A2器件地址选择SDA串行数据/地址SCL串行时钟信号WP写保护VCC1.8V-6.0V工作电压VSS接地 本设计中,AT24C02的SCL和SDA引脚接上拉电阻后与单片机的P3.4(T0)和P3.5(T1)脚相连,其电路图如图7所示。 图7 AT24C02掉电存储单元设计图3.4 声光提示报警电路3.4.1 报警提示电路 报警提示电路采用小蜂鸣器提示。蜂鸣器能够根据脉冲信号,以与信号的频率发出各种不同的声音,这样可以根据系统要求在密码出入正确和密码输入错误时发出不同的声音提示,

18、已达到报警的要求。蜂鸣器电路,如图8所示。 图8 报警电路3.4.2 LED提示电路 当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。本次设计中,基于节省成本考虑,用发光二极管代替电磁锁,信息通过LCD显示,并利用蜂鸣器和二极管声光指示。其中,绿发光二极管亮,表示开锁;否则,表示密码输入错误并开启报警电路,如图9所示。图9 LED开锁电路4 系统软件设计 在系统设计中,除了硬件设计之外,软件设计也是很重要的,它是系统工作的指挥者,因此系统软件设计时要遵循结构合理、操作性能好、具有一定的保护措施、兼容性好的设计原则来开发设计。密码锁系统软件设计主要

19、包括主程序模块、密码比较判断模块、键盘扫描模块、修改密码模块、数码管显示模块等与按键检测模块。4.1 主程序模块 主程序主要用于定义全局变量,给全局变量赋初值,启动定时器,为整个程序提供数据;检测按键;调用显示等功能。系统程序流程如图10所示。否是否是否是报警,红灯亮否是否是 图10 系统程序流程图4.2 密码比较判断模块 该模块的功能是将键盘输入的密码利用if语句与设定的密码进行逐个比较,若密码完全正确则开锁;若不正确,则开启报警电路,复位后重新输入密码。其密码输入和比较判决流程图如图11所示。 图11 密码输入和比较判决流程图4.3 密码修改模块 在密码输入正确情况下,可以按下“重置密码”

20、对密码进行重新设置,每设定一位就将密码送给AT24C02存储起来,当设置6位密码完毕后,系统将自动跳到程序开始,调用新设置的密码。图12为修改密码流程图。图12 修改密码流程图4.4 键盘扫描模块 键盘使用矩阵式键盘,由行和列组成,CPU对所有键盘进行监视,从而实现逐列扫描键盘确定被按键的具体位置、判断键盘上有无键按下、消除去抖动、判断闭合的键是否释放等功能。如图13所示,为键盘扫描流程图。 图13 键盘扫描流程图4.5 1602A液晶显示模块 此模块包括液晶初始化、命令的输入、显示数据的输入。其中命令是用于控制液晶状态是否显示光标, 光标是否闪烁, 是否清除原来数据以与显示的具体位置。数据显

21、示主要是将要显示的信息按需要准时显示出来。5 总结 从基本方案的制定,到硬件电路的选择,再到电路的焊接,最后进行程序调试在此期间我遇到很多困难,但经过不懈努力,和再学习,终于击破了各个难点,达到的所需要的效果。在这次设计中,我深刻认识到自身的不足专业知识不足,缺少实战经验。与此同时,也因为这次设计,我们得到一定的锻炼,体会到理论与实践相结合的重要意义。 由于本次设计时间有限,一些设想没有完全实现,比如说:电子密码锁的网络通信扩展,人机界面智能化等。期待以后有机会对以上设想进行进一步研究实践。但是,基本成功实现了1602 液晶显示, 密码开锁, 密码设置, 防止多次试探, 报警等功能。致 非常感

22、在这次毕业设计中给我很大帮助的朱金荣老师,感朱老师一如既往的严格要求,感朱老师给我们的压力,让我强迫自己从开始的迷茫困惑中渐渐熟悉掌握了毕业设计的思路和方向。在论文写作和实物设计过程中,朱老师严格认真的教学作风深深感染了我,我对他提出的各种疑难问题他都一一给我做了解答,并给我纠正了许多错误。这次毕业设计我学到许多新的知识,也巩固了很多原来学过的知识,这对我以后的工作有极帮助。同时感曾经妍,凯,朱俊,卫峰等多位老师的专业课的讲授,才有学生今日的设计成果。感王志俊同学对我的无私的帮助。感祖国,感党,给我们当代大学生营造的和谐环境,才有我们今日顺利完成的学业。参考文献1郭海英.基于单片机的电子安全密

23、码锁的设计J.现代电子技术,2005,28(13):95-97.2毅刚.单片机原理与应用M.:高等教育,2003.3谭浩强.C程序设计M.:清华大学,20054章伟,雪,浩然.跟我学C程序设计M.:清华大学,2010 5培仁.基于C语言编程MCS-51单片机原理与应用M.:清华大学,2002 6周润景,丽娜,丁莉.基于PROTEUS的电路与单片机设计与仿真M.:航天航空大学,2010720070711.亚斌YB1602A液晶模块使用说明书DB/OL. wenku.baidu./view/7c80dd9951e79b89680226f3.html8AT24C02DB/OL. baike.baid

24、u./view/1837975.htm9at24c02中文资料DB/OL. .doc88./p-.html10金桂,向国梁.基于C语言STC89C52单片机电子密码锁的设计与仿真J.现代电子技术,2010,19:176-182.附录1 器件清单器件名称规格型号编号数量单价(元)总价(元)备注MCUSTC89C52U1177外部存储器AT24C02U210.430.43LCD1602ALCD112020发光二极管3mmD110.050.05绿光普亮3mmD210.050.05红光普亮三极管8550Q110.20.2晶振12MHzX110.50.5电阻4.7k40.020.0810k20.020.

25、0410K排阻RP110.50.5电容22PC1C220.050.110FC310.050.5IC座8脚IC座10.350.3540脚IC座10.30.3单排插座10.50.5蜂鸣器LS110.650.65电池盒5V电池盒144焊锡212导线111电路板915cm万用板11.51.52 源程序#include#define uchar unsigned charvoid WrToROM(uchar Address,uchar Data,uchar Num);void RdFromROM(uchar Address,uchar Data,uchar Num);void LCD_init();vo

26、id LCD_DISPLAY(uchar *str);void KeyDisp();extern uchar passwd5;uchar ppp5=222;void main() LCD_init(); WrToROM(0x00,passwd,5); RdFromROM(0x00,passwd,5); LCD_DISPLAY(Welcome china ! Plz input passwd); while(1) KeyDisp(); /* 80s52对键盘 */#include#include#define uchar unsigned char void LCD_DISPLAY(uchar

27、*str);void write_(uchar );void write_data(uchar Data);void WrToROM(uchar Address,uchar Data,uchar Num);void RdFromROM(uchar Address,uchar Data,uchar Num);uchar code tab1=ERROR!;uchar code tab2=RIGHT!;uchar code tab3=0123456789*;uchar code tab4=Input the codes:;uchar code tab5=Input new codes:;uchar

28、code tab6=Input old codes:;uchar mima9 =22224444; /存放用户密码和正确密码:前四位是用户输入密码,后四位是系统的正确密码uchar passwd5=1111;uchar te9=0 ;sbit relay = P20;sbit beep = P21;/*矩阵键盘子程序*/void delay(uchar v)/延时 while(v!=0) v-;void delaynms(uchar n) /延时50*n毫秒 uchar a,b,c; for(c=n;c0;c-) for(b=173;b0;b-) for(a=143;a0;a-);uchar Keycan(void) /按键扫描程序 P1.0-P1.3为行线 P1.4-P1.7为列线 uchar rcode, ccode; P1 = 0xF0; / 发全0行扫描码,列线输入 if(P1&0xF0)!= 0xF0) / 若有键按下 delay(200);/ 延时去抖动 if(P1&0xF0) != 0xF0) rcode = 0xFE; / 逐行扫描初值 while(rcode&0x10)!= 0) P1=rcode; / 输出行扫描码 if(P1&0x

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

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