电子密码门锁统设计

  • 格式:doc
  • 大小:3.22 MB
  • 文档页数:27

电子密码门锁统设计(计算机硬件技术基础课程设计报告书)目录一、课题分析 (1)1.1 设计题目 (1)1.2 设计要求 (1)1.3 设计报告要求 (2)1.4 人员及任务分配 (2)二、硬件设计 (3)2.1 功能模块 (3)2.2 硬件连线 (8)三、软件设计 (9)3.1 软件基本实现 (9)3.2 主程序软件设计思路 (10)3.3 显示程序设计思路 (11)四、程序流程图 (12)4.1 主程序流程图 (12)4.2 三次密码比对流程图: (13)4.3 用户输入密码并保存密码子程序 (14)4.4 矩阵键盘扫描子程序 (15)4.5 显示密码子程序 (16)4.6 报警子程序 (17)4.7 修改密码成功子程序 (18)五、系统详细操作说明 (19)六、创新特点 (20)七、设计总结 (21)八、附录.............................. 错误!未定义书签。

一、课题分析1.1 设计题目电子密码门锁系统设计1.2 设计要求设计一个密码门锁系统,以扬声器作为发声装置(本小组用蜂鸣器代替扬声器),以4╳4键盘作为功能按键,根据预设的密码对门锁实现安全控制。

只有密码完全符合时才能开门,密码不符时控制扬声器发声报警。

在计算机硬件试验系统基础上,自行完成扬声器模块的设计,完成该系统的基本功能,该部分占20分(如有雷同者,该部分不得分)。

基本功能集体要求如下:(1)密码为6位,输入密码可以开门或者修改密码。

(2)用LED现实门的当前状态(打开或关闭),以及当前功能状态(开门或设置)。

(3)按下开门键,LED显示“输入密码”提示信息,用户输入密码后,若正确则门打开,按下关门键或打开5秒后关门。

若密码错误则三色LED用红色显示“密码错”提示信息后,要求用户重新输入密码,3次错误后三色LED红绿交错显示错误提示信息,并且扬声器同时发声报警,按下返回键返回。

(4)若按下设置键,LED显示“输入密码”提示,用户输入密码,若正确则LED显示“修改密码”提示信息,要求用户输入新开门密码,按确认键保存新密码后返回,按返回键则放弃修改直接返回。

若错误则处理规则与开门相同。

1.3 设计报告要求1. 明确每位组员的详细分工。

2. 在上述设计主要内容的基础上,本组讨论整理出系统的详细操作说明。

3. 详细描述自行完善和优化的系统功能以及设计方案。

4. 给出系统的设计思路和意见、软件设计方案。

5. 画出各软件模块的程序流程图,说明硬件连接。

6. 列出加上必要注释的程序清单。

7. 每位组员根据自己承担的设计内容和设计过程,写出心得体会(不少于800字)。

8. 所有组员在任务书上签名,将任务书装订在报告首页。

9. 将设计报告文件(doc.)和源程序文件(asm.)压缩打包后发送到邮箱jsjyj@,压缩文件名:2011级XX班XXX组密码锁.rar。

1.4 人员及任务分配专业班级姓名学号任务分配二、硬件设计2.1 功能模块图2-1 PD-32E操作面板该电子密码门锁系统基于PD-32E操作面板,主要包括CPU为80X86、矩阵键盘、三色LED、蜂鸣器、8254定时芯片、5片8255A芯片等等。

CPU作为中央处理器负责整个系统的通信控制器,协调整个系统的工作;矩阵键盘为该系统的外部输入,三色LED和蜂鸣器为该系统的外部输出;8254芯片为定时计数器,用于定时5秒关门;5片8255A中的其中四片与三色LED已经系统连接,另外一片8255A为系统的内部并行输入输出芯片,起一个桥接的作用。

图2-2 8255A引脚以及内部结构图(1)8255A是一个并行输入输出芯片,具有24个可编程设置的I/O口,包括3组8位的I/O口,分别为PA口、PB口、PC口;又可分为2组12位的I/O,A组包括A口及C口高4位,B组包括B口及C组的低4位。

A口可以设置为方式0、方式1、方式2,B口与C口只能设置为方式0或方式1。

本系统中A口第四位控制行信号,B口第四位控制列信号,从而进行矩阵键盘的扫描;PA7口接8254的OUT端,PB6口接蜂鸣器,PB7接8254GATE端的使能控制。

图2-3 8254引脚图(2)8254 芯片是一款使用十分广泛的可编程定时,计数芯片,其主要功能是定时和计数的功能。

我们的微机内的动态存储器刷新电路,系统日时钟的技术以及发声系统的声源都是由8254芯片来完成的。

由四部分组成:数据总线缓冲器、读写逻辑、控制字寄存器和计数器。

8254芯片共有六种工作方式,分别对应与六种不同的用途:●方式0:计数到0结束输出正跃变信号方式●方式1:硬件可重触发单稳方式●方式2:频率发生器方式●方式3:方波发生器●方式4:软件触发选通方式●方式5:硬件触发选通方式本系统利用该芯片方式3实现5秒倒计时功能,定时时间到达之后触发关门信号,使得关门标志位变化,程序自动跳转到关门显示程序。

图2-4 蜂鸣器电路原理图(3)蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。

蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。

本系统中利用PB6口接蜂鸣器,当三次密码输错之后触发报警子程序,PB6口循环为高低电平,此时蜂鸣器内部膜片上下振动发出响声。

图2-5 4*4矩阵键盘电路图图2-6 矩阵键盘实物图(4)在按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。

行线通过上拉电阻接到+5V 电源上。

无按键按下时,行线处于高电平的状态,而当有按键按下时,行线电平与此行线相连的列线电平决定,每个键形成对应的键特征值。

在该系统中,我们定义的按键功能如下:按键功能A 开门键:按下进入等待输入密码状态B 设置键:按下进入设置状态,修改密码C 确认键:输完密码按下确认D 清除键:输入密码时,按下回删一位输错密码返回键:修改密码时,按下返回E 关门键:按下关门0~9 数字键表2-1 4*4矩阵键盘按键功能图图2-7 三色LED(5)三色LED(Light Emitting Diode)是发光二极管的一种,能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为三种颜色即红色、黄色、绿色的光。

发光二极管通常用砷化镓、磷化镓等半导体材料制成,它在通过正向电流时会发光,发光的颜色取决于所用的材料,可发出红色、黄色、绿色及红外光等。

发光二极管一般用透明的塑料封装,管脚长的为正极,管脚短的为负极。

有的发光二极管有三个引出脚,根据管脚电压情况能发出两种颜色的光。

在本系统中,三色LED状态说明如下:关门状态输入密码状态,数字表示还有3次错误机会表示已输入6位密码开门状态,数字表示倒计时5秒输错3次密码,红黄交替报警设置状态,数字表示还有3次错误机会输入密码正确,可以开始修改输入修改密码2.2 硬件连线本系统中第五片8255A:PA0口到PA3口与键盘的行信号P0到P3依次相连,读入行信号,为低位;PB0口到PB3口与键盘列信号Q0到Q3依次连接,送出列信号,为高位。

PA7口接8254的OUT端通道0,方式三。

PB6口接蜂鸣器,PB7接8254的GATE端使能控制。

第五片8254的地址为300H,8254的地址为320H。

图2-8 硬件电路连接图三、软件设计3.1 软件基本实现在本次设计的开始我们小组进行了对于程序设计的小组讨论,为了程序更具有条理化,更方便于调试,我们决定进行模块化设计,把问题细化分成一个个小程序。

之后我们进行了流程设计,最后进行程序撰写与调试。

本次设计采用的是子程序嵌套,即程序的模块化思想。

在进行设计的时候,先写好主程序,定好程序的总体框架结构,划分出若干个子程序。

每个子程序用测试程序调试好,确认准确无误之后再将各个子程序嵌入到主程序进行全局链接调试。

首先主程序包括:初始化子程序、开门子程序、修改密码子程序,送显程序。

初始化子程序包括:初始化8254和5片8255A、蜂鸣器、三色LED的关门状态、标号变量的初始化,如报警标志位、返回键D的标志位、密码比对成功标志位等等;送显程序主要是用来显示密码输入状态及开关门显示。

矩阵键盘扫描子程序包括:以列信号为低4位,行信号为高4位进行键特征值的比对以判断按下的键值;开门子程序和修改密码子程序都包括:输入密码并保存密码子程序、三次比对的子程序;延时子程序为软件延时;显示密码子程序则利用查询变量的方式实现。

通过一段时间的辛苦调试,本组软件基本实现了课题要求功能:(1)输入密码可以开门或者修改密码。

(2)用LED现实门的当前状态(打开或关闭),以及当前功能状态(开门或设置)。

(3)按下开门键,LED显示“输入密码”提示信息,用户输入密码后,若正确则门打开,按下关门键或打开5秒后关门。

3次错误后三色LED红绿交错显示错误提示信息,并且扬声器同时发声报警,按下返回键返回。

(4)若按下设置键,LED显示“输入密码”提示,用户输入密码,若正确则LED显示“修改密码”提示信息,要求用户输入新开门密码,按确认键保存新密码后返回,按返回键则放弃修改直接返回。

若错误则处理规则与开门相同。

3.2 主程序软件设计思路首先我们知道CPU一次只能做一件事情。

所以程序开始运行,三色LED 显示关门状态之后,此时CPU则在执行矩阵键盘扫描的动作,一旦发现有确认键A键按下,则程序马上跳转到开门子程序。

若一旦发现有设置键B键按下,则跳转到修改密码子程序。

如果既不是A键也不是B键,则程序继续扫描矩阵键盘。

一方面,当程序执行到开门子程序,则首先将输入密码保存在一个新的数组内,同时要将输入密码的动作显示在三色LED上,然后按下确认键C键将输入的密码与初始化密码的数组相比较,如果两个数组内相同则密码正确,跳转到显示开门状态同时并利用8254定时5秒自动关门或者按下关门键E键回到初始化状态;如果三次输入都密码不正确,则程序跳转到报警子程序并将报警状态显示在三色LED上,此时按下返回键D键则程序跳转到初始化之前。

另一方面,当程序执行到修改密码子程序,则首先将修改密码的状态显示在三色LED上,将输入密码保存在一个新的数组内,同时要将输入密码的动作显示在三色LED上。