单片机密码锁设计

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

单片机密码锁设计

什么是密码锁

电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

硬件设计

基于AT89C51为核心的单片机控制的电子密码锁设计。本设计能完成开锁,修改密码,密码错误报警,LCD 显示密码等基本的密码锁功能。设计的电路框如图1。

图一

电路的功能单元设计

1.单片机AT89C51组成基本框图

开锁控制电路

AT89C51

单片机

矩阵 键盘 控制

指示电路

LCD 显示电路

报警控制电路

单片机引脚介绍

P0:P0口是一个漏极开路的8位双向I/O 口。在访问片外存储器时P0分时提供低8位地址线和8位双向数据线。当不接片外存储器或不扩展I/O 口时,P0可作为一个通用输入/输出口。P0口作输入口使用时,应先向口锁存器写“1”,P0口作输出口时,需接上拉电阻。

P1:P1口是一个内部提供上拉电阻的8位双向I/O 口,因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”。

P2:P2口也是一个内部提供上拉电阻的8位双向I/O 口,在访问片外存储器时,输出高8位地址。

P3:P3口除了一般的准双向通用I/O 口外,还有第二功能。 VCC :+5V 电源 VSS :接地

ALE :地址锁存器控制信号。在系统扩展时,ALE 用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE 是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。

/PSEN :外部程序存储器读选通信号。在读外部ROM 时,/PSEN 有效(低电平),以实现外部ROM 单元的读操作。

/EA :访问程序存储控制信号。当/EA 信号为低电平时,对ROM 的读操作限定在外部程序存储器;当/EA 信号为高电平时,对ROM 的读操作是从内部程序存储器开始,并可延至外部程序存储器。

RST :复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。

XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

P0 AT89C51 CPU

程序存储器 ROM

并行接口

串行接口 数据存储器 RAM

中断系统

定时器/计数器

时钟电路 P3

P1 P2

TxD INT0 RxD

INT1

T0 T1

外中断

内中断

2.单片机外围电路设计

(1)单片机复位电路:采用按键手动复位方式中的电平复位方式,复位电平是通过使RST 端经电阻与VCC电源接通而实现的。

(2)单片机时钟电路:AT89C51内部有时钟电路,需外接石英晶体和微调电容,本设计的晶振频率为11.0592MHz。

3.矩阵键盘的设计

本设计中用到4*4的键盘。键盘扫描方式,键盘的列线与P1口的低4位相接,行线与P1口的高3位相接。

首先使P1.0为低电平“0”,其余三根列线为高电平“1”,读行线状态。如果行线都为高电平状态,则P1.0这列上没键按下,如果读出的行线不全为高电平状态,则为低电平的行线与P1.0相交的键处于闭合状态。如果P1.0上没有键闭合,接着使P1.1为低电平,其余列线为高电平,用同样的方法检查P1.1这列上有没有按键闭合。一直到使P1.3为低电平扫描完成。这一过程称为一次扫描过程。

由于按键是利用机械触电的合、断原理,存在弹性的影响,机械触点在闭合及断开瞬间均有抖动过程,从而使电压信号波动,为了保证CPU对键的稳定闭合仅作一次键输入处理,必须采用消除抖动影响。本设计采用软件办法,在检测到有键按下时,执行一个延时程序后,确认该键是否保持闭合状态电平。若仍保持闭合状态电平,则确认该键处于闭合状态,从而消除抖动影响。

若有按键被按下时,就将该按键译码出来,本设计采用双重循环做计数编号,当某一按键按下时,其按键编号便是计数编号,有关按键编号,扫描信号及读取按键数据返回码整理如表1。

编号按键数据输入码

P1.7 P1.6 P1.5 P1.4 扫描输出信号

P1.3 P1.2 P1.1 P1.0

所侦测的

按键

0 1 1 1 0 1 1 1 0 K0 键

1 1 1 0 1 1 1 1 0 K1 键

2 1 0 1 1 1 1 1 0 K2 键

3 0 1 1 1 1 1 1 0 K3 键

4 1 1 1 0 1 1 0 1 K4 键

5 1 1 0 1 1 1 0 1 K5 键

6 1 0 1 1 1 1 0 1 K6 键

7 0 1 1 1 1 1 0 1 K7 键

8 1 1 1 0 1 0 1 1 K8 键

9 1 1 0 1 1 0 1 1 K9 键

10 1 0 1 1 1 0 1 1 K10 键

11 0 1 1 1 1 0 1 1 K11 键

表1

4.电路总体设计

下面是本次实验的程序

;******************************************************* ;以下8个字节存放8位数码管的段码

LED_BIT_1 EQU 30H

LED_BIT_2 EQU 31H

LED_BIT_3 EQU 32H

LED_BIT_4 EQU 33H

LED_BIT_5 EQU 34H

LED_BIT_6 EQU 35H

LED_BIT_7 EQU 36H

LED_BIT_8 EQU 37H

;以下6个字节存放初始密码

WORD_1 EQU 38H

WORD_2 EQU 39H

相关文档
最新文档