单片机6位密码锁设计(汇编语言源程序配Proteus电路图)
硬件设计
基于AT89C51为核心的单片机控制的电子密码锁设计。本设计能完成开锁,修改密码,密码错误报警,LCD显示密码等基本的密码锁功能。设计的电路框如图1。
矩阵键盘控制
AT89C51单片机
电路的功能单元设计
LCD显示电路
报警控制电路
开锁控制电路
图一
指示电路
1单片机AT89C51组成基本框图
f时钟电路
AT89C51CPU
程序存储器ROM
数据存储器RAM
T0
T1
定时器计数器
内中断外中断
并行接口
P0P1P2P3
串行接口TxDRxD
中断系统INT0INT1
单片机引脚介绍
ff2单片机外围电路设计
(1)单片机复位电路:采用按键手动复位方式中的电平复位方式,复位电平是通过使RST端经电阻与VCC电源接通而实现的。(2)单片机时钟电路:AT89C51内部有时钟电路,需外接石英晶体和微调电容,本设计的晶振频率为110592MHz。
3矩阵键盘的设计
本设计中用到44的键盘。键盘扫描方式,键盘的列线与P1口的低4位相接行线与P1口的高3位相接。
首先使P10为低电平“0”,其余三根列线为高电平“1”,读行线状态。如果行线都为高电平状态,则P10这列上
没键按下,如果读出的行线不全为高电平状态,则为低电平的行线与P10相交的键处于闭合状态。如果P10上没有键
闭合,接着使P11为低电平,其余列线为高电平,用同样的方法检查P11这列上有没有按键闭合。一直到使P13为低
电平扫描完成。这一过程称为一次扫描过程。
由于按键是利用机械触电的合、断原理,存在弹性的影响,机械触点在闭合及断开瞬间均有抖动过程,从而使电压
信号波动,为了保证CPU对键的稳定闭合仅作一次键输入处理,必须采用消除抖动影响。本设计采用软件办法,在检测
到有键按下时,执行一个延时程序后,确认该键是否保持闭合状态电平。若仍保持闭合状态电平,则确认该键处于闭合
状态,从而消除抖动影响。
若有按键被按下时,就将该按键译码出来,本设计采用双重循环做计数编号,当某一按键按下时,其按键编号
便是计数编号,有关按键编号,扫描信号及读取按键数据返回码整理如表1。
编号
按键数据输入码
扫描输出信号
所侦测的
P17P16P15P14P13P12P11P10按键
0
1
1
1
01
1
1
0
K0键
1
1
1
0
11
1
1
0
K1键
2
1
0
1
11
1
1
0
K2键
3
0
1
1
11
1
1
0
K3键
4
1
1
1
01
1
0
1
K4键
5
1
1
0
11
1
0
1
K5键
6
1
0
1
11
1
0
1
K6键
7
0
1
1
11
1
0
1
K7键
8
1
1
1
01
0
1
1
K8键
9
1
1
0
11
0
1
1
K9键
10
1
0
1
11
0
1
1
K10键
11
0
1
1
11
0
1
1
K11r