单片机密码锁设计

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

1 引言

1、1 设计目的

随着电子技术的发展,各类电子产品应运而生,电子密码锁就就是其中之一。电子密码锁就就是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就就是为提高锁的安全性。目前,国内自行研制开发的电子锁,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。

1、2 设计要求本次课程设计要求使我们能够掌握并且实际运用课本知识。通过利用所学的电子技术知识正确分析并设计电路, 将适当电路运用到实际电路中, 将课本知识转化为实际能力。

1、3 设计方法

(1)系能够从键盘中输入密码,并相应地在显示器上显示, *?;能够判断密码就是否正确,正确则开锁,错误则输出相应信息。(2)密码由程序直接设定,不可用户自己设定。(3)具有自动报警功能。密码不正确,相应红灯亮,蜂鸣器发出报警声来提示。(4)具有手动复位功能。2 设计方案及原理

2、1 系统总体设计

根据以上分析,本次电子密码锁设计的主要重点就是以下几个部分: 4x3 矩阵键盘设计、LCD 信息显示与密码的比较与处理。当然,除了这几个部分外还有报警等功能模块。其中矩阵键盘用于输入数字密码与进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码就是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路就是报警。系统整体框图如图 1 所示。

2、2 本设计硬件资源分配

P3、0~P3、7用于LCD 液晶显示作用。P1、6、P1、7用于蜂鸣器与报警灯的控制。P1、4用于开锁电路的控制。P2、0~P2、7用于键盘电路的控制。P1、0~P1、2用于LCD显示模块的控制端口的控制。

3 硬件设计

3、1、1 芯片选择

本次设计采用AT89C51 贴片芯片, AT89C51就是一个低电压,高性能CMOS 8 位单片机,通过用Keil 软件编写程序,然后装到单片机里面去,然后让它对整个系统进行信息的处理,如可以让它处理矩阵键盘传过来的信息,并根据编好的程序来确定哪个按键按下,并处理相应按键对应的功能,然后把相应的信息反应到单片机的各个引脚,来实现按键实现的现象,如:显示就是否开启锁,报警等。AT89C51 提供以下标准功能: 4k 字节Flash 闪速存储器128 字节内部RAM,32 个I/O 口线两个16 位定时/计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时, AT89C51 可降至0Hz 的静态逻辑操作, 并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM, 定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容, 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

AT89C51 的引脚图如图2 所示。

3、1、2 单片机最小系统设计

单片机最小系统就就是指能使单片机工作的最少的器件构成的系统。因

为单片机已经包含了数据存储器与程序存储器,所以只要在其外部加上时钟电路

与复位电路就可以构成单片机最小系统。

(1)单片机工作需要晶振给CPU提供频率,时钟电路就就是给单片机提供晶振频

率的电路。图3 就是时钟电路的PROTEUS 仿真图。

单片机允许的振荡晶体可在1、2~24MHz之间选择,一般为11、0592MHz,电容

C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,

可在20~100pF之间选择,典型值位30pF

(2)计算机每次开始工作, CPU与系统中的其她部件都必须要有一个确定

的初值,即复位状态。图4就是单片机复位电路仿真图。

单片机RST引脚就是高电平有效。单片机在上电瞬间C1充电,RST引脚端出现正

脉冲,只要RST断保持两个机械周期(大约10ms)以上的高电平,单片机就能复

位。在单片机工作后,如果还想再次复位,只需按下开关,单片机就能重新变成

复位状态。当晶体振荡频率为12MHz时,RC的典型值为C=10μF,R=8、2KΩ。

3、1、3 矩阵键盘设计

一组键或者一个键盘,需要通过接口电路与CPU相连接, CPU可以采用查

询接口或者中断的方式了解有没有键被按下,并检查就是哪个键被按下。无论就是查

询方式还就是中断方式都要用到单片机的I/O口。由于单片机I/O口较少的原因, 当系统中需要用到较多按键时,为了能够更合理更有效地利用单片机的I/O口,一般采

用矩阵键盘的方式来实现多按键的功能。

图5 就是4x3 矩阵键盘在PROTEUS 中的电路原理仿真图。

矩阵键盘又叫做行列式键盘。行列式键盘的硬件结构比较简单,由行输出口

与列输出口构成行列式键盘,按键设置在行、列交点上。只有当键被按下时相应

的行与列才能相连。如此,只要检测行与列就是否相连就可以知道就是否有键按下。

由于按键设置在行、列线交点上,行、列分别连接到按键开关的两端,平时

无键按下时,行线处于高电平,假设列线为低电平,当有键按下时,按下的键就

会将相应的行与列连通,使得对应的行线被列线拉低,也变为低电平。这就就是识

别矩阵键盘就是否有键被按下的关键。

当确定有键被按下时,通过逐行扫描,读出I/O口的值可以知道哪一行的值被

改变了,被改变了的行即就是被按下的按键所在行。同时,由于每个键都有它的行

值与列值,行值与列值得组合就就是这个按键的编码,当算法一定时,每个按键的

编码就是固定的,且各个按键的编码互不相同,所有通过读I/O的值还能具体知道就是

哪一个键被按下,这样就实现了键盘的识别。

3、1、4 LCD显示模块设计

LCD1602就是一种字符型液晶显示器,就是一种专门用于显示字母、数字、符号等的

点阵式液晶显示器。LCD1602的显示容量为16x2个字符(可以显示2行,每行显示

16个字符),芯片工作电压为4、5~5、5V,工作电流为2、0mA(5、0V),模块最佳

工作电压就是5、0V。

LCD1602具有16个引脚。在LCD1602的有关设计中,主要就是通过编写程序控制LCD1602的4、5、6引脚来实现数据或者指令的写入与执行,再通过数据或者指令

的写入与执行来进一步实现LCD1602的显示功能。查资料了解在仿真库中用

相关文档
最新文档