毕业设计电子密码锁(基于AT89C51)(7)

发布时间:2021-06-06

欢迎大家来看看

图6 日历,时间寄存器及其控制字

此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 (5) DS1302与单片机连接如图7所示:

图7 DS1302与单片机连接图

3.2.3键盘模块

使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样的方法。其原理如图8所示:

欢迎大家来看看

图8 矩阵键盘

每条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需N条行线和M条列线,即可组成具有N*M个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

欢迎大家来看看

当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描法;另一种是速度较快的线反转法。

对照图8所示的4*4键盘,说明线反转个工作原理。

首先辨别键盘中有无按键按下,由单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向列线输出全扫描字00H,把全部列线置为低电平,然后将行线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。

判断哪个键被按下:将P1.0~P1.3都置低,检测P1.4~P1.7是否有低的,若有,则证明有键按下,记下低的端口。然后,将P1.4~P1.7置低,检测P1.0~P1.3是否有低的端口,如有,则证明端口与上次的一个为地的端口交叉位置的键被按下。

3.2.4显示模块

电子密码锁系统中,需要现实的信息较少,因此采用七段LED数码显示管作为显示器。数据传输采用串行方式,有单片机串行数据口P3.0发送,在经过74HC164串行移位器把串行数据转换成8位并行数据,用以驱动七段LED数码显示管。由于74HC164芯片中,没有数据锁存器,串行数据每到达一位,都会直接送到七段显示管中,造成所有数据都会经过其短线是数码管的每一个LED灯,是数据显示不稳定。因此在74HC164串行移位寄存器和七段数码显示管之间,加入数据锁存器(74273芯片),以稳定数码显示管的数据显示。

在按下开启按键后,显示器处于开启状态,同理只有按下关闭键后显示器处于关闭状态,当需要对密码锁进行开锁时,按下键盘上的开锁键后利用键盘上的数字键0——9输入密码,每按下一个数字键后在显示器上显示一个“-”,输入

毕业设计电子密码锁(基于AT89C51)(7).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219