基于AT89C52电子密码锁设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1引言

在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。本次设计使用AT89C52实现一基于单片机的电子密码锁的设计。

2 电子密码锁的工作原理

本设计以AT89C52单片机为控制核心,结合矩阵键盘、自动报警系统等来完成电子密码锁的设计。单片机接收键入的代码,并与存贮在EEPROM中的密码进行比较,如果密码正确,驱动电磁执行器开锁,则门开,同时用LED发光二极管亮一秒钟做为提示,同时发出“叮咚”声;如果密码不正确,禁止按键输入3秒,同时发出“嘀、嘀”报警声;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止,如果继续按键,每按下一次键,会发出“嘀”的报警声;如果输入密码超过已设定好的密码的位数时,会发出“嘀”的提示声。密码错误或位数超出时,数码管“P”位会灭掉,提示用户操作出错。

图2.1 单片机控制方案

3 硬件电路设计

3.1 AT89C52简介

3.1.1 AT89C52的主要工作特性

AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。其主要工作特性是:

·片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;

·片内数据存储器内含256字节的RAM;

·具有32根可编程I/O口线;

·具有3个可编程定时器;

·中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;

·串行口是具有一个全双工的可编程串行通信口;

·具有一个数据指针DPTR;

·低功耗工作模式有空闲模式和掉电模式;

·具有可编程的3级程序锁定位;

· AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;

· AT89C52最高工作频率为24MHz。[1]

3.1.2 AT89C52各引脚功能及管脚电压

· VCC:电源电压

· GND:接地线

· P0口:P0口是一组8位漏极开路型双向I/O口,也是地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0 写“1”时,可作为共阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

·P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL 逻辑电平.对P1端口写"1"时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入

(P1.1/T2EX),具体如下表所示.

在flash编程和校验时,P1口接收低8位地址字节.

·P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL 逻辑电平.对P2端口写"1"时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2口送出高八位地址.在这种应用中,P2口使用很强的内部上拉发送1.在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容.

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号.

·P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL 逻辑电平.对P3端口写"1"时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).

·RST: 复位输入.晶振工作时,RST脚持续2个机器周期高电平将使单片机复位.看门狗计时完成后,RST脚输出96个晶振周期的高电平.特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效.DISRTO默认状态下,复位高电平有效.

·ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲.在flash编程时,此引脚(PROG)也用作编程输入脉冲. 在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用.然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过. 如果需要,通过将地址为8EH的SFR的第0位置"1",ALE操作将无效.这一位置 "1",ALE仅在执行MOVX或MOVC指令时有效.否则,ALE将被微弱拉高.这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效.

相关文档
最新文档