毕业论文 基于单片机的密码锁设计.docx
- 文档编号:25499993
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:43
- 大小:201.74KB
毕业论文 基于单片机的密码锁设计.docx
《毕业论文 基于单片机的密码锁设计.docx》由会员分享,可在线阅读,更多相关《毕业论文 基于单片机的密码锁设计.docx(43页珍藏版)》请在冰豆网上搜索。
毕业论文基于单片机的密码锁设计
毕业论文基于单片机的密码锁设计
摘要
摘要
在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用数字密码代替钥匙的单片机控制的电子密码锁应运而生。
在这次毕业设计中我采用AT89C51单片机为核心4*4矩阵键盘作为输入器件,LCD1602字符型液晶作为显示电路来制作基于单片机的电子密码锁。
该密码锁具有可更改密码、密码掉电保护、输入密码错误报警、输入密码错误三次锁定键盘的功能。
该密码锁具有操作人性化、低功耗、高保密性等一系列优点。
本文详细地介绍了系统硬件与软件的设计,以及仿真调试的详细过程。
关键词:
4*4矩阵键盘,AT89C51,1602LCD显示器,密码锁
I
摘要
Abstract
Inourdailylife,thesecurityofhouse,companydepartment,documentsandfinanceforms,alsosomepersonalinformationalwaysusedthelocktoprotectthem.Ifusethenormalkeystolockoutthedoor,weshouldtakenmanykeyswithus.Thatissodifficulttouse.Andifwelostthekeyswithcareless,thesecuritylooksveryeasytobreakout.Asthedevelopingofthetechnologypeopleaskforhighsecuritymachines.Forsatisfythisrequest,thecipherlockisappeared.Thecipherhashighersecurity,lowercost,lowerpowerandeasytouse.
AtthegraduationdesignIAT89C51microcontrollerasthecore4*4matrixasinputdevices,LCD1602keyboardtypeLCDdisplaycircuitasacharacterbasedonsinglechiptomaketheelectroniccombinationlock.Thiscombinationlockhasmaychangeyourpassword,passwordoffelectricityprotection,inputpasswordmistakealarm,inputpasswordmistakethreetimesthefunctionoflockthekeypad.Thiscombinationlockhaveoperationhumanization,lowpowerconsumption,highconfidentialityandsoonaseriesofadvantages.Thispaperintroducedindetailthesystemhardwareandsoftwaredesign,andthedetailedprocesssimulationdebugging.
Keywords:
matrixkeyboards,AT89C51,1602LCD,combinationlock
II
第1章概论.........................................................1
1.1设计意义....................................................1
1.2背景知识介绍.................................................1
1.3本文主要工作以及内容安排....................................2第2章系统总体方案设计.............................................3
2.1总体方案设计................................................3
2.1.1实现功能:
............................................3
2.1.24*4键盘说明..........................................4
2.2AT89C51单片机介绍..........................................4
2.3硬件设计.....................................................6
2.3.1时钟电路的设计........................................6
2.3.2复位电路的设计........................................7
2.3.3密码存储电路的设计....................................8
2.3.4键盘电路设计..........................................9
2.3.5显示电路的设计.......................................11
2.3.6报警电路.............................................14
2.3.7开锁电路.............................................15第3章软件设计...................................................16
3.1编程工具介绍...............................................16
3.2编程语言介绍...............................................17
3.3软件编程...................................................18
3.3.1软件设计原则..........................................18
3.3.2软件设计方案.........................................18
3.3.34*4矩阵键盘的编程方法...............................19
3.3.4液晶显示子程序........................................21
3.3.5密码比较和报警程序...................................22
3.3.6密码重置程序设计.....................................23第4章软件仿真以及调试...........................................26
4.1仿真软件简介...............................................26
4.2仿真程序基本工作界面.......................................27
4.3仿真过程...................................................27总结...............................................................30参考文献...........................................................31致谢...............................................................32附录A:
程序主函数..................................................33附录B:
总电路图....................................................36
I
第1章概论
第1章概论
1.1设计意义
单片机的应用是具有高度现实意义的。
单片机极高的可靠性,微型性和智能性,单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。
在这次基于单片机的电子密码锁毕业设计中,不仅使我加深对大学所学知识的理解,而且使我对单片机有了进一步的了解。
在设计的过程中,不仅使我熟悉了AT89C51单片的基本结构和相关的参数,而且了解单片机最小系统的构成。
在这次设计中所学到的相关知识也许会在将来的工作和学习中用到。
随着单片机在各个领域的广泛应用,许多用单片机做控制的密码锁系统也应运而产生,如用单片机控制LCD液晶的各种显示器显示数据,用单片机控制LED七段操作显示器等。
本次设计用由AT89C51编程控制LCD1602液晶作显示的密码锁系统。
该系统具有设定密码并储存密码、报警、输入密码错误锁定键盘等功能。
它具有高保密性,操作方便、性能稳定等特点,可以广泛适合各类档案管理场所或者家庭室内财务保管处。
通过本次基于AT89C51系列单片机密码锁的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:
1)密码锁系统包含了8051系列单片机的最小应用系统的构成。
2)可以了解到1602液晶的接口、工作原理以及这种显示器的接口实例与具体连接与编程方法。
3)用AT24C02储存密码的原理和方法。
1.2背景知识介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
单片机的优点是体积小、重量轻、抗干扰能力强,
1
第1章概论
价格低廉,可靠性高,灵活性好,开发较为容易。
单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。
并且已经深入到工业生产的各个环节以及人民生活的各个层次中,如车间流水线控制、自动化系统等、智能型家用电器等。
ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。
它不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。
单片机内部也有和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机,排烟罩VCD等等的家电里面都可以看到它的身影。
1.3本文主要工作以及内容安排
本文主要介绍电子密码锁需要实现的功能以及如何利用单片机来制作电子密码锁。
在本文中详细地介绍了具体硬件设计和软件模块化编程以及设计中各个功能的实现方法和过程。
具体内容有:
全文共分4章,结构安排如下:
第1章绪论介绍了本次设计目的及意义以及单片机的发展现状、1602字符型液晶在电子密码锁系统中的应用以及主要实现的功能。
第2章介绍了本次设计的硬件电路的设计思路以及元件的选择,详细的说明电路图中各个部分的功能和连线方式,为下一步的编程设计作好铺垫。
第3章介绍了单片机编程软件和常用的编程语言,确定了编程的主题思路以及设计功能的具体实现方法。
第4章介绍了如何在电脑上实现设计的软件仿真。
2
河南城建学院本科毕业设计(论文)第2章系统总体方案设计
第2章系统总体方案设计
2.1总体方案设计
考虑各方面因素本设计采用的是用以AT89C51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加掉电存储、声光提示甚至添加遥控控制功能。
其设计方案如图2.1所示。
键盘控制
24C02C掉电保护电路
89C51
单片机
串口显示电路
开锁电路
复位电路
图2.1单片机控制方案
实现此方案硬件是基础,程序是关键。
要充分利用仿真软件,不断调试程序,以使程序在满足各种功能的情况下最简。
2.1.1实现功能:
密码锁初始密码为:
000000.
(1)开锁:
插上电源后,程序自动调入初始密码,此时依次输入:
000000,然后按[#](确认)键,此时锁会打开,可以看到显示open,密码锁打开。
(2)退出并关锁:
按下[*](取消)键,此时锁关闭,所有输入清除。
(3)修改密码:
在开锁状态下,再次输入正确的密码并按下[#](确认)键,
3
河南城建学院本科毕业设计(论文)第2章系统总体方案设计此时听到两声提示,输入新的六位密码并按[D](重设)键,再重复输入一次新密码并按[D],会听到两声提示音,表示重设密码成功,内部保存新密码并存储到AT24C02。
(如两次输入的新密码不一样,则重设密码失败)。
(4)报警并锁定键盘:
当输入密码错误后,报警并锁定键盘3秒,如3秒内
再启动。
又有按键,3秒后
当重置新密码时,新密码会保存于AT24C02存储器里.。
2.1.24*4键盘说明
采用4*4键盘输入,键盘对应名称如表2.1
表2.1键盘名称分布
123A
456B
789C
*0#D
其中,[09]为数字输入键,用于输入相应的数字
[*]号键为取消当前操作
[#]号键为确认
[D]键为修改密码
其它键无功能及定义
2.2AT89C51单片机介绍
AT89C51单片机包括:
一个8位的微型处理器CPU;一个128K的片内数据存储器RAM;4K片内程序存储器ROM;四个8位并行的I/O接口P0P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
最高允许振荡频率是12MHZ。
以上各个部分通过内部总线相连接。
下面简单介绍其主要部分的功能。
处理器:
CPU是单片微型计算机内部的核心部件,由它读入用户程序,并
4
河南城建学院本科毕业设计(论文)第2章系统总体方案设计逐条执行指令,它是由8位算术逻辑运算部件(简称ALU)、定时,控制部件,若干寄存器A、B、PSW、SP以及16位程序计数器(PC)和数据指针寄存器(DPTR)等主要部件组成。
算术逻辑单元的硬件结构与典型微型机相似。
它具有对8位信息进行+、-、*、/四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。
控制器部件是由指令寄存器、译码器、定时与控制电路以及信息传送控制等部件组成的。
指令寄存器中存放指令代码。
在执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I,O接口电路,完成指令功能。
程序计数器PC用来存放下一条将要执行的指令地址,共16位(可对以64K字节的程序存储器直接寻址,指令执行结束后,PC计数器自动增加,指向下一条要执行的指令地址。
CPU功能,总的来说是以不同的方式,执行各种指令。
不同的指令其功能略异。
有的指令涉及到寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件的关系;有的则与外部芯片如外部程序存储器发生联系。
事实上,CPU是通过复杂的时序电路完成不同的指令功能。
所谓CPU的时序是指控制按照指令功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路,完成某种操作。
[3]
表2.2.P3口的第二功能
引脚第2功能
P3.0RXD(串行口输入端)
P3.1TXD(串行口输出端)
P3.2INT0(外部中断0请求输入端,低电平有效)
P3.3INT1(外部中断1请求输入端,低电平有效)
P3.4T0(定时器/计数器0计数脉冲端)
P3.5T1(定时器/计数器1计数脉冲端)
P3.6WR(外部数据存储器写选通信号输出端,低电平有效)
P3.7RD(外部数据存储器读选通信号输出端,低电平有效)
输入/输出引脚P0口、P1口、P2口及P3口:
P0口(22脚,39脚),P0.0,P0.7统称为P0口。
当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。
当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。
它分时提供8位双向数据总线;P1口(1脚,8脚),P1.0,P1.7统称为P1口,可作为准双向I/O接口使用。
对于EPROM编程和进行程序校验时,P0口
5
河南城建学院本科毕业设计(论文)第2章系统总体方案设计接收输入的低8位地址;P2口(21脚,28脚),P2.0,P2.7统称为P2口,一般可作为准双向I/O接口。
当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。
对于EPROM编程和进行程序校验时,P2口接收输入的8位地址;P3口(10脚,17脚),P3.0,P3.7统称为P3口。
它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。
P3口的第2功能见表2.2所示。
中断系统:
AT89C51单片机有5个中断源,由两个中断优先级,每个中断源的优先级可以编程为高优先级或低优先级。
中断允许受到CPU开中断和中断源开中断的两级控制。
AT89C51单片机有两个中断优先级,高优先级和低优先级,每个中断源都可以编程为高中断优先级和低中断优先级。
这可以实现两级中断嵌套,嵌套的原则是:
一个正在执行的中断服务程序可以被较高优先级的中断请求中断,而不能被同级或较低级的中断请求所中断。
两极中断通过使用IP寄存器设置。
AT89C51的管脚有四十多个这里就不在一一列出,图2.2.为其管脚分布。
140P1.0VCC239P1.1P0.0383P1.2P0.1437P1.3P0.2536P1.4P0.3356P1.5P0.4734P1.6P0.5833P1.7P0.6932RST/VPDP0.71031RXDP3.0EA/VPP1130TXDP3.1ALE/PROG1229INT0P3.2PSEN1328INT1P3.3P2.71427T0P3.4P2.68031805187511526T1P3.5P2.51625WRP3.6P2.42417P2.3RDP3.71823XTAL2P2.21922XTAL1P2.12021VSSP2.0
图2.2.8051的管脚分布
2.3硬件设计
2.3.1时钟电路的设计
时钟电路用于产生MCS-51单片机工作时所必需的时钟控制信号,MCS-51单片
6
河南城建学院本科毕业设计(论文)第2章系统总体方案设计机的内部电路在时钟信号的控制下,严格的按时序执行指令进行工作。
电路中的电容C1和C2典型值通常选择为30pF左右本设计采用20pF,电路图如2.3。
对外接电容的值虽没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
晶振的振荡频率的范围通常是在
12MHZ之间,本设计采用12MHZ。
晶振的频率越高,则系统的时钟频率也1.2MHZ-
就越高,单片机的运行速度也就越快。
但反过来运行速度快对存储器的速度要求也就越高,对印制电路板的工艺要求也高,即要求线间的寄生电容要小;晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。
为了提高温度稳定性,应采用温度稳定性良好的电容。
[12]
图2.3时钟电路
2.3.2复位电路的设计
单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
单片机复位的条件是:
必须单片机复位引脚加上持续两个机器周期(即24个振荡周期)以上的高电平,单片机才进入复位状态(即程序从0000H地址开始执行)。
复位后的状态:
单片机复位后,片内RAM中低128的内容不会改变,但特殊功能寄存器被初始化。
复位期间单片机的ALE和PSEN引脚输出高电平,复位后单片机的特殊功能寄存器状态除SP为07H,P0P3为FFH外其余都被复位为0。
AT89C51单片机的第9管脚RST(RESET缩写),当向RST管脚输入一个非常短暂的高电平时,单片机就会复位。
复位管脚与计算机上的复位键功能很相似,当计算机正在进行或死机时,只要按一下复位键,计算机,就会重新启动。
单片机
7
河南城建学院本科毕业设计(论文)第2章系统总体方案设计的复位和这个过程相似,无论单片机在执行什么程序,如果触发复位就会使其回到程序的开头重新开始执行程序。
最简单的复位电路就是在RST端与Vcc之间连接一个10uF的电解电容。
单片机上电瞬间,电容的正极电压瞬间变为Vcc,电解电容对于这个瞬间的电压突变相当于短路,于是Vcc(高电平)相当于直接加到了RST端上。
正是这个加在RST上的瞬间高电平使单片机复位。
很快,电解电容充满电,在电路中相当于断路,于是RST端电平由高转低,单片机随即开始执行程序.有时,只使用一个电解电容的复位电路可靠性不高,故本设计采用如图2.4所示的复位电路,以防电源开关或电源插头分-合过程引起的抖动而影响复位。
图2.4复位电路
2.3.3密码存储电路的设计
外置的拨码开关来设定密码,操作既不方便,电路又复杂。
本设计采用了E2PROM来保存密码,它最大的优点就是掉电后,存储的内容不会丢失,这是一种十分理想的方案。
密码写入ROM后即使掉电也没关系,且可以随意读出、写入。
真正改变了以往密码锁的密码由厂家固定,用户只有使用权,而没有更改权的缺点,真正实现了密码锁的保密性。
密码存储电路如图2.5所示。
本设计采用的芯片是ATMEL公司的AT24C02C,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 基于单片机的密码锁设计 基于 单片机 密码锁 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)