电子密码门锁课程设计报告Word文档下载推荐.docx
《电子密码门锁课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电子密码门锁课程设计报告Word文档下载推荐.docx(42页珍藏版)》请在冰豆网上搜索。
硬件设计与连线,8255扩展与编程
硬件设计与连线,键盘的扩展与编程
1.课题分析
1.1课题描述
设计一个密码门锁系统,以扬声器作为发生装置,以4*4键盘作为功能按键,根据预设的密码对门锁实现安全控制。
只有密码完全符合时才能开门,密码不符时发出扬声器发生报警。
在计算机硬件试验系统上,自行完成扬声器模块设计,完成该系统的基本功能,该部分占80分;
并在此基础上自行完善和优化系统功能,该部分占20分(如有雷同者,该部分不得分)。
基本功能集体要求如下:
(1)密码为6位,输入密码可以开门或修改密码。
(2)用LED显示门的当前状态(打开或关闭),以及当前功能状态(开门或设置)。
(3)按下开门键,LED显示“输入密码”提示信息,用户输入密码后,若密码正确则门打开,按下关门键或打开5秒后关门。
若密码错误则三色LED用红色显示“密码错”提示信息后,要求用户重新输入密码,3次错误后三色LED红绿交错显示错误提示信息,并且用扬声器同时发声报警,按下返回键返回。
(4)若按下设置键,LED显示“输入密码”提示信息,用户输入管理员密码,如正确则LED显示“修改密码”提示信息,要求用户输入新开门密码,按确认键保存新密码后返回,按返回键则放弃修改直接返回。
若错误错误则处理规则与开门相同。
1.2器件选择及功能分配
分析课题基本功能得知需要使用:
实验箱上8个三色LED对应的4片8255
颜色提示信息
试验箱上的8254
定时器0,1做5秒定时;
定时器2用作扬声器控制
试验箱上的8259
5秒定时中断
试验箱上的6个8段LED
显示各种提示信息
扩展芯片8255一片
试验箱上总线与外部连接
扩展4*4键盘
功能键与数字键
4个3.7k电阻
辅助4*4键盘实现键盘控制
扩展板
连接个扩展器件
扩展接口
总线与8255间接口
扬声器模块
报警发声器
2.系统功能
2.1按键功能分配
其中返回键还具有在输入密码时清屏功能。
2.2系统功能优化
(1)待机状态以及操作状态三色LED为黄色,开门时三色LED为绿色,灯的颜色与们的状态同步变化。
(2)在关门状态以及输入密码错误的状态课按下提示键提示一位密码。
(3)退格功能,在输入密码时按下退格键可清除上一个输入字母。
(4)在输入密码时,可按下返回键使输入的所有密码清除。
3.硬件设计
3.1硬件模块原理图
其中扬声器模块原理图如下:
扬声器模块焊接好后,从输入信号端输入控制信号,即可控制扬声器报警。
不同频率的输入信号可产生不同的声音。
4*4键盘原理图如下:
购买的4*4键盘原理图:
直接使用,会造成按键不灵敏,为了准确我们在此基础上给每行接上电源,即可用列扫描读取其键特征值,从而实现键盘的功能。
接线后4*4键盘原理图:
3.2硬件连线
根据前面的分析以及器件功能分配,进行硬件连线
地址:
扩展的可编程并行I/O口接口芯片8255接实验箱上300H
可编程定时/计数器8254接实验箱上320H
中断控制器8259A接实验箱上340H
接线:
1.可编程定时/计数器8254计数器0CLK接频率信号47KHZ,GATE接+5V,OUT接计数器1的CLK。
2.可编程定时/计数器8254计数器1CLK接计数器0的OUT口,GATE接+5V,OUT接8259IRQ0。
3.可编程定时/计数器8254计数器2CLK接频率信号3MHZ,GATE接+5V,OUT接扬声器信号输入端。
4.扩展可编程并行I/O口接口芯片8255AA口接LED段选,B口高六位接LED位选,C口高四位接键盘列信号,低四位接键盘行信号。
5.8255的A0,A1接转接板的A2,A3,8255的读写信号接转接板的读写信号,8255的+5v与地接转接板的电源与地,8255的数据总线接转接板引出的D0-D7。
6.中断控制器8259(A)INT1接INTR,SP/1接+5V,IRQ0接8254计数器1OUT。
7.扬声器器电源接+5V,地接GND,信号接8254计数器2OUT。
8.4*4模块的每一列串联一个3.7v电阻并接+5v电源。
整个系统连接图如下:
4.软件设计方案
本次设计采用的是子程序嵌套。
在进行设计的时候,先定好程序的框架结构,分出几个子程序。
子程序用一个个小的调试程序调试好,确认准确之后再写主程序并将各个子程序加入到主程序进行链接调试。
4.1整体软件设计方案
主程序包括:
8255初始化C口高4位为输出低四位为输入,A、B口为输出
8254初始化计数器0工作在方式2下,计数器1工作在方式0下,并使两个级联实现5s定时。
计数器2作为扬声器控制输入信号。
8259初始化中断类型号为40H,中断向量入口标志为INTOTCOUT。
四片8255初始化使A、B、C口为输出。
并使LED显示为黄色。
按键扫描(KSCAN1)
密码提示程序
开门功能程序
设置功能程序
子程序包括:
延时子程序(DELY)
消除鬼影延时子程序(DELAY)
开门后跳出标识符中断子程序(INTOTCCOUT)
键特征值到短代码的转换(KEYTOSHOW)
输入密码时的横显示(SHOWHENG)
密码检测程序(CHECK)
开门后定时关门程序(OPENTOCLOSE)
扫描与显示子程序(SHOWANDKEY)
清除存储单元子程序(CLR)
一开始扫描是否有键按下,判断过后就进入四种不同的状态。
无键按下即为空闲状态,用JMP语句重新扫描。
当有键按下时,通过判断按的是开门键、设置键或密码提示键进入各自的子程序。
如果是开门键按下后,利用扫描每一位密码,通过比较程序比较密码是否正确,正确之后门打开,6位LED显示open,三色LED为绿色;
如果密码输入错误,则6位LED显示error,三色LED为红色并显示EFEFEFEF,需要重新输入密码,密码输错3次长鸣报警,三色LED红绿交替为EFEFEFEF。
如果按下的是设置键,同样的流程判断管理员密码是否正确,若正确则可重新设置密码,错误则规则相同。
如果按下密码提示键则提示一位密码,按返回键可返回到关门状态。
不论系统出于何种状态之下,我们都能通过6位LED的文字显示与三色LED的颜色很容易的判断当前状态,让整个系统的流程清晰的显示出来。
4.1主程序设计方案
主程序设计思路:
电子密码门锁的实现主要是依靠5片8255,4×
4小按键,8位三色LED,6位LED。
开门、设置和提示键的功能地选择那种功能,所以要先判断是三个键中那个键按下,并跳转到相应的程序部分。
跳到密码提示部分后,6位LED上直接显示密码种的第一位密码,按返回键后可退出到关门状态。
跳到开门部分后,调用键盘扫描与显示子程序和密码检测子程序等相关子程序,输入过程中可以按返回键清除屏幕上的内容也可以按退格键消除上一个输入的内容。
最后输入六位密码后按确认键,通过密码检测子程序的检测可判断出密码的对与错并在三色LED和6位数码管上做出相应的显示。
如果密码输入错误可按提示键提示第一位密码。
跳到设置密码部分:
对应LED变化提示输入管理员密码,调用输入密码子程序,调用完之后调用判断设置密码是否正确的子程序,若是正确则输CHECK=1给主程序,若错误CHECK=0,三次错误则给8254定时器2初值使扬声器发声音给,主程序通过判断CHECK的数值决定要修改密码还是显示错误,跳到显示错误部分之后再判断是否按下返回键,若是按下则返回主程序开头,若是没按下则继续判断。
若CHECK=1则跳到修改密码部分,修改成功后按确认件即可。
主程序流程图:
提示模块程序:
开门模块:
设置模块:
4.2子程序设计方案
延时子程序(DELY和DELAY)
此部分是键盘扫描和去除鬼影所用的延时,不需要精确延时,所以使用程序延时,并在实际操作中找到合适的延时时间。
键盘扫描后键特征值存在CL中,此子程序将键特征值转换为对应的数字,根据我们扩展的4*4键盘,键特征值与段代码对应关系为:
键特征值
EEH
EDH
EBH
E7H
DEH
DDH
DBH
D7H
BEH
BDH
BBH
B7H
7EH
段代码
3FH
06H
5BH
4FH
66H
6DH
7DH
07H
7FH
6FH
77H
7CH
39H
对应密码值
1
2
3
4
5
6
7
8
9
A
B
C
此子程序的意在在6个数码管上显示横杠,提示可输入密码。
通过给每个数码管送段代码40H。
CHECk为子程序返回值,在主程序中,通过判断CHECK的值来判断输入密码正确与否从而实现开门与关门信息显示。
由于8254的定时器0和定时器1级联实现5s延时,功能要求是开门后5s自动关门,此处定时器1的输出与8259的中断相连接,此段程序主要为8254写入计数初值,定时5s后给8259中断信号。
子程序的返回值在CL内部,即为键特征值。
每次输入密码时需要清除上次输入的密码,即清除INPUTWAT中暂存的代码。
5.使用说明
5.1功能及显示说明
1.系统初始密码为88888888
2.密码可以由0~9abc组成
3.开门5S后,自动返回关门状态
4.关门状态显示为:
CLOSE
5.开门状态显示为:
OPEN
6.提醒输入密码显示为:
INPUT
7.提醒修改密码显示为:
CHANGE
8.提示密码错误显示为:
error
9.密码错误三色LED显示为:
EFEFEFEF(红色)
10.密码正确三色LED显示为绿色
11.错误三次三色LED显示为:
EFEFEFEF(红绿交替)
3.2操作说明
1.开门操作---按A键,待机界面时进入开门功能,此时显示INPUT,按确认键后可输入密码,输入6位密码后按确认键即可,在输入密码时可操作E键清屏以及A键清除上一个输入密码。
2.修改密码操作---按B键,待机界面时进入设置功能,此时显示INPUT按确认键后可输入原始密码,再按确认键,显示CHANGE,按确认键,显示新的设置密码,按确认键回到关门状态。
3.提示密码操作---按C键,待机界面进入密码显示,按键后显示第一位密码,再按返回键E可回到关门状态。
4.C键---提示键,在关门状态或者输入密码错误的状态可以提示第一位密码。
5.D键---清除键,输入密码时,按下可消除当前数字
6.E键---返回键,输入密码时,按下可返回重新输入;
输入新密码后,按下返回键可取消输入返回关门状态;
提示密码错误,需按返回键重新输入;
报警后,需按返回键返回关门状态;
开门后,按下返回键返回关门状态;
提示密码时,需按此键返回关门状态
7.F键---确定键,显示提醒时,需按