基于单片机的数字密码锁设计毕业设计.docx
- 文档编号:15110926
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:39
- 大小:182.73KB
基于单片机的数字密码锁设计毕业设计.docx
《基于单片机的数字密码锁设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字密码锁设计毕业设计.docx(39页珍藏版)》请在冰点文库上搜索。
基于单片机的数字密码锁设计毕业设计
毕业设计
论文题目基于单片机的数字密码锁设计
学生姓名李苏喜
学号1110064055
所在院系物理与电信工程学院
专业电子信息科学与技术
班级电信1102
指导教师周平和
2015年6月
基于单片机的数字密码锁
李苏喜
(陕西理工学院物电学院电子信息科学与技术专业1103班级,陕西汉中723000)
指导教师:
周平和
[摘要]伴随我们生活水平的提高,电子数字密码锁慢慢取代了普通的锁具,电子密码锁在安全性能上比普通锁具更好,普通的机械锁其机构非常的简单,从而在安全性能方面得不到保障,电子密码锁使得我们在安全保障方面更有自信,并且电子密码锁还有不用钥匙、无锁孔、无机械传动、不易损坏、不磨损等优点,很多用户都想简单出门,电子密码锁就能满足他们。
本次设计的系统由单片机系统、矩阵键盘、显示电路和报警提示系统组成,系统能完成开锁、密码保护、密码正确与否的提示。
单片机是采用的美国Atmel公司的单片机AT89C52;矩阵键盘采用4×4矩阵键盘;显示电路主要是采用液晶显示,具有设计简单、工作电压低、响应速度快、价格低廉等特点;报警系统采用的是LED指示灯。
设计采用C语言作为主片控制程序,因其具有方法合理、简单易行、成本低、实用等特点。
矚慫润厲钐瘗睞枥庑赖。
[关键词]AT89S51单片机;LCD1602;电子密码锁;4×4矩阵键盘
TheNo.threesoftlandingtrajectory
designandcontrolstrategy
LiSuxi
(Grade11,Class1102,ElectronicInformationScienceandTechnology,SchoolofPhysicsandTelecommunicationEngineering,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)聞創沟燴鐺險爱氇谴净。
Tutor:
ZhouPinghe
Abstract:
Withtheimprovementofourlivingstandards,theelectronicdigitallockslowlyreplacestheordinarymechanicallock,theelectronicpasswordlockisbetterthantheordinarymechanicallockonthesafetyfactor,theinstitutionofordinarymechanicallockisverysimple,sothatitcannotguaranteethesafety,andelectroniclockmakesusmoreconfidenceonsafety,andtheelectroniclockhasanadvantagethatwithoutakey,keyhole,mechanicaltransmission,whichisdifficulttodamage,wearing,andcannoteasilybedeciphered,Manyuserswanttogooutsimple,theelectroniclockcanmeettheirneeds.ThesystemconsistsofMCUsystem,matrixkeyboard,theshowingofcircuitandalarmsystemcomponents.password-protectedandtheshowingofpasswordwhetheritiscorrectornot.ThedesignusestheClanguageasthemainchipscontrolprocedures,whichisprovedthatthedesignofrationaldesignmethodissimple,safeandpractical.残骛楼諍锩瀨濟溆塹籟。
Keywords:
MCUAT89S51;LCD1602;Electroniclock;4x4Matrixkeyboard酽锕极額閉镇桧猪訣锥。
引言
在我们日常的生活和工作中,安全防盗已成为社会不可避免的问题。
现在的用户都追求具有简洁方便、高安全,易操作等特点的安全锁。
因此电子数字密码锁是我们生活中不可少的一部分了,数字密码锁的发展标志着我们生活水平的提高。
鶼渍螻偉阅劍鲰腎邏蘞。
随着社会经济的日益增长和人们生活水平的提高,安全成为当下人们最关心的问题之一。
而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
传统的门锁既要备有大量的钥匙,以及承受钥匙丢失后的麻烦和风险。
另外,如:
宾馆、办公大楼、仓库、保险柜等,由于装修施工等因素人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。
随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。
目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。
但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的一种表现。
纣忧蔣氳頑莶驅藥悯骛。
数字密码锁是通过密码输入来控制电路,从而控制机械的闭合,完成开锁和关锁的基本操作的电子产品,它的种类比较多,而此次设计就是基于单片机控制的数字密码锁,它的设计以单片机为核心,通过编程来实现,它负责获取处理用户输入的密码,将其和正确的预置密码比较,产生相应的输出,其性能得到了改善。
基于单片机控制的数字密码锁与普通机械锁相比,其具有保密性好、密码可变、寿命长,不用钥匙、无锁孔、无机械传动、不易损坏、不磨损、不易被破译等优点,数字密码锁是利用数字密码来开启的锁具,其重复概率仅为十万分之一,具有很高的安全性;而普通机械锁使用却相对不够安全,通过对社会各阶层千余人的调查,百分之百的人都愿意一身轻松没有任何顾虑的出入家门,都愿意用上一种锁具可使人摆脱钥匙的束缚。
因此,设计数字密码锁的市场发展前景极为广阔。
颖刍莖蛺饽亿顿裊赔泷。
1数字密码锁功能要求
本次设计的数字密码锁有密码的输入、有密码的修改功能,并且密码是八位,在输入密码的过程中有显示提示,让用户更好的操作密码锁,而在密码输入正确与否(锁的开否)也需要显示提示,此次设计的时候没有把机械部分设计出来,因此引用了红绿灯的显示(报警提示),来代表机械部分的,即表示锁的开闭状态。
濫驂膽閉驟羥闈詔寢賻。
此次设计实现功能要求如下:
1)加电后,液晶显示英文“EnterPassword!
”来欢迎用户。
2)输入密码时,逐位显示“*”,此次设计的密码为八位,因此为“********”,以防止泄露密码,这样让用户用的放心。
銚銻縵哜鳗鸿锓謎諏涼。
3)输入密码过程中,如果不小心出现了输入错误,可按“复位”键清除屏幕,取消此次输入,再次输入需要重新输入所有密码。
挤貼綬电麥结鈺贖哓类。
4)当密码输入完毕时,单片机将输入的密码与设定的密码比较,若密码正确,则绿色发光二极管亮(表示密码锁打开),并且显示屏上也有所提示“Passwordisright!
”蜂鸣器报警一秒;若密码不正确,显示屏上同样显示“Passwordiswrong!
”,并且有密码输入错误时,报警三秒,用户可以重新输入,但是一次性有三次输入密码的机会,若是一次性输入了三次错误密码,则报警五秒钟,期间用户就不能再输入密码了,只能等到复位后再重新输入。
赔荊紳谘侖驟辽輩袜錈。
5)此次设计的数字密码锁密码可以修改,当输入正确的密码后,你可以根据自己的需要对已设的密码进行修改,修改成功后,有两秒提示音。
塤礙籟馐决穩賽釙冊庫。
6)此次设计的数字密码锁的初始密码为八位密码“11111111”。
2总体方案
2.1方案选择
设计本次毕业设计之前构思了两种方案:
一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案;另一种是用以单片机为核心的电子密码锁。
第一种方案应用数字电子技术的编、译码技术,并通过按键实现密码的设置、修改及识别功能,在设计的时候考虑到第一种方案需用到较多集成芯片,电路焊接起来很复杂;密码采用脉冲输入法,故对输入脉冲有很高要求,而且密码输入及修改过程也比较繁杂。
而第二种方案是采用集成芯片单片机还有其他集成芯片来控制整个电路,灵活准确性好且保密性强还具有扩展功能,并且焊接起来很简单,因此采用了后一种方案,即单片机控制的数字密码锁设计。
裊樣祕廬廂颤谚鍘羋蔺。
2.2方案实现
此次设计的基于单片机的数字密码锁,它主要由单片机、矩阵键盘、液晶显示和报警提示等部分组成。
单片机作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能,其原理图如图2.1所示。
矩阵键盘用于输入数字密码和进行各种功能的实现,主要有数字输入按键、确认按键、密码修改按键等,用户可以通过连接单片机的矩阵键盘输入密码,液晶显示屏提示一些输入,让用户更方便的操作电子密码锁锁,当你输入的密码位数达到所需要输入的密码位数后,单片机对用户输入的密码与自己内部设置保存的密码进行对比,从而判断密码是否正确,液晶显示屏提示你输入的密码是否错误,然后控制其他引脚的高低电平送到报警提示电路控制报警提示(红绿发光二极管显示),表示锁的开或者闭合,而在实际使用时只要将单片机的负载换成电子密码锁的电磁铁吸合线圈即可。
仓嫗盤紲嘱珑詁鍬齊驁。
否
图2.1单片机控制密码锁的原理图
2.3方案结构框图
基于单片机控制的数字密码锁结总构框图如图2.2所示,框图由电源输入,晶振电路,单片机控制系统,键盘电路,显示电路,报警提示电路构成。
电源为单片机控制器和其他芯片提供工作电源,此次设计的时候引用直流电源,但在实际应用到生活中去的时候需要通过交流电源转变为直流电源(降压、整流、滤波等过程),并且需要加个备用电源,防止停电或者其他故障而造成无法供电的时候的备用电源。
单片机控制系统包括晶振电路和复位电路。
绽萬璉轆娛閬蛏鬮绾瀧。
显示电路
图2.2基于单片机控制的数字密码锁总结构框图
3硬件电路的设计
3.1单片机及单片机最小系统
单片机选用常用的Atmel公司的51系列单片机AT89C52。
AT89C52是Atmel公司生产的低电压、高性能CMOS8位单片机,AT89C52采用24MHZ或更高频率晶振,以获得较高的刷新频率,时期显示更稳定,单片机AT89C52引脚如图3.1所示。
骁顾燁鶚巯瀆蕪領鲡赙。
图3.1单片机AT89C52引脚
P0口是双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载;P1口是8位准双向I/O口,可驱动4个LS型TTL负载;P2口是8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载;P3口是8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载,并且P3口具有特殊功能。
瑣钋濺暧惲锟缟馭篩凉。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P1口有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。
8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。
上电复位后P1口为弱上拉型IO口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不须作为A/D使用的口可继续作为IO口使用。
在FLASH编程和校验时,P1口作为第八位地址接收;鎦诗涇艳损楼紲鯗餳類。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。
作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号;栉缏歐锄棗鈕种鵑瑶锬。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口:
辔烨棟剛殓攬瑤丽阄应。
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0(外部中断0)
P3.3INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
同时P3口同时为闪烁编程和编程校验接收一些控制信号;
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高平时间;
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效;峴扬斕滾澗辐滠兴渙藺。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问内部部数据存储器时,这两次有效的PSEN信号将不出现;詩叁撻訥烬忧毀厉鋨骜。
EA/VPP:
当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);则鯤愜韋瘓賈晖园栋泷。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入;
XTAL2:
来自反向振荡器的输出;
EA/VPP(31引脚):
“EA”为英文“ExternalAccess”的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
胀鏝彈奥秘孫戶孪钇賻。
单片机最小系统如图3.2所示,其中由复位电路和晶振震荡电路组成。
复位电路:
单片机上电时,当振荡器正在运行时,只要持续给出RST引脚两个机器周期的高电平,便可完成系统复位。
外部复位电路是为内部复位电路提供两个机器周期以上的高电平而设计的。
其中复位电路通常有上电自动复位和按钮复位两种模式,本次采用的是按键手动复位并是电平复位方式,其中电平复位时通过RST端经电阻与电源VCC接通而实现的,电源VCC取+5V,复位电路的电阻取的10k,电容取的10uF。
鳃躋峽祷紉诵帮废掃減。
晶振振荡电路:
XTAL1脚和XTAL2脚分别构成片内振荡器的反相放大器的输入端和输出端,外接石英晶体或陶瓷振荡器以及补偿电容C1、C2构成并联振荡电路。
当外界石英晶体时,电容C1、C2选30pF±10pF;当外接陶瓷振荡器时,电容C1、C2选47pF±10pF.AT89C52系统中晶振可在0~24MHz选择。
外接电容C1、C2的大小会影响振荡器的高低、振荡频率的稳定度、起振时间及温度稳定性。
在设计电路板时晶振和电容应靠近单片机芯片,以便减少寄生电容,保证振荡器稳定可靠的工作,并且在系统设计中,为保证串行通信波特率的误差,选择11.0592MHz的标准石英晶振,电容应C1、C2应选择20pF]。
此次设计采用的是12MHz的晶振。
稟虛嬪赈维哜妝扩踴粜。
单片机最小系统如图3.2所示,其中由复位电路和晶振震荡电路组成。
图3.2单片机最小系统图
3.2键盘电路
3.2.1键盘接口
常用的键盘接口分为独立键盘和行列式键盘两种。
独立键盘就是按键相互独立,每个按键各接一根输入线,通过检测输入线的电平状态可以很容易的判断哪个按键被按下。
在按键数目较多的时候,独立式键盘电路需要较多的输入口线且电路结构繁杂,此种键盘适用于按键较少或操作速度较高的场合。
陽簍埡鲑罷規呜旧岿錟。
行列式(也称矩阵式)键盘用于按键数目较多的场合,它由行线和列线组成的按键电路,其按
键位于行、列的交叉点上,如图3.3所示,一个4×4的行、列式结构可以构成1个16个键的键盘,很明显节省了很多的I/O口线。
沩氣嘮戇苌鑿鑿槠谔應。
矩阵式键盘的扫描原理主要是分为两个步骤:
首先是确定是否有键闭合,然后逐一扫描以步确定哪一键闭合。
图3.3键盘电路
3.2.2键盘的识别方式
键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。
为判定有无键按下(闭合键)以及被按键的位置,可使用这种方法:
扫描法(常用)。
钡嵐縣緱虜荣产涛團蔺。
扫描法就是首先是判定有没有键被按下,键盘的行线一端经上拉电阻接+5V电源,另一端接单片机的输入口线。
各列线的一端接单片机的输出口线,另一端悬空。
为判定有没有键被按下,可先经输出口向所有列线输出低电平,然后再输入各行线状态。
若行线状态中有低电平,则表示有键被按下。
然后再判定被按键的位置。
懨俠劑鈍触乐鹇烬觶騮。
3.2.3按键去抖动
当扫描表明有键被按下之后,紧接着应进行去抖动处理。
因为常用键盘的键实际上就是一个机械开关结构,被按下时,由于机械接触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动,如图3.4所示。
抖动时间长短与键的机械特性有关,一般为5~10ms。
而键的稳定的闭合时间和操作者按键动作有关,大约为十分之几到几秒不等。
謾饱兗争詣繚鮐癞别瀘。
后沿抖动
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
x=0
呙铉們欤谦鸪饺竞荡赚。
图3.4键闭合和断开时的电压抖动
3.2.44×4行列式键盘电路
此次设计为4×4行列式键盘,由16个按键组成的行列式键盘,主要作为用户输入数字密码及确认、取消、修改等功能键,此次设计按键扫描方法采用的是扫描法。
莹谐龌蕲賞组靄绉嚴减。
4×4行列式键盘电路如图4.4所示,把芯片AT89C52中的P1.0~P1.3端口用4个10K的上拉电阻连接到4×4行列式键盘的行线上,把芯片AT89C52中的P1.4~P1.7端口直接连接4×4行列式键盘的列线。
(上拉电阻的作用,就是把电位拉高,比如拉到VCC。
一般就是刚上电的时候,端口电压不稳定,为了让端口稳定为高,就会用到上拉电阻。
)麸肃鹏镟轿騍镣缚縟糶。
3.3LCD1602显示电路
3.3.1LCD1602的介绍
LCD1602是一种专门用来显示字母、数字、符号等的点阵型的液晶模块,它由若干个5×7或者5×11等点阵字符位组成,每个点阵字符都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
LCD1602是指显示的内容为16×2,可以显示两行,每行16个字符的液晶模块,目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶,此次设计引用LCD1602,是因为它具有微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。
納畴鳗吶鄖禎銣腻鰲锬。
LCD1602的引脚如图3-6所示,LCD1602有16个引脚。
图3.5LCD1602的引脚
LCD1602的引脚介绍:
第1引脚为:
VSS为电源地第2脚:
VDD接5V电源正极
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
風撵鲔貓铁频钙蓟纠庙。
第4脚:
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
第6脚:
E(或EN)端为使能(enable)端。
第7~14脚:
D0~D7为8位双向数据端。
第15~16脚:
空脚或背光电源脚。
15脚背光正极,16脚背光负极。
LCD1602的基本操作时序为:
读状态:
RS=L,RW=H,E=H输出:
D0~D7=状态字灭嗳骇諗鋅猎輛觏馊藹。
写指令:
RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:
无
读数据:
RS=H,RW=H,E=H输出:
D0~D7=数据铹鸝饷飾镡閌赀诨癱骝。
写数据:
RS=H,RW=L,D0~D7=数据,E=高脉冲输出:
无
LCD1602的显示模式设置如表3.1所示:
表3.1显示模式设置
指令码
功能
0
0
1
1
1
0
0
0
设置1602*2显示,5*7点阵,8位数据口。
LCD1602的显示开/关机光标设置如表3.2所示:
表3.2开关机光标设置
指令码
功能
0
0
0
0
1
D
C
B
D=1开显示,D=0关显示;
C=1显示光标,C=0不显示光标;
B=1光标闪烁,B=0光标不显示。
0
0
0
0
0
1
N
S
N=1当读或写一个字符后地址指针加一,且光标加一;N=0当读或写一个字符后地址指针减一,且光标减一;S=1当写一个字符,整屏显示左移(N=1)。
3.3.2LCD1602显示的外围电路
LCD1602显示电路由单片机C52的P2.5、P2.6、P2.7分别于LCD的第4、5、6脚(RS、RW、E)相连,将单片机C52的P0.0~P0.7口通过10K的上拉电阻分别与LCD的第7~14脚(D0~D7)相连来组成数字密码锁的显示电路。
LCD1602显示电路如图4.2所示。
攙閿频嵘陣澇諗谴隴泸。
图3.6LCD1602显示电路
3.4报警提示电路
LED指示灯用来提示模拟锁的开闭,此次设计采用了红、绿两个LED指示灯,红灯表示输入密码正确告警(及数字密码锁开锁),绿灯表示输入密码错误,锁未打开。
趕輾雏纨颗锊讨跃满賺。
报警提示电路如图3.7所示,P3.0、P3.1作普通I/O口使用,P3.0控制绿色发光二极管,指示密码输入正确状态;P3.1控制红色发光二极管,指示密码输入错误状态。
而在实际应用中应该接密码锁的机械部分,这些引脚将会接继电器线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 密码锁 设计 毕业设计