微型计算机原理及应用课程设计
微型计算机原理及应用课程设计 题目:多功能密码锁班级:2008级X班姓名1:XXX序号:2008XXXXXXXX序号: XX姓名2:XX序号:2008XXXXXXXX序号:XX指导老师:XXX日期:2011年1月12日目录课设目的及内容……………………………………………1课题分析、设计思路………………………………………1电路设计及功能说明,硬件原理图………………………2软件部分的程序流程图,算法和使用的编程技巧………10汇编源程序清单……………………………………………11设计过程中的主要难点及解决办法………………………20心得体会与设计总结………………………………………20参考文献……………………………………………………………21课设目的及内容经过了一个学期《微机原理及应用》的学习,我对微机原理及其程序设计有了初步的理解。在平时的实验中也接触到了一些相关芯片,如8086,8255,8254等等,但都是些比较简单,比较独立的应用,且都有相关的程序作为参考,所以很多实验我们做完以后都是只知其然不知其所以然。为了加深我们对平时所学知识的理解和认识,也为了考察我们对平时所学知识的掌握情况,所以安排了这次课程设计。希望我们通过这次课程设计发现并改正自己的不足,并将理论和实际紧密的联系在一起。我们所选的是第三个题目,也就是设计多功能密码锁。要求:密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示00字样。当输入密码错误时,发出错误警告声音,同时显示FF字样。当六次误码输入的条件下,产生报警电平报警。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。二、课题分析、设计思路因为密码锁的基本功能使可以判断密码是否正确,以及完成对密码的修改,所以需要用到输入设备以及CPU的接口电路以及相关存储设备;因为有报警提示功能,所以要用到相关的输出设备以及接口电路首先,因为要完成逻辑运算功能,所以必须要有CPU,CPU就选用我们最常用也最熟悉的8086,分别用一个2k×8的ram和4k×8的rom作为存储设备,因为rom只读不可断电信息不丢失,用来存储相关程序,而ram可读可写,但断电信息会丢失,故用来存储运行期间产生的相关数据。考虑到8255的端口兼具输入输出功能,灵活方便,所以选用一片8255作为输入输出设备与8086间的借口;采用一个准3×4的矩阵键盘作为0到9数字以及相关功能选择的输入;输出设备方面,采用两位数码管实现题目的状态提示要求,用一个蜂鸣器作为相关的警报,提示的声音输出,用一个发光二极管作为开锁的提示。另外,为简化编程,采用8259中断控制器来触发中断实现密码锁工作模式的转换,其中的密码输入及判断功能与密码修改功能分别用两个外部中断来触发中断服务程序来实现。本设计的密码位数为3位。三、电路设计及功能说明,硬件原理图设计中使用的芯片介绍微处理器8086CPU8086是Intel系列的16位微处理器,它采用HMOS工艺技术制造,芯片采用40系列线封装,单一的+5V电源,时钟频率为5~10MHz。8086有16根数据线和20根地址线,可以处理8位和16位数据,寻址1MB的储存单元和64KB的I/O端口。如图- 1所示图-1中断控制器8259A可编程中断控制器8259A是在多中断源系统中,用于8086至Pentium的CPU是先对外部中断请求管理工作,对她们实现优先权的排队,想CPU打出中断请求信号,提供中断类型码,屏蔽中断输入等功能的中断控制器芯片。8259A采用单片或多片级联方式,可管理不同的多级中断。如图-2所示图-28259A芯片的特点:可编程、8位输入,每片8259A可管理8级中断,可以多片(2~9)进行级连(或称级联)组成两级主从式的中断控制系统,管理多达64级中断。能接受多级中断请求,且能屏蔽或开放中断,能对多个中断源进行优先级排队;当多个中断源同时请求中断时,能选中当前最高优先级的中断源向CPU发出请求信号。在中断响应周期,8259A可提供相应的中断类型码。可实现中断嵌套。中断嵌套的深度取决于整个中断系统所具有的中断级数。8259A有多种中断管理工作方式,可以通过编程进行选择。时钟发生器8284时钟发生器8284是为8086/8088设计的时钟发生器/驱动器。在8284中,除具有时钟信号产生电路外,还有RESET复位信号和READY准备就绪信号同步控制电路。这些电路分别向8086/8088系统提供时钟信号CLK,以及被CLK同步的复位信号RESET和准备就绪信号READY。如图-3所示图-3并行接口芯片8255A8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。由于它是可编程的,可以通过软件来设置芯片的工作方式,因此,用它连接外部设备时,一般不需要在附加外部电路,给使用带来很大方便。如图