电路图如下图所示
键盘扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列线电平状态,为低电平即表示该键按下。键盘消抖采用软件延时消抖,可以减小硬件电路复杂程度,控制简单。
矩阵键盘的每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。
对照下图所示的44键盘,说明其工作原理。首先辨别键盘中有无键按下,由单片机IO口向键盘送全扫描字,然后读入行线状态来
f判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入变量SL中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
4、时序脉冲输入:内部时钟方式
5、复位方式:按键电平复位
单片机采用AT89S51单片机AT89S51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,与工业80C51产品指令各引脚完全兼容。单片机最小系统主要有两块组成,其一为晶振起振电路,其二为复位电路。在此,我们采用按键手动复位,相对来讲,这种复位方式更加方便人性化,不必要切断电源即可对系统进行复位。
f6、系统设计总电路图:
7、开锁原理当用户输入的密码正确单
片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。在此为节省成本考虑,我省去电磁锁及其驱动,将一切在LCD上面显示,并且利用蜂鸣器声音指示。
三、软件程序设计及流图
与硬件电路相关联,本电子密码锁系统的软件设计分为以下几个模块主程序模块,键盘扫描及识别模块,密码正误对比和密码存储模块,LCD1602显示模块,蜂鸣器模块等等。
本系统程序主要具有如下功能:(1)设置4位密码,密码通过键盘输入,若密码正确,则将锁打开,初始化密码为(0771),初始超级密码为000000(2)密码可r