多功能密码锁设计资料.docx
《多功能密码锁设计资料.docx》由会员分享,可在线阅读,更多相关《多功能密码锁设计资料.docx(10页珍藏版)》请在冰点文库上搜索。
多功能密码锁设计资料
《微型计算机原理与接口技术》课程论文
(2016-2017学年第1学期)
多功能密码锁设计
学生姓名:
梁启政
提交日期:
2017年1月1日学生签名:
梁启政
学号
201430581255
座位编号
16
学院
自动化科学与工程
专业班级
自动化4班
课程名称
微型计算机原理与接口技术
任课教师
杜娟
教师评语:
本论文成绩评定:
分
一、设计内容………………………………………………………………2
二、设计任务………………………………………………………………2
三、设计思路………………………………………………………………2
四、流程图…………………………………………………………………3
五、硬件连接图……………………………………………………………4
5.1硬件连接框图…………………………………………………………4
5.28086和存储器连接…………………………………………………5
5.38086和8255连接…………………………………………………5
5.48255和键盘连接……………………………………………………6
5.58255和数码管蜂鸣器连接…………………………………………6
5.6完整连接图…………………………………………………………7
六、程序代码………………………………………………………………7
七、地址分配表……………………………………………………………10
八、参考文献……………………………………………………………10
一、设计内容
密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同显示00字样。
当输入密码错误时,发出错误警告声音,同时显示FF字样。
当六次误码输入的条件下,产生报警电平报警。
还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。
二、设计任务
1、选用8086和适当的存储器及接口芯片完成相应的功能。
2、用LED显示器显示电子锁的当前状态。
3、画出详细的硬件连接图。
4、给出程序设计思路、画出软件流程图。
5、给出地址分配表。
6、给出所有程序清单并加上必要注释。
7、完成设计说明书(列出参考文献,所用器件型号)
三、设计思路
根据设计内容,可以把本程序划分为输入密码、正确开锁,错误报错以及是否需要修改密码四大部分。
本程序需要用到8086cpu以及8255通用并行可编程接口,其中8255的a口作为输入,bc口作为输出。
把输入的密码逐位和设定密码比较,一旦出错立即报错并发出提示音,如果输错6次就会产生报警电平;修改密码成功后,蜂鸣器会发出提示音
四、流程图
否
否
是是
是
否
五、硬件连接
本设计使用了8086、8255A、74LS138、存储器、地址锁存器、共阴极数码管以及74系列逻辑门、蜂鸣器、开关等芯片与元器件。
5.1硬件连接框图
5.28086和存储器连接
5.38086和8255连接
5.48255A口和键盘连接
5.58255B口连接共阴极数码管,C口连接蜂鸣器
5.6完整连接图
六、程序代码
MY8255_AEQU0CH;8255的A口地址
MY8255_BEQU0DH;8255的B口地址
MY8255_CEQU0FH;8255的C口地址
MY8255_MODEEQU0EH;8255的寄存器地址
STACKSEGMENTSTACK;堆栈段初始化
DW256DUP(?
)
STACKENDS
DATAS SEGMENT;数据段初始化
PASSWORD DB 0,0,0,0,0,0 ;设置初始密码
DATAS ENDS
CODES SEGMENT;代码段初始化
ASSUME CS:
CODES,DS:
DATAS,ES:
STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AX,STACKS
MOV ES,AX
MOVDX,MY8255_MODE0CH;初始化8255
MOV AL,90H
OUT DX,AL ;初始化8255,方式0,A口输入,B、C口输出
MOV BX,5 ;设置错误密码最大输入次数
A1:
MOV CX,5 ;设置密码个数
MOV SI,OFFSET PASSWORD ;si取密码第一位
A2:
IN AL,60H
CMP AL,BYTE PTR[SI] ;逐位比较,判断输入密码是否正确
JNE CLOSE ;只要有一位错误就调用错误子程序
INC SI ;判断下一位
LOOP A2 ;循环A2
CALL OPEN ;正确就调用开锁子程序
IN AL,60H;读取A口数据
AND AL,20H ;是否需要修改密码
JNE CHANGE ;调用修改密码子程序
CHANGE PROC NEAR ;修改密码子程序
MOV CX,5 ;设置密码个数
MOV SI,OFFSET PASSWORD
A3:
IN AL,60H
MOV [SI],AL
INC SI
LOOP A3 ;依次修改六位密码
A4:
IN AL,60H
AND AL,10H ;判断有否按下确认键
JNE A4 ;没按下则继续等待
MOV AL,01H
OUT 62H,AL ;蜂鸣器响一下表示确认
RET CHANGE ENDP
CLOSE PROC NEAR ;错误子程序
MOV AL,71H
OUT 61H,AL ;数码管输出“F”
MOV AL,10H
OUT 62H,AL ;选中L0输出“F”
MOV AL,71H
OUT 61H,AL
MOV AL,20H
OUT 62H,AL ;选中L1输出“F”
A5:
MOV CX,3
MOV AL,01H
OUT 62H,AL
LOOP A5 ;蜂鸣器响四下表示错误警告
DEC BX
CMP BX,0 ;判断是否已经输入六次错误密码
JNE A1 ;不够六次则重新转到A1
MOV AL,04H
OUT 62H,AL ;已输入六次误码则产生报警电平报警
RET CLOSE ENDP
OPEN PROC NEAR ;开锁子程序
A6:
IN AL,60H
AND AL,10H
JNE A6 ;等待确认键按下
MOV AL,3F
OUT 61H,AL ;数码管输出“0”
MOV AL,10H
OUT 62H,AL ;选中L0输出“0”
MOV AL,3F
OUT 61H,AL
MOV AL,20H
OUT 62H,AL ;选中L1输出“0”
MOV AL,02H
OUT 62H,AL ;输出开锁电平,开通LED,显示电子锁开启
RET OPEN ENDP
ST:
MOV AX,4CH
INT 21H
CODES ENDS
END START;结束程序
七、地址分配表
8255A口0DH
8255B口OEH
8255C口OFH
八、参考文献
1、《微机原理与接口技术》 清华大学出版社 牟琦 聂建萍主编
2、《微型计算机原理及应用试验指导书》 华南理工大学教材供应中心 耿彤 梁佑彬编