基于LCD1602显示的电子密码锁设计.docx

上传人:b****3 文档编号:10698739 上传时间:2023-05-27 格式:DOCX 页数:38 大小:27.64KB
下载 相关 举报
基于LCD1602显示的电子密码锁设计.docx_第1页
第1页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第2页
第2页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第3页
第3页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第4页
第4页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第5页
第5页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第6页
第6页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第7页
第7页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第8页
第8页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第9页
第9页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第10页
第10页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第11页
第11页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第12页
第12页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第13页
第13页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第14页
第14页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第15页
第15页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第16页
第16页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第17页
第17页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第18页
第18页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第19页
第19页 / 共38页
基于LCD1602显示的电子密码锁设计.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于LCD1602显示的电子密码锁设计.docx

《基于LCD1602显示的电子密码锁设计.docx》由会员分享,可在线阅读,更多相关《基于LCD1602显示的电子密码锁设计.docx(38页珍藏版)》请在冰点文库上搜索。

基于LCD1602显示的电子密码锁设计.docx

基于LCD1602显示的电子密码锁设计

课程设计

题目基于LCD1602显示的电子密码锁设计

学院名称电气工程学院 

指导老师朱卫华 

班级电子信息工程01班

学号20094470128 

学生姓名 周后景 

2013年1月

1.绪论--------------------------------------------------------------------------3

1.1引言---------------------------------------------------------------3

1.2摘要---------------------------------------------------------------4

2.总体设计方案--------------------------------------------------------------5

2.1设计思路-----------------------------------------------------------5

2.2方案确立-----------------------------------------------------------5

2.3总体设计方框图-----------------------------------------------------5

3.设计原理分析--------------------------------------------------------------6

3.1单片机及其外围电路-------------------------------------------------6

3.1.1复位电路的设计-----------------------------------------------6

3.1.2时钟电路的设计-----------------------------------------------7

3.2密码控制电路------------------------------------------------------7

3.2.1矩阵键盘电路的设计------------------------------------------7

3.2.1报警控制电路的设计------------------------------------------9

3.2.3液晶显示电路------------------------------------------------9

4.系统软件设计---------------------------------------10

4.1系统主程序--------------------------------------------------------10

4.2初始化及按键识别--------------------------------------------------11

4.3开锁处理----------------------------------------------------------12

4.4改密处理-----------------------------------------------------------13

4.5液晶显示子程序-----------------------------------------------------13

5.仿真调试与测试----------------------------------------------------------14

总结----------------------------------------------------------------------------16

参考文献----------------------------------------------------------------------17

附录----------------------------------------------------------------------------17

1.1引言

在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报

表以及一些个人资料的保存多以加锁的办法来解决。

若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。

随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。

为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

密码锁具有安全性高、成本低、功耗低、易操作等优点。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。

随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

设计本课题时构思的方案是用以STC89C52为核心的单片机控制方案。

1.2

摘要

单片机技术是智能化检测与控制领域应用非常普及并且具有很大潜力的技

术。

论文阐述一个基于单片机的液晶显示电子密码锁的设计与实现。

系统采用美国Atmel公司的AT89S52单片机作为系统核心,液晶显示器LCD1602作为输出设备显示系统提示信息,4*4矩阵薄膜键盘作为输入设备,配合蜂鸣器、继电器等电路构成整个系统硬件;系统软件采用汇编语言编写。

设计的系统液晶显示,密码修改方便,具有报警、锁定等功能,使用便捷简单,符合住宅、办公用锁需求,具有一定的实用价值。

关键词:

密码锁;单片机;STC89S52;LCD1602;4*4矩阵键盘

Abstract

Single-chipmicrocomputertechnologyisverypopularandhasgreatpotentialinapplicationof

intelligentdetectionandcontrolfield.Thisthesisdescribesthedesignand

implementationofLCDelectronicpassword-locksystembasedonSCM.ThesystemusestheproductofAmericaAtmelcorporationAT89S52asthecoreofsystem,liquidcrystalmonitor1602astheoutputdevicedisplayingthepromptinformationofsystem,4*4matrixmembranekeyboardastheinputdevice,withbuzzer,relay,andothercircuitstogetherconstitutethesystemhardware.Thesoftwareofthesystemiswritteninassemblylanguage.ThedesignedsystemdisplayinLCD,changepasswordeasily,hasthefunctionofalarming,locking,andsoon.Thissystemissimpleandeasytouse,meetsthedemandofresidential,officelockneeds,hassomepracticalvalue.

Keywords:

Password-Lock;Single-chipmicrocomputer;STC89C52;LCD1602;4×4matrixkeyboard

2总体设计方案

2.1设计思路

该电路是一种采用以AT89S52为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还要根据实际需要添加调电存储、声光提示甚至增加遥控控制功能。

2.2方案确立

为了实现密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性。

设计采用一个超级密码,送电开机时,只要输入超级密码便可开门,这样可预防停电后再送电时无密码可用。

采用了1602液晶显示器来作为显示单元,提高了可读性,使用户对密码锁的运行情况一目了然。

2.3总体设计方框图

本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。

其中矩阵键盘用于输入数字密码和进行各种功能的实现。

由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可。

系统整体框图如图2.1所示。

图2.1系统结构框图

●各模块功能如下

1.键盘输入模块:

分为密码输入按键与几个功能按键,用于完成密码锁输入功

能。

2.蜂鸣器报警电路:

用于完成输错密码时候的警报功能。

3.晶振电路:

用于单片机的起振。

4.复位电路:

完成系统的复位。

5.显示模块:

用于完成对系统状态显示及操作提示功能。

6.开锁电路:

应用继电器及发光二极管模拟开锁,完成开锁及开锁提示

3设计原理分析

本系统外围电路包括键盘输入部分、密码存储部分、复位部分、显示部分、

报警部分、开锁部分组成,根据实际情况键盘输入部分选择4×4矩阵键盘,显示部分选择字符型液晶显示LCD1602,密码存储部分选用内部存储器来完成。

其原理图如图3.1所示。

图3.1电路原理图

3.1单片机及其外围电路

3.1.1复位电路的设计

复位是单片机的初始化操作。

单片机启运运行时,都需要先复位,其作用是

使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。

因而,复位是一个很重要的操作方式。

但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。

该复位电路采用按键电平复位式复位电路。

当单片机已在运行当中时,按下复位键S后松开,在复位引脚RET(9脚)脚持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。

也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

如图3.2所示。

图3.2复位电路

3.1.2时钟电路的设计

时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,如果单片机的时钟电路停止工作(晶振停振),那么单片机也就停止运行了。

当采用内部时钟时,连接方法如下图所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个12MHZ晶振,两个引脚对地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如22PF。

如图3.3所示。

图3.3时钟电路

3.2密码锁控制电路

3.2.1矩阵键盘电路的设计

为了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。

其原理图如图3.4所示。

图3.4矩阵键盘

每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列

式矩阵结构只需要N根行线与M根列线,即可组成具有N×M个按键的矩阵键盘。

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

当确认有按键按下后,下一步就是要识别哪一个按键被按下。

对键的识别方法通常有两种:

一种是通用的组行扫描查询法;另一种是速度较快的线反转法。

此系统中,我们采用线反转法。

首先辨别键盘中有无按键被按下,在单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。

具体方法是:

向行线输出全扫描字00H,把全部列线置成低电平,然后将列线的电平状态读入累加器A中。

如果有按键被按下,总会有一根行线电瓶被拉至低电平从而使行线不全为1。

判断键盘中哪一个按键被按下通常是通过将列线逐列至低电平后,检查行输入状态来实现的。

方法是:

依次给列线送低电平,然后检查所有行线状态,如果全为1,则所按下的按键不在此列;如果不全为1,则所按下的按键必在此列,而且是在与零电平行线相交的交点上的那个按键。

按键的操作面板如图3.5所示,共计10个数字键和6个功能键,键盘侧面还有一个微型蜂鸣器。

键盘侧面还有一个蜂鸣器,每操作一次,它便发出声音,提示操作成功

图3.5键盘操作面板

10个数字键用来输入密码,另外6个功能键分别是:

A查看键、B设置新密码键、C退格键、D返回键、E确认/退出键和F开启键。

其中退格键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。

确认键的功能是确认输入的密码。

开启键是切换到密码输入状态,输密码前需按该键才能开始输入密码。

按“F”键启动进入输入密码程序,按住“F”键不放3秒以后进入输入密码状态。

在输入密码状态下,0-9数字键为有效键,有时间和次数限制功能:

只有三次输入密码机会,每次限制在10秒内完成,输入密码有误或每次输入密码超时,则被认为是密码输入错误。

当3次输入都错误时,程序将返回起始状态。

密码输入正确后,继电器吸合,开锁指示灯亮,表示锁被打开。

在密码输入正确的情况下,程序进入查看密码和修改密码状态,按“E”键退出查看密码状态。

按“B”键进入重新设置密码状态,在输入密码时,如发现输入有误,可按“C”删除后,重新输入,按“E”确认后,程序退出修改密码状态。

按“D”键或等待10秒后程序退出修改密码和查看密码状态,回到起始状态。

程序内定密码为:

012345,送电开机时,只要输入内定密码便可开门,这样可预防停电后再送电时无密码可用。

当密码输入错误或密码输入时间超过规定的时间时,蜂鸣器报警。

表3.1按键功能表

按键

键名

功能说明

0-9键

数字键

输入密码

A键

查看键

查看密码

B键

设置新密码键

设置新密码

C键

退格键

退格删除

D键

返回键

返回到开始界面

E键

确认/退出键

确认/退出

F键

开启键

开启密码输入

3.2.2报警控制电路的设计

该电路采用单频音报警电路,实现单频音报警的接口电路比较简单,其发音元件通常可采用压电蜂鸣器,当在蜂鸣器两引脚上加3~15V直流工作电压,就能产生3kHZ左右的蜂鸣振荡音响。

压电式蜂鸣器结构简单、耗电少,更适于在单片机系统中应用。

压电式蜂鸣器,约需10mA的驱动电流,可在某端口接上一只三极管和电阻组成的驱动电路来驱动,P.3.1接三极管基极输入端,当P3.7输出高电平“1”时,三极管导通,蜂鸣器的通电而发音,当P3.1输出低电平“0”时,三极管截止,蜂鸣器停止发音。

如图3.6所示:

图3.6报警控制电路

3.2.3液晶显示电路

本系统设计的显示电路是为了给使用者以提示而设置的为了达到界面友好

的目的,显示部分由液晶显示器LCD1602取代普通的数码管完成。

开锁时,按

下键盘上的开锁按键后,利用键盘上的数字键0-9输入密码,每按下一个数字

键后在显示器上显示一个*,输入多少位就显示多少个*。

当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD显示“IUPUTRIGHT”,单片机其中P3.0引脚会输出低电平,使三极管T2导通,电磁铁吸合,继电器开关跳转,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“IUPUTERROR”,P3.0输出的是高电平,电子密码锁不能打开。

通过LCD显示屏,可以清楚地判断出密码锁所处的状态。

电路图如图3.7所示:

图3.7显示器电路

4系统软件设计

系统的软件设计采用汇编语言编码。

设计方法是先用文本编辑器编写源码,然后用软件KeilC51编译,如果没有错误,可连接生成.HEX格式的文件(需事先在KeilC51中设置)。

如果有错误则无法连接,但可在生成的.OBJ文件中找到代码错误的地方,便于修改。

当然也可以直接在Keil中编码。

生成的HEX文件是记录文本行的ASCII文本文件,在HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量。

HEX文件经常被用于将程序或数据传输存储到ROM、EPROM,大多数编程器和模拟器使用HEX文件。

4.1系统主程序

系统的主程序如图4-1所示。

由于用户在使用系统的过程中,可能在任何时

刻按下任何按键,而程序都必须对此作出正确响应。

图4.1主程序流程图

4.2初始化及按键识别

如图4.2,系统的初始化包括堆栈起始地址的设定,两个定时/计数器的设定,液晶显示模式的设定,密码缓冲区的初始化,一些自定义数据空间的初始化,蜂鸣器初始化发声等操作。

系统初始化并读取密码完成后,液晶显"PasswordControl",提示用户可以输入密码。

此时程序即不断测试按键,检查是否有按键被按下。

如果有,则进行按键识别;如果没有按键按下,或者按下的按键没有被识别,R3赋值0FFH,并跳转至按键测试。

实际程序运行时,绝大部分时间都在测试按键,等待用户输入。

图4.2初始化及按键识别流程图

4.3开锁处理

首先LCD初始化,输入密码,密码正确则使开锁电路动作,继电器得电,

开锁指示灯亮。

开锁程序流程图如图4.3所示。

图4.3开锁流程图

4.4改密处理

如图4.4,可以看出,改密键的处理流程跟开锁键类似,都需检查密码是否

正确,错误的话,提示重新输入,只有输入密码正确才可以进行改密。

然后再按更改键,密码更改程序被调用,进而更改密码,此过程,LCD都会显示信息。

图4.4改密流程图

4.5液晶显示子程序

液晶显示子程序在每次更新显示内容时都会被调用,其流程如图4.5所示。

图4.5液晶显示子程序流程图

每次更新显示内容前,需清显示清空LCD原先的显示内容,清屏指令的指

令码为01H,即将P0口赋值01H,然后写入指令寄存器IR。

LCD1602要显示的内容是根据其控制器内置的字符码表,事先列出要显示的ASCII字符串。

每次送一个字符的ASCII码入P0口,然后写入数据寄存器DR,最后将字符地址加一,LCD1602会将写入的ASCII码对应的字符依次显示出来。

由于显示字符串的长度不尽相同,约定每串字符以00H结尾;程序检测到字符码为00H时,即停止写入,返回。

LCD显示的内容在下次更新前会一直保持。

5仿真调试与测试

1.开机后,LCD1602显示如图5.1所示,等待按键输入

图5.1

2.输入密码分两个过程:

首先必须开启密码输入功能才能输入密码,按住“F”键3秒以上才能启动进入输入密码程序,进入输入密码状态,LCD1602显示如图5.2所示:

图5.2

3.此时使用矩阵键盘输入密码,在输入密码状态下,0-9为有效数字键。

本系统有时间、次数限制功能,不给别人试探机会:

三次输入密码机会,每次限制在10秒内完成。

输入密码正确后,蜂鸣器发声1次,继电器吸合,密码锁打开,LCD1602显示如图5.3所示:

图5.3

4.键入密码有误或每次输入密码时间超过10秒,则被认为是密码输入错误。

假如密码输入错误,则LCD1602显示如图5.4所示:

图5.4

当3次输入密码都错误时,蜂鸣器连续发声3次,程序将返回起始状态,并锁定。

5.在密码输入正确的情况下,程序进入查看密码和修改密码状态。

按“A”键进入查看密码状态,LCD1602显示如图5.5所示:

图5.5

6.E”键退出看密码状态。

按“B”键进入重新设置状态,LCD1602显示如图5.6所示:

图5.6

在输入新密码时,如果输入有误,可按“C”删除后,重新输入。

按“E”确认后,程序退出修改密码状态。

按“D”键或等待10秒后,程序退出修改密码和查看密码状态,回到起始状态。

设计采用一个超级密码,送电开机时,只要输入超级密码便可开门,这样可预防停电后再送电时无密码可用。

超级密码为:

012345。

总结

经过一段时间的课程设计,我深深体会到要完成一个设计,首先是要结合生活中对密码锁的功能特性要求,其次是电子密码锁系统的主要硬件结构与软件结构。

由于了解的专业知识尚浅使得在技术的解决与应用显得粗糙了一些。

不过,该系统的密码修改、开锁提示、输入提示、输出报警功能还算稳定。

本系统用的是6位密码输入,有1000000种密码组合,另外本系统软硬件设计简单,易于开发,成本较低,安全可靠,操作方便。

通过过本次设计,我不仅巩固和加深理论课上所学的知识,而且锻炼了分析问题和解决问题的能力;同时培养了良好的工作习惯和科学素养,为我们以后参加工作打下了一定的基础。

同时认识到慢工出细活,过程是很重要的,只有耐心细心努力地去把握过程,才能得到可喜的结果。

除此之外,相信这次设计中还存在很多不足,希望老师能够批评指正。

参考文献

[1]郭天祥。

51单片机C语言教程[M]。

电子工业出版社

[2]李广弟,朱月秀,冷祖祁。

单片机基础[M]。

北京:

北京航空航天大学出版

社,2007

[3]董继成。

一种新型安全的单片机密码锁[J]。

电子技术,2004,(03)

[4]石文轩,宋薇。

基于单片机MSC-51的智能密码锁设计[S]。

武汉工程职业技术学院学报

[5]郑学坚,周斌。

微型计算机原理及应用。

北京:

清华大学出版社

附录一总电路原理图

附录二PCB图

附录三实物图

附录四元器件清单

名称型号数量备注

单片机AT89S521含双列直插插座

电阻1K3

电阻2001

排阻8x10k1

液晶显示器LM16021

瓷片电容33pF2

电解电容22uF1

按键轻触按键17

晶振12MHz1

单排插针1x84

发光二极管1

直流插座1

下载口1

蜂鸣器1

继电器1

附录五源程序清单

;********************************************************************

BEEPBITP3.7

RELAYBITP3.6

SEC10BIT20H.1

SEC3BIT20H.2

PASS_OKBIT20H.3

PASS_OLDEQU30H

PASS_NEWEQU37H

PASS_DISEQU40H;密码显存单元

COUNTEQU47H;50ms计数单元

SECEQU48H;秒单元

POSEQU49H

;**********************************************************

BUSYBITP0.7

LCD_RSBITP2.0

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2