基于51单片机电子密码锁设计

  • 格式:doc
  • 大小:1.58 MB
  • 文档页数:25

下载文档原格式

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

一、设计目的

1.1课题简介

如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,使人们的人身及财产安全受到很大威胁。电子密码锁是一种依靠电子电路来控制电磁锁的开与闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码。因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要,现在广泛使用的有红外遥控电子密码锁,声控密码锁,按键密码锁等。

1.2课题研究目的

本设计是一种基于单片机的密码锁方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。现在很多地方都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,必须可以经常更改密码,以便密码被盗时可以修改密码。

本次设计的密码锁具备的功能:LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。密码输入完毕后按确认键“#”,密码锁控制芯片将输入的密码与密码锁控制芯片中存储的密码相比,若密码错误,则不开锁,会有红灯亮提示,同时显示“Error”。若正确,则开锁,会有绿灯亮提示,同时显示“PASS”。用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下“CHG”修改密码,输入新密码时每输入一位新密码相应有一位变为“H”,以便提示用户此时输入的是新密码,修改新密码时若想重新输入新密码只需按下“CLR”键即可。输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用来确认密码的正确性。按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计中初始密码是“096168”。

本次设计中硬件主要由我完成,软件主要由张振完成。

二、硬件设计

2.1概述

本系统主要由单片机最小系统、电源电路、输入键盘电路、输出显示电路、开锁电路等组成,系统框图如图1所示:

图1 系统框图 2.2最小系统

1.单片机:单片机最小系统包括单片机、晶振电路、复位电路等,最小系

统是整个系统的核心部分,也是

设计中首先应该设计的部分,其中单片机的选择直接决定着之后整个设计应该如何进行, 因为我们刚刚学完单片机,学习时是以MCS-51单片机为主的,对51系列单片机最熟悉,因此决定选用51系列单片机, 51系列单片机中Atmel89C51应用最为广

单片机最小系统

键盘电路

数码管显示

控制开锁电路 发光二极管指示

泛,且价格较低,性能完全能满足本次设计,因此决定选用AT89C51芯片。AT8 9C51外形及引脚排列如图2所示:

图2 AT89C51外形及引脚排列

AT89C51主要特性:

·与MCS-51 兼容

·4K字节可编程闪烁存储器

·1000次写入/擦除循环

·数据保留时间:10年

·全静态工作:0Hz-24MHz

·三级程序存储器锁定

·128×8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

2.晶振电路

图3 晶振电路

AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体一起构成自激振荡器,晶振电路如图3所示。

石英晶体振荡电路对外接电容C2和C3虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度,一般电容使用30pF±10pF,这里使用30pF的独石电容。

因此晶振电路中使用12M晶振,30pF独石电容。

3.复位电路

如图4所示为80C51单片机复位电路。结合实际需求,本次设计加入了手动复位。RC构成微分电路,在接电瞬间,产生一个微分脉冲,其宽度若大于2个机器周期,80C51型单片机将复位,为保证微分脉冲宽度足够大,这里取10μF电容、10KΩ电阻。若按下复位键,则C1被短路,R1两端电压为Vcc,产生的高电平时间足以使单片机复位

图4 复位电路

关于复位电路的计算如下:

AT89C51的最低复位电平是0.7Vcc

V1 为电容最终可充到的电压值

Vt 为t时刻电容上的电压值

则,

Vt=V1×[1-exp(-t/RC)]

即,

t = RC×Ln[V1/(V1-Vt)]

在C1充电到0.7Vcc前,R1上电压均大于0.7Vcc,即为有效复位电压,因此需要求电容充电到0.3Vcc的时间。

将V1=Vcc,Vt=0.3Vcc代入上式: 0.3VCC=Vcc×[1-exp(-t/RC)]

即[1-exp(-t/RC)]=0.3;

∴exp(-t/RC)=0.7

∴- t/RC=ln(0.7)

∴t/RC=ln(1.43) ln(1.43)≈0.35

也就是t=0.35RC。带入R=10K C=10μF得。

t=0.35×10K×10uf=35ms

∵时钟周期T=1/f=1/12M=1μs

∴2个机器周期=2T=4μs

∴t>>2μs

所以复位电路中电容选10μF电解电容,10K电阻,一只按键开关可以使电路上电复位和手动复位。

4.存储器设定电路

最小系统电路的最后部分是存储器的

设定,如果把31脚(EA)接地,则采用外

部程序存储器,如果将其接Vcc,则采用内

部程序存储器。AT89C51具有4KB可编

程闪烁存储器,足以满足本设计要求,

因此不采用外部程序存储器,即将31脚

(EA)接Vcc,如图5所示:

图5 存储器设定电路

2.3电源电路

本次设计的电源采用以前模拟电路课程设计做的直流稳压电源,电源采用LM7805三端稳压器,外形及引脚排

列如图6所示用LM7805来组成稳压电源所需的外围元

件较少,LM7805电路内部还有过流、过热及调整管的保

护电路,使用起来可靠、方便,而且价格便宜。该系列

集成稳压IC型号中的LM78xx后面的数字代表该三端集