单片机6位密码锁设计(汇编语言源程序配Proteus电路图)硬件设计基于AT89C51为核心的单片机控制的电子密码锁设计
本设计能完成开锁,修改密码,密码错误报警,LCD显示密码等基本的密码锁功能
设计的电路框如图1
图一电路的功能单元设计1
单片机AT89C51组成基本框图开锁控制电路AT89C51单片机矩阵键盘控制指示电路LCD显示电路报警控制电路单片机引脚介绍P0AT89C51CPU程序存储器ROM并行接口串行接口数据存储器RAM中断系统定时器/计数器时钟电路P3P1P2TxDINT0RxDINT1T0T1外中断内中断2
单片机外围电路设计(1)单片机复位电路:采用按键手动复位方式中的电平复位方式,复位电平是通过使RST端经电阻与VCC电源接通而实现的
(2)单片机时钟电路:AT89C51内部有时钟电路,需外接石英晶体和微调电容,本设计的晶振频率为11
0592MHz
矩阵键盘的设计本设计中用到4*4的键盘
键盘扫描方式,键盘的列线与P1口的低4位相接,行线与P1口的高3位相接
0为低电平“0”,其余三根列线为高电平“1”,读行线状态
如果行线都为高电平状态,则P1
0这列上没键按下,如果读出的行线不全为高电平状态,则为低电平的行线与P1
0相交的键处于闭合状态
0上没有键闭合,接着使P1
1为低电平,其余列线为高电平,用同样的方法检查P1
1这列上有没有按键闭合
一直到使P1
3为低电平扫描完成
这一过程称为一次扫描过程
由于按键是利用机械触电的合、断原理,存在弹性的影响,机械触点在闭合及断开瞬间均有抖动过程,从而使电压信号波动,为了保证CPU对键的稳定闭合仅作一次键输入处理,必须采用消除抖动影响
本设计采用软件办法,在检测到有键按下时,执行一个延时程序后,确认该键是否保持闭合状态电平
若仍保持闭合状态电平,则确认该键处于闭合状态,从而消除