微型计算机原理课程设计多功能密码锁1.doc_第1页
微型计算机原理课程设计多功能密码锁1.doc_第2页
微型计算机原理课程设计多功能密码锁1.doc_第3页
微型计算机原理课程设计多功能密码锁1.doc_第4页
微型计算机原理课程设计多功能密码锁1.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动化2006级1班 37号 张耀骢目录二、课程设计内容 2三、课题分析及设计思路 21、课题分析 22、设计思路2四、系统结构图3五、硬件电路设计31、所用到的相关芯片介绍 32、硬件电路主要模块介绍 4(1)地址锁存及数据缓冲环节 4(2)存储模块 5(3)中断控制模块 6(4)输入输出接口模块6(5)键盘输入模块6(6)输出模块及功能显示7(7)片选模块及地址分配表8六、软件设计81、程序流程图8 2、程序源代码10七、设计过程中遇到的问题及解决方法13八、设计总及结心得体会131、设计总结132、心得体会 13九、附录14一、课程序设计的目的经过对微型计算机原理及应用一个学期的学习,我初步认识了计算机系统的基本工作原理,对计算机有了更深刻理解,基本掌握了汇编语言的编程方法,也学习了CPU外部一些常用扩展器件,如8253、8255、8259等,平时实验课也进行了相关的实践,但都是一些基本的简单应用,且都是分章节的训练,有很多方面都只停留在“知道”的层次,未曾自己去运用过。所以本次课程设计,可以弥补平时的不足,通过综合运用所学过的知识对某一具体对象及实际问题进行分析,并解决问题。还可以让我对该门课程有一个整体的而更深刻的认识,锻炼自己运用所学知识及挖掘各种资源解决实际问题的能力。二、课程设计内容设计一个多功能密码锁,用数码管显示工作状态,要求密码锁在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示“00”字样。当输入密码错误时,发出错误警告声音,同时显示“FF”字样。当六次误码输入的条件下,产生报警电平报警。还可以实现对密码的修改,修改成功后,蜂鸣器发出确认音。三、课题分析及设计思路 1、课题分析:因为密码锁的基本功能是可输入密码、修改码以及判断密码是否正确,故需要输入设备及其与CPU的接口电路及相关存储设备;判断密码则涉及逻辑分析,即要实现逻辑功能;另外相关的报警提示功能则需要相关的输出设备及其接口电路。2、设计思路:要实现逻辑功能,故选用较熟悉的CPU8086;分别用一片2K8的RAM和4K8的ROM作为存储设备,因为ROM只读不可但断电信息不丢失,用来存储相关程序,而RAM可读可写,但断电信息会丢失,故用来存储运行期间产生的相关数据。考虑到8255的端口兼具输入输出功能,灵活方便,所以选用一片8255作为输入输出设备与8086间的接口;采用一个准34的按键阵作为0到9数字及相关功能选择的输入;输出设备方面,采用两位数码管实现题目的状态提示要求,用一个蜂鸣器作为相关的报警、提示的声音输出,用一个发光二极管作为开锁的提示。另外,为简化编程,采用8259中断控制器来触发中断实现密码锁工作模式的转换,其中的密码输入及判断功能与密码修改功能分别用两个外部中断来触发中断服务程序来实现。本设计的密码位数为3。四、系统结构图 图1 系统结构图五、硬件电路设计1、所用到的相关芯片介绍(1)CPU8086 8086是Intel系列16位微处理器,有16及20根地址线,其中16根数据线和20根地址线中的16根复用,可以处理8位和16位数据,寻址1MB的存储单元和64KB的IO口。(2)8255A 8255A是Intel系列的并行接口芯片,常作为微机系统与外部设备接口。可以通过软件编程来设置芯片的工作方式,因此,用它连接外部设备时,一般不需要再附加外部电路。PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 (3)8259A8259A芯片是一种可编程中断控制器,用于CPU实现对外部中断请求的管理工作对它们实现优先权的排队,向CPU发出中断请求信号,提供中断类型码,屏蔽中断输入等功能的中断控制器芯片。其主要功能如下: 一片8259A可以接受并管理8级可屏蔽中断请求,通过8片8259A级联可扩展至 64级可屏蔽中断优先控制。 对每一级中断都可以通过程序来屏蔽或允许。 在中断响应周期,8259A可为CPU提供相应的中断类型码。 具有多种工作方式,并可通过编程来加以选择。(4)74LS373、8286 74LS373是一个8位的地址锁存器,用与8086锁存8086输出的地址。8286是一个8位的总线收发器,用提高8086的数据输入输出时的驱动能力。2、硬件电路主要模块介绍(1)地址锁存及数据缓冲模块 采用三片74LS373作为8086输出地址的锁存,用一片8286作为数据缓冲,提高8086的驱动能力。 图2 地址锁存与数据缓冲模块图(2)存储模块 存储模块采用一块RAM M48T02与一块ROM M2732采用线选法按字扩展形式联结起来作为存储设备。 图3 存储模块图(3)中断控制模块 中断控制采用一块8259A,其中只有IR0与IR1中断开放,单片工作于非缓冲方式,电平触发,优先级是普通全嵌套方式。 图4 中断控制模块图 (4)输入输出接口模块 用一块8255A作为输入输出接口,其中A口以方式0输出,接键盘阵的列;B口以方式0输入,接键盘阵的行;C作输出接数码控制显示数值。 图5 输入输出接口模块图(5)键盘输入模块 如图1示,其中的准34键盘用作密码数字09的输入,B0B3接8255A的PB0PB3端,A7A5接8255A的PA7PA5端,通过逐列扫描判断所按下的键并返回相应的键值。其中“返回”键作为输入中过程中中途退出用,当按下时则退出当前中断服务程序;“开始输入”与“修改密码”两键分别按下时则分别触发中断进入密码输入及判断中断服务程序与密码修改中断服务程序。图6 键盘输入模块图(6)输出模块及功能显示 两位数码管在无任何操作时全灭,在输入密码关态时显示“EE”,随后分另显示最上面两横、中间两横、最下边两横来提示输入第一、二、三位输入3位密码后,若密码正确而显示“00”,若错误则显示“FF”且蜂鸣器响三下提示,若连续六次输入错误,蜂鸣器报警长鸣一段时间;在修改密码状态,首先要输入原密码,规则与输入 图7 输出模块图密码状态时一样,同样有报输错报警功能。输入原密码正确后再输入两次新密码,两次新密码一致才会保存新密码,修改成功后蜂鸣器会响一下提示。(7)片选模块及地址分配表 如图是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论