文档详情

微型计算机原理及应用课程设计--多功能密码锁..docx

发布:2018-05-18约字共13页下载文档
文本预览下载声明
目录 一.课设目的……………………………………………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
显示全部
相似文档