《毕业论文-基于单片机at89s52数字密码锁设计(定稿)18411》由会员分享,可在线阅读,更多相关《毕业论文-基于单片机at89s52数字密码锁设计(定稿)18411(27页珍藏版)》请在金锄头文库上搜索。
1、数字密码锁数字密码锁 【内容摘要内容摘要】电子数字密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合的操作方式。本文的设计是基于单片机 AT89S52,它具有超大规模集成电路技术,有极强的数据处理功能,I/O 口多。以它为核心设计的密码锁,结构小,功能强,可以适用于许多单位甚至家里的各个家用电器,当然保险箱更是需要它。【关键词关键词】:AT89S52 单片机 I/O 口接线 LED 显示 LCD1602【Abstract】 Digital electronic locks is a password to control circuit or chips, to contr
2、ol the mechanical switch. We take the microcontroller. It has large scale integrated circuit technology and strong data processing function. With its core design locks, small structure, the function is strong. Now many units of home appliances, even all that were still safe need of it.【Key words】: A
3、T89S52 microcontroller The I/O port connection LED display LCD1602目目 录录1. 前言-12. 基本功能设计-22.1 实验任务-22.2 功能要求-22.3 系统框图-23. 系统硬件设计-33.1 使用到的元器件列表-33.2 个别元器件介绍-33.2.1 单片机 AT89S52 简介-33.2.2 LCD1602 介绍-63.2.3 具体电路介绍-94. 系统软件设计-12参考文献-18致 谢-19附录 1-20附录 2-21第 1 页 共 21 页1 1 前前 言言随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁
4、自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。目前国内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。机械锁的互开率如此之高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,机械锁的这些弊端为一种新型的锁-电子密码锁,提供了发展的空间。电子锁由于其保密性高,使用灵活性好,安全系数高
5、,受到了广大用户的亲呢。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,主要特点如下:(1)保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零。(2)密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人的更替而使锁的密级下降。(3)误码输入保护。当输入密码多次错误时,报警系统自动启动,防止试探密码。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码
6、锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记) ,难以被窃(除非自己泄露) 。但是密码不能太简单,太简单了造成保密性不足。当然,密码又不能太复杂,太复杂了输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而
7、不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;第 2 页 共 21 页“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型
8、电子防盗锁的辅助输入手段。2 基本功能设计2.1 实验任务根据设定好的密码,采用矩阵式按键实现密码的输入功能,当密码输入正确之后,锁就打开(即绿灯亮) ,如果输入的三次密码不正确,就锁定按键 3 秒钟,同时报警(即红灯亮) 。2.2 功能要求(1)具有良好的提示界面(2)密文显示密码(3)具有密码修改功能(4)具有声光报警功能(5)在线编程电路2.3 系统框图硬件系统的总体结构图如图 1 所示AT89S52AT89S52驱动电路报警电路振荡电路LCD1602 显示密码修改44 键盘输入图 1 硬件系统的总体结构图第 3 页 共 21 页3 系统硬件设计3.1 使用到的元器件列表如表 1 所示,
9、本系统的硬件部分主要由单片机 AT89S52、存储芯片 AT24C02、44 矩阵键盘、LCD1602、报警电路和驱动电路组成;其中驱动电路用发光二极管 LED 表示,而报警电路使用蜂鸣器。总的来说,数字密码锁主要由微处理器模块、记忆模块、键盘模块、声光提示模块和显示模块构成。元器件 规格/型号 数量单片机 AT89S52 1三极管8550 1稳压管7805 1液晶显示器LCD16021 晶振12M 1电阻 10K/1K/100 4/6/1排阻10K1电容104/30Pf4.7uF3/2/1发光二极管红色/绿色/黄色1/1/1蜂鸣器1表 1 元器件列表3.2 个别元器件介绍3.2.13.2.1
10、 单片机单片机 AT89S52AT89S52 简介简介At89s52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节第 4 页 共 21 页Flash,256 字节 RAM, 32 位 I/O
11、 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。 3.2.1.1 主要性能与 MCS-51 单片机产品兼容 、8K 字节在系统可编程 Flash 存储器、 1000 次擦写周期、 全静态操作:0Hz33MHz 、 三级加密程序存储器 、 3
12、2 个可编程 I/O 口线 、三个 16 位定时器/计数器 八个中断源 、全双工 UART 串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。 图 2 AT89S52 引脚P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1
13、 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流第 5 页 共 21 页(IIL) 。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2 的触发输入(P1.1/T2EX) ,具体如下表所示。在 flash 编程和校验时,P1 口接收低 8 位地址字节。引脚号第二功能 p1.0 T2(定时器/计数器 T2 的外部计数输入) ,时钟输出 P1.1 T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。在访