基于AT89C52单片机的电子密码锁设计.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于AT89C52单片机的电子密码锁设计

摘 要 随着社会的发展进步,密码锁逐渐成为我们生活中很重要的一部分,密码锁是安全的一个很好的保障措施。本论文设计一个基于单片机和存储器的,能够进行开锁,上锁,修改密码的电子密码锁。 电子是现代电子科技与结合的产物。它在现代扮演着重要的角色,本文的主要内容是用AT89单片机为核心控制元件, ? 关键词:AT89C52单片机 密码锁 LCD 矩阵键盘 目 录 摘 要 1 目 录 2 1.引 言 3 2. 总体设计 4 2.1基本原理 4 2.2系统总体框图及设计思路 4 3.详细设计 5 3.1 硬件设计 5 3.2 软件设计. 8 3.2.1程序设计思路 8 3.2.2 程序流程图 8 3.2.3 程序代码 9 4. 系统调试及分析 15 5.心得体会 17 参考文献 18 1.引 言 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 2. 总体设计 2.1基本原理 电子密码锁是才用存储芯片24C04进行存放密码,单片机可以对24C04进行读取密码和写入密码,本密码锁是事先吧初始密码写入24C04中,用户输入密码后,通过对用户输入的密码和24C04中的密码进行比较,若比较相同则提示开锁称成功,开锁后,用户可以修改密码,即把用户输入的新密码写入到24C04当中,并清除之前的密码,按下保存键后,继成功修改密码。 其中24C04的原理如下: AT24C04是美国Atmel公司的低功耗CMOS型E2PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5 V)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。AT24C0中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。 AT24C02正是运用了2C规程,使用主/从机双向通信,主机(通常为单片机)和从机(AT24C0)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。AT24C0的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。 总体设计思路: 本设计利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加掉电存储。其中,0-9为用户可以输入密码可选择的数字,10号功能为开锁键,11号功能为上锁,12号功能为输入修改后的密码,13号功能为保存密码,14号功能为重新输入。利用LCD来显示提示信息,用LED来提示密码锁的状态。 3.详细设计 3.1 硬件设计 1.芯片及原理介绍 AT89C52   。 P1.0 T2(定时器T2外部输入)能够同时显示16x02即32个字符SCL串行时钟   AT24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。    SDA串行数据/地址   AT24C02 双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA 是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。  A0、A1、A2器件地址输入端   这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C02被总线寻址这三个地址输入脚(A0、A1、A2 )必须连接到Vss。    WP写保护   如果WP管脚连接到Vcc,所有的内容都被写保护只能读。当WP管脚连接到Vss 或悬空允许器件进行正常的读/写操作 3.2.3 程序代码 1、预定义部分 #includereg52.h #includestring.h #includeintrins.h #include lcd_160

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档