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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

毕业设计(论文)基于AT89C51单片机的矩阵键盘电子密码锁Word格式.docx

1、2.3.4 键盘电路设计92.3.5 显示电路的设计112.3.6 报警电路142.3.7 开锁电路15第 3 章 软件设计163.1 编程工具介绍163.2 编程语言介绍173.3 软件编程183.3.1 软件设计原则183.3.2 软件设计方案183.3.3 4*4 矩阵键盘的编程方法193.3.4 液晶显示子程序213.3.5 密码比较和报警程序223.3.6 密码重置程序设计23第 4 章软件仿真以及调试264.1 仿真软件简介264.2 仿真程序基本工作界面274.3 仿真过程27总结30参考文献31致谢32附录 A:程序主函数33附录 B:总电路图36第 1 章概论第 1 章 概论

2、1.1 设计意义单片机的应用是具有高度现实意义的。单片机极高的可靠性,微型性和智能性,单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。在这次基于单片机的电子密码锁毕业设计中,不仅使我加深对大学所学知识的理解,而且使我对单片机有了进一步的了解。在设计的过程中,不仅使我熟悉了 AT89C51 单片的基本结构和相关的参数,而且了解单片机最小系统的构成。在这次设计中所学到的相关知识也许会在将来的工作和学习中用到。随着单片机在各个领域的广泛应用,许多用单片机做控制的密码锁系统也应运而产生,如用单片机控制 LCD 液晶的各种显示器显示数据,用单片机控制 LED 七段

3、操作显示器等。本次设计用由 AT89C51 编程控制 LCD1602 液晶作显示的密码锁系统。该系统具有设定密码并储存密码、报警、输入密码错误锁定键盘等功能。它具有高保密性,操作方便、性能稳定等特点,可以广泛适合各类档案管理场所或者家庭室内财务保管处。通过本次基于 AT89C51 系列单片机密码锁的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:1) 密码锁系统包含了 8051 系列单片机的最小应用系统的构成。2) 可以了解到 1602 液晶的接口、工作原理以及这种显示器的接口实例与具体连接与编程方法。

4、3) 用 AT24C02 储存密码的原理和方法。1.2 背景知识介绍单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机自 20 世纪 70 年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,2价格低廉,可靠性高,灵活性好,开发较为容易。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统

5、、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各个层次中,如车间流水线控制、自动化系统等、智能型家用电器等。ATMEL 公司开发生产了新型的 8 位单片机AT89 系列单片机。它不但具有一般 MCS-51 单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的 AT89C51 就是其中典型的代表。单片机内部也有和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机,排烟罩 VCD 等等的家电里面都可以看到它的身影。1.3 本文主要工

6、作以及内容安排本文主要介绍电子密码锁需要实现的功能以及如何利用单片机来制作电子密码锁。在本文中详细地介绍了具体硬件设计和软件模块化编程以及设计中各个功能的实现方法和过程。具体内容有:全文共分 4 章,结构安排如下:第 1 章绪论介绍了本次设计目的及意义以及单片机的发展现状、1602 字符型液晶在电子密码锁系统中的应用以及主要实现的功能。第 2 章 介绍了本次设计的硬件电路的设计思路以及元件的选择,详细的说明电路图中各个部分的功能和连线方式,为下一步的编程设计作好铺垫。第 3 章 介绍了单片机编程软件和常用的编程语言,确定了编程的主题思路以及设计功能的具体实现方法。第 4 章 介绍了如何在电脑上

7、实现设计的软件仿真。第 2 章系统总体方案设计第 2 章 系统总体方案设计2.1 总体方案设计24C02C 掉电保护电路考虑各方面因素本设计采用的是用以 AT89C51 为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加掉电存储、声光提示甚至添加遥控控制功能。其设计方案如图 2.1 所示。89C51单片机键盘控制串口显示电路复位电路开锁电路图 2.1 单片机控制方案实现此方案硬件是基础,程序是关键。要充分利用仿真软件,不断调试程序, 以使程序在满足各种功能的情况下最简。密码锁初始密码为:000000.(1)开锁:插上电

8、源后,程序自动调入初始密码,此时依次输入:000000, 然后按#(确认)键,此时锁会打开,可以看到显示 open,密码锁打开。(2) 退出并关锁:按下*(取消)键,此时锁关闭,所有输入清除。(3) 修改密码:在开锁状态下,再次输入正确的密码并按下#(确认)键,15此时听到两声提示,输入新的六位密码并按D(重设)键,再重复输入一次新密码并按D,会听到两声提示音,表示重设密码成功,内部保存新密码并存储到AT24C02。(如两次输入的新密码不一样,则重设密码失败)。(4) 报警并锁定键盘:当输入密码错误后,报警并锁定键盘 3 秒,如 3 秒内又有按键,3 秒后再启动。当重置新密码时,新密码会保存于

9、 AT24C02 存储器里.。2.1.2 4*4 键盘说明采用 4*4 键盘输入,键盘对应名称如表 2.1表 2.1键盘名称分布13A456B789C*#D其中,0 9为数字输入键,用于输入相应的数字*号键为取消当前操作#号键为确认 D键为修改密码 其它键无功能及定义2.2 AT89C51 单片机介绍AT89C51 单片机包括:一个 8 位的微型处理器 CPU;一个 128K 的片内数据存储器 RAM;4K 片内程序存储器 ROM;四个 8 位并行的 I/O 接口 P0 P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工 UART 的串行 I/O 口

10、;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是 12MHZ。以上各个部分通过内部总线相连接。下面简单介绍其主要部分的功能。处理器:CPU 是单片微型计算机内部的核心部件,由它读入用户程序,并逐条执行指令,它是由 8 位算术逻辑运算部件(简称 ALU)、定时控制部件,若干寄存器 A、B、PSW、SP 以及 16 位程序计数器(PC)和数据指针寄存器(DPTR)等主要部件组成。算术逻辑单元的硬件结构与典型微型机相似。它具有对 8 位信息进行+、-、*、/ 四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数

11、据寄存器。控制器部件是由指令寄存器、译码器、定时与控制电路以及信息传送控制等部件组成的。指令寄存器中存放指令代码。在执行指令时,从程序存储器中取来经译码器译码后, 根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或 IO 接口电路,完成指令功能。程序计数器 PC 用来存放下一条将要执行的指令地址,共 16 位可对以 64K 字节的程序存储器直接寻址,指令执行结束后,PC 计数器自动增加,指向下一条要执行的指令地址。CPU 功能,总的来说是以不同的方式, 执行各种指令。不同的指令其功能略异。有的指令涉及到寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件的关系;有的则

12、与外部芯片如外部程序存储器发生联系。事实上,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(外部数

13、据存储器读选通信号输出端,低电平有效)输入/输出引脚 P0 口、P1 口、P2 口及 P3 口: P0 口(22 脚39 脚),P0.0 P0.7 统称为 P0 口。当不接外部存储器与不扩展 I/O 接口时,它可作为准双向 8 位输入/输出接口。当接有外部程序存储器或扩展 I/O 口时,P0 口为地址/数据分时复用口。它分时提供 8 位双向数据总线;P1 口(1 脚8 脚),P1.0P1.7 统称为 P1 口,可作为准双向 I/O 接口使用。对于 EPROM 编程和进行程序校验时,P0 口接收输入的低 8 位地址;P2 口(21 脚28 脚),P2.0P2.7 统称为 P2 口,一般可作为准双

14、向 I/O 接口。当接有外部程序存储器或扩展 I/O 接口且寻址范围超过256 个字节时,P2 口用于高 8 位地址总线送出高 8 位地址。对于 EPROM 编程和进行程序校验时,P2 口接收输入的 8 位地址; P3 口(10 脚17 脚), P3.0P3.7 统称为 P3 口。它为双功能口,可以作为一般的准双向 I/O 接口,也可以将每 1 位用于第 2 功能,而且 P3 口的每一条引脚均可独立定义为第 1 功能的输入输出或第2 功能。P3 口的第 2 功能见表 2.2 所示。中 断 系 统 : AT89C51 单片机有 5 个中断源,由两个中断优先级,每个中断源的优先级可以编程为高优先级

15、或低优先级。中断允许受到 CPU 开中断和中断源开中断的两级控制。AT89C51 单片机有两个中断优先级,高优先级和低优先级,每个中断源都可以编程为高中断优先级和低中断优先级。这可以实现两级中断嵌套,嵌套的原则是: 一个正在执行的中断服务程序可以被较高优先级的中断请求中断,而不能被同级或较低级的中断请求所中断。两极中断通过使用 IP 寄存器设置。AT89C51 的管脚有四十多个这里就不在一一列出,图 2.2.为其管脚分布。P1.0VCCP1.1P0.0P1.2P0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6RST/VPDP0.7RXD P3.0EA/VP

16、PTXD P3.1ALE/PROGINT0 P3.2PSENINT1 P3.3P2.7T0 P3.4P2.6T1 P3.5P2.5WR P3.6P2.4RD P3.7P2.3XTAL2P2.2XTAL1P2.1VSSP2.04039383736353433321031113012291328142726162517241823192220218031 8051 8751图 2.2.8051 的管脚分布2.3 硬件设计2.3.1 时钟电路的设计时钟电路用于产生 MCS-51 单片机工作时所必需的时钟控制信号,MCS-51 单片机的内部电路在时钟信号的控制下,严格的按时序执行指令进行工作。 电路中

17、的电容 C1 和 C2 典型值通常选择为 30pF 左右本设计采用 20pF,电路图如 2.3。对外接电容的值虽没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速 性。晶振的振荡频率的范围通常是在1.2MHZ-12MHZ 之间,本设计采用 12MHZ。晶振的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。但反过来运行速度快对存储器的速度要求也就越高,对印制电路板的工艺要求也高,即要求线间的寄生电容要小;晶振和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定、可靠地工作。为了提高温度稳定性,应采用温度稳定性良好的电容。12图 2.

18、3时钟电路2.3.2 复位电路的设计单片机复位是使 CPU 和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。单片机复位的条件是:必须单片机复位引脚加上持续两个机器周期(即 24 个振荡周期)以上的高电平,单片机才进入复位状态(即程序从 0000H 地址开始执行)。复位后的状态:单片机复位后,片内 RAM 中低 128 的内容不会改变,但特殊功能寄存器被初始化。复位期间单片机的 ALE 和 PSEN 引脚输出高电平,复位后单片机的特殊功能寄存器状态除 SP 为 07H,P0 P3 为 FFH 外其余都被复位为 0。AT89C51 单片机的第 9 管脚 RST(RESET 缩

19、写),当向 RST 管脚输入一个非常短暂的高电平时,单片机就会复位。复位管脚与计算机上的复位键功能很相似,当计算机正在进行或死机时,只要按一下复位键,计算机,就会重新启动。的复位和这个过程相似,无论单片机在执行什么程序,如果触发复位就会使其回到程序的开头重新开始执行程序。最简单的复位电路就是在 RST 端与 Vcc 之间连接一个 10uF 的电解电容。单片机上电瞬间,电容的正极电压瞬间变为 Vcc,电解电容对于这个瞬间的电压突变相当于短路,于是 Vcc(高电平)相当于直接加到了RST 端上。正是这个加在 RST 上的瞬间高电平使单片机复位。很快,电解电容充满电,在电路中相当于断路,于是 RST

20、 端电平由高转低,单片机随即开始执行程序. 有时,只使用一个电解电容的复位电路可靠性不高,故本设计采用如图 2.4 所示的复位电路,以防电源开关或电源插头分-合过程引起的抖动而影响复位。图 2.4复位电路2.3.3 密码存储电路的设计外置的拨码开关来设定密码,操作既不方便,电路又复杂。本设计采用了E2PROM 来保存密码,它最大的优点就是掉电后,存储的内容不会丢失,这是一种十分理想的方案。密码写入 ROM 后即使掉电也没关系,且可以随意读出、写入。真正改变了以往密码锁的密码由厂家固定,用户只有使用权,而没有更改权的缺点,真正实现了密码锁的保密性。密码存储电路如图 2.5 所示。本设计采用的芯片

21、是 ATMEL 公司的 AT24C02C, 内有 512 字节的 ROM,且支持在线读写。其 SDA 为数据传送线,接在单片机的 P3.5 口。SCK 为移位时钟线, 接在单片机的 P3.4 口。利用 P3.4 和 P3.5 口模拟串口来实现单片机和 ROM 间的数据串行通讯。AT24C02 各管脚介绍:SCK 为串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚;SDA 为串行数据用于器件所有数据的发送或接收,是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线,A0、 A1、 A2 为器件地址输入端这些输入脚用于多个器件级联时设置器件地址当这些脚悬空时默认值为 0 ;

22、WP 为写保护,如果 WP 管脚连接到 Vcc 所有的内容都被写保护只能读, 当 WP 管脚连接到 Vss 或悬空允许器件进行正常的读/写操作。2.3.4 键盘电路设计图 2.5 存储电路键盘是一组规则排列的开关元器件组合,是最常用的输入设备。操作人员可以通过键盘向计算机输入数据、地址、指令或其他的控制命令,实现简单的人机对话。(1) 按键输入原理 在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,所以按键信息输入是与软件结构密切相关的过程。 对于一个键盘

23、或一组键,总有一个接口电路与 CPU 相连。CPU 可以采用查询或中断方式了解有无将键输入并检查是哪一个键按下,将该键编号送入累加器 ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。(2) 键盘的分类 键盘按照接口原理可分为编码键盘和非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法不同。编码键盘主要用硬件来实现对按键的识别,非编码键盘主要由软件来实现键盘的定义与识别,只简单地提供行和列的矩阵,其它工作均由软件完成,由于经济实用,所以较多地应用于单片机系统中。根据结构的不同,非编码键盘又可分为矩阵式键盘和独立式键盘。矩阵式键盘由行线和列线构成,按键位于行、

24、列交叉点上,矩阵式键盘在按键较多时使用会节省很多 I/O 口,但是,各按键间相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。(3) 按键结构与特点 微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的 TTL 逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图 2.6 所示,抖动时间的长短与开关的机械特性有关,一般为 510ms。在触点抖动期间检测按键的通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当按键数较多时,采用软件去抖。在检测到有按键按下时,执行一个 10ms20ms 左右的

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

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