燕 山 大 学 课 程 设 计 说 明 书
2.1 设计总结构图
键盘控制电路 8051 单片机 LED显示电路 超次报警电路 密码正确开门电路
第三章 系统硬件设计
此次课程设计基于单片机控制的电子密码锁,接到课题后,根据老师布置的任务和相关要求,结合主要设计条件,我设计了如下方案,其总体方案设计如下:
本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警功能。
3.1矩阵键盘接口电路:
此次课程设计采用4*4矩阵键盘,与P1口相连,采用扫描法。设
有0——9十个数字密码,一个修改密码键,一个清除键和一个确认键。开机显示000000,等待密码输入,输入6个密码,按确认键后,密码比较。
矩阵式键盘的识别方法:
确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法行
第6页 共29页
燕 山 大 学 课 程 设 计 说 明 书
扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
判断键盘中有无键按下:
(1) 先将行线p1.7-p1.4置0111,然后检测列线的状态。
如果p1.3-p1.0为0111,则k0被按下;如果p1.3-p1.0为1011,则k1被按下;如果p1.3-p1.0为1101,则k2被按下;如果p1.3-p1.0为1110,则k3被按下;
(2) 将行线p1.7-p1.4置1011,然后检测列线的状态,方
法同(1);
(3) 将行线p1.7-p1.4置1101,然后检测列线的状态,方
法同(1);
(4) 将行线p1.7-p1.4置1110,然后检测列线的状态,方
法同(1).
第7页 共29页
燕 山 大 学 课 程 设 计 说 明 书
3.2 LED显示:
此次课程设计6密码6显示器,按键后即显示,动态显示。根据按键次数,第一位显示器显示第一次按的密码,第二位显示器显示第二次按的密码,第三位显示器显示第三次按的密码,依此第六位显示器显示第六次按的密码,按键完成后按确认键后,密码对则执行相关动作,不同则显示器清零,等待重新输入。
LED数码显示字形(段)码表如下: 显示字形 字形码(共阳极) 0 C0H 1 F9H 2 A4H 3 B0H 4 99H 5 92H 6 82H 7 F8H 8 80H 9 90H 字形码(共阴极) 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 第8页 共29页
燕 山 大 学 课 程 设 计 说 明 书
A B C D E F 3.3 报警系统: 88H 83H C6H A1H 86H 8EH 77H 7CH 39H 5EH 79H 71H 此次课程设计,当按键三次错误后,系统报警,报警装置由一扬声器实现,从P1.2口输出脉冲,使扬声器鸣报警。 第四章 系统软件设计 4.1软件设计思路
电子密码锁工作的主要过程是通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,做出开锁或报警处理。当输入密码连续三次错误时,系统报警。
密码的的设定在此程序中密码是固定40H~45H中,假设预定密码为“123456”六位。在正常状态时,可以进行重新设置密码、上锁等操作。重新设置密码时,首先验证原始密码,如相同则可进行密码更改,然后将新密码保存至AT24C01中。
按键按其功能分为两种,其中一种为功能键另一种为数字键。输入密码后,直到所有密码输入完毕按下确认功能键之后,才完成密码输入过程。
第9页 共29页
燕 山 大 学 课 程 设 计 说 明 书
进入密码的判断比较处理状态并给出相应的处理过程。
4.2键盘扫描子程序设计
键盘扫描流程如图
键盘扫描子程序如下: L2:MOV R3,#0F7H
MOV R1,#00H L3: MOV A,R3 MOV P1,A MOV A,P1 MOV R4,A
SETB C
第10页 共29
页