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

上传人:b****2 文档编号:2328434 上传时间:2022-10-28 格式:DOCX 页数:23 大小:1.04MB
下载 相关 举报
基于51单片机电子密码锁设计.docx_第1页
第1页 / 共23页
基于51单片机电子密码锁设计.docx_第2页
第2页 / 共23页
基于51单片机电子密码锁设计.docx_第3页
第3页 / 共23页
基于51单片机电子密码锁设计.docx_第4页
第4页 / 共23页
基于51单片机电子密码锁设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

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

《基于51单片机电子密码锁设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机电子密码锁设计.docx(23页珍藏版)》请在冰豆网上搜索。

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

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

一、设计目的

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芯片。

AT89C51外形及引脚排列如图2所示:

 图2AT89C51外形及引脚排列

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后面的数字代表该三端集成稳压电路的输出电压,如lm7805表示输出电压为正5V,因为本设计中单片机和各个芯片的工作电压均为5V,因而采用LM7805。

         图6LM7805 

     图7 直流稳压源电路

电源电路如图7所示,220V市电通过变压器降压成12V的交流电,经过整流桥整流,再经7805稳压到5V。

C1、C2和C3具有滤波功能,使电流更加稳定,保证了系统的稳定运行。

2.4键盘电路

本设计采用矩阵式键盘,又称行列式键盘,是将I/O线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,行列线分别连接到按键开关的两端,当键按下时,两导线连通。

这种设计能减少键盘与单片机I/O接线的数目,只需要N个行线和M个列线就可以实现N×M个键的操作,在按键比较多的时候,通常采用这种方法。

其电路如图8所示:

  

图8 矩阵式键盘电路图

行线作为输入,通过上拉电阻接+5V,被钳位在高电平状态。

列线作为输出,通过列线输出扫描码,通过行线读入行线状态来判断是哪一键被按下。

  图示电路中各键的键值从第一行左起依次为11H、 12H、14H、18H、21H、22H、24H、28H、41H、42H、44H、48H、81H、82H、84H、88H。

键盘各键值通过查键值表可以转换为相应的代码,代表不同的值。

本设计中要用到13个键,分别为0~9键用于输入六位密码,确认键‘#’用于输入密码完毕后确认,清除键‘CLR’用于想重新输入时清楚之前输入的密码,修改密码键‘CHG’用于输入密码验证正确后选择修改密码,剩余三个键未用,可以留待以后扩展功能,键盘如图9所示:

 

  图9 键盘

2.5显示电路

本系统设计的显示电路是为了给用户以提示而设置的。

考虑到节约单片机的口资源,本系统的显示采用串行显示的方式,只使用单片机的两个串行口P3.0(RXD)和P3.1(TXD),就可以完成单片机的显示功能。

本部分电路主要使用七段数码管和移位寄存器芯片74LS164。

单片机将要显示的数据信号传送到移位寄存器芯片74LS164寄存,再由移位寄存器控制数码  图1074LS164管脚图    管的显示,从而实现移位寄存点亮数码管显示。

由于单片机的时钟频率达到12M,移位寄存器的移位速度相当快,所以我们根本看不到数据是一位一位传输的。

仿佛是全部数码管同时显示的一样。

74LS164是串行输入带锁存的8位移位寄存器,其管脚图见图10,真值表见表1当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。

串行数据输入端(A,B)可控制数据。

当 A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。

当A、B有一个为高电平,则另一个就允许输入数据,并在 CLOCK上升沿作用下决定Q0的状态.  表174LS164真值表

      

 

74LS164主要特性:

     

串行输入带锁存

时钟输入,串行输入带缓冲

异步清除

最高时钟频率可高达36Mhz

功耗:

10mW/bit

工作温度:

0°Cto70°C

Vcc最高电压:

7V

输入最高电压:

7V

最大输出驱动能力:

高电平:

-0.4mA

数码低电平:

8mA

图11LED数码管显示电路

显示电路如图11所示,每一片74LS164的CLR端均接Vcc。

从单片机串口输出的信号先送到第1片移位寄存器74LS164的AB端,由于移位脉冲的作用,使数据向右移最终从移到Q7脚,第1片的Q7脚接第2片的AB端,以此类推,在移位寄存器的移位作用下,第1个8位数据送到第6片74LS164,第2个8位数据送到第5片74LS164,以此类推,每一个八位数据出现在74LS164的并行输出端,每片74LS164的八个输出脚接七段数码管数码管的八个输入数据脚,七段数码管数码管根据74LS164上的数据状态显示相应的数字,从而达到显示的目的,移位寄存器74LS164还兼作数码管的驱动。

数码管按段数分为七段数码管和八段数码管,其外形及管脚图如图12所示,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形            图12 七段共阳极数码管外形及管脚图    成公共阳极(COM)的数码管。

共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。

当某一字段的阳极为低电平时,相应字段就不亮。

 本设计中采用共阳极七段数码管,由共阳极七段数码管的原理图可知,数码管中每一段均为一发光二极管,使用7段LED数码管时,首先把com脚接+Vcc,然后将每一只阴极引脚各接一个限流电阻,限流电阻可保护数码管,使其不被烧坏,延长其使用寿命。

LED顺向偏压时两端有1.7V左右的压降,随着LED顺向电流的增加,LED将更亮,LED的寿命也将缩短,因此电流以10~20mA为宜

若电流为10mA

R=(5-1.7)/10=330欧姆

若电流为1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1