微型计算机原理及应用课程设计--多功能密码锁..docx
文本预览下载声明
目录
一.课设目的……………………………………………1
二.课设内容
三.问题分析、设计思路及原因………………………………1
四.电路设计及功能说明,硬件原理图………………………2
五.软件部分的程序流程图,算法和使用的编程技巧………10
六.汇编源程序清单……………………………………………11
七.课设结果分析………………………………………………20
八.收获、体会和建议…………………………………………20
九.参考文献……………………………………………………21一.课设目的
1.掌握8086,8255等芯片的工作原理和使用方法,了解各引脚的功能。
2.掌握各芯片之间的连接方法,设计多功能密码锁电路。
3.运用《微机原理及应用》中学习到的知识,编写汇编语言程序,通过对芯片的控制实现多功能密码锁的各种功能。
4.巩固本学期学习到的微机原理的相关知识,通过实践加强对知识的理解??同时提高自身思考问题的能力,培养对本课程的兴趣,提高动身能力。
二.课设内容
课程设计题目选取多功能密码锁,实现的功能为:
1.判断输入的密码是否正确
2.修改密码
3.密码输入错误时发错警告声音
4.当密码输入错误四次时发出警报
三.问题分析、设计思路及原因
1.问题分析
考虑到实现以上功能需要使用数码管、开锁电平、报警电平、蜂鸣器等输出,因此使用微机实验中用过的芯片8255A作为接口芯片,该芯片能比较好地满足这次课程设计的功能要求。而CPU则选择我们熟悉的8086。
2.设计思路及原因
密码的输入主要通过系统功能调用语句“MOV AH,1; INT 21H”(即带显示的单字符键盘输入功能)和循环语句实现,而密码输入是否正确则通过串比较指令来实现。程序中的提示语句可以使用系统功能调用语句“MOV AH,9; INT 21H”(即字符串输出)功能来实现。
对接口芯片,首先要完成芯片的初始化,使8255A芯片的A,B口作为输出端口,A口用于控制数码管在密码输入正确或错误的情况下的显示“00”或“FF”,B口用于控制提示音和相应的发光二极管。当输入错误时,B口输出03H(),使对应的蜂鸣器发声,相应的发光二极管发光。而当四次输入密码错误时,B口输出0CH(),使对应蜂鸣器发声,对应二极管发光。当密码输入正确时,B口输出30H(),发出开锁提示音,并使对应二极管发光。
程序的设计思路总体来说就是“输入-各种逻辑运算-输出”,为了实现各种不同输入情况下的响应,本程序使用了比较多的转移指令,从而使结构变得复杂,因此采用了两个字程序,让程序的结构更加清晰。
四.电路设计及功能说明,硬件原理图
1.设计所使用的元件清单
PC机一台,8086处理器,8255A接口芯片一片,74LS138译码器一个,6264随机存储器一片,七段数码管两个,发声器及发光二极管各四个,非门一个
2.电路中用到的芯片介绍
(1) 微处理器8086CPU
8086是Intel系列的16位微处理器,它采用HMOS工艺技术制造,芯片采用40系列线封装,单一的+5V电源,时钟频率为5~10MHz。
8086有16根数据线和20根地址线,可以处理8位和16位数据,寻址1MB的储存单元和64KB的I/O端口。如图所示
(2)并行接口芯片8255A
8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。由于它是可编程的,可以通过软件来设置芯片的工作方式,因此,用它连接外部设备时,一般不需要在附加外部电路,给使用带来很大方便。如图所示
3.电路连接图
五.软件部分的流程图,算法和使用的编程技巧
1.主程序流程图8255初始化
初始化
提示输入密码
调用密码输入的子程序
验证right
执行子程序right
BL=04H
警告部分WARN
BL=BL+1
报警ALARM
2.密码输入子程序流程图
设置输入密码位数CX=06H
保护现场
CX=0
输入显示CX=CX-1
恢复现场
返回主程序
开锁并显示正确
保护现场
修改密码
提示修改成功
返回主程序
第一次输入新密码
第二次输入新密码
两次相同
3.RIGHT子程序流程图
六.汇编源程序清单
DATA SEGMENT
NUM DB ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’ ;设定初始的密码
INPUT DB 6 DUP (?) ;定义保存输入密码的数据串
MESS0 DB ‘please input the password’,0DH,0AH, ‘$’ ;定义各种提示字符串
MESS1 DB ‘Do you want to change zhe passw
显示全部