计算机原理与接口技术课程设计_第1页
计算机原理与接口技术课程设计_第2页
计算机原理与接口技术课程设计_第3页
计算机原理与接口技术课程设计_第4页
计算机原理与接口技术课程设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、微型计算机原理与接口技术课程设计课 题 并行通讯的中断设计 学院(部) 电子与控制工程学院 专 业 建筑设施智能技术 班 级 学生姓名 学 号 12 月 24 日至 1 月 6 日共 两 周指导教师(签字) 2011年 1 月 4 日摘要计算机与外部进行信息交换的方式有两种,一种是并行通信,另一种是串行通信。并行通讯以字节或字为单位进行数据传送,两个功能模块间有多位数据同时进行数据传送,速度快,效率高。在系统与外设进行信息交换时,并行通讯起到了重大的作用。本次课程设计主要在于设计出一个利用中断完成并行通讯系统。此系统主要由8086系统与8255可编程并行接口。 此次课设在于培养我们的动手能力与

2、考察我们对书本上的知识掌握的熟练程度。如何正确的运用8086,8255成为本次实验的关键所在。关键字:并行通信 8255芯片 目录一 引言二 正文(一) 设计方案的论证(二) 硬件的设计(三) 软件的设计(四) 试验及测试情况三 参考文献四 附页:一 源程序清单二 电路接线图引言 随着科技的进步,信息化的程度在人们的生活中也越来越得到完善与提高。在计算机中数据的传送是交流的基础,因此在计算机中,通讯显得尤其重要。本次的课程设计中,主要考察我们如何运用芯片完成通信。这是我们为我们下一步更加深入的了解微型计算机与应用微型计算机打下坚实的基础,本次课设有着重大的意义。 本次课程设计,我组主要应用的是

3、8255芯片,8086指令系统与等一系列芯片元件进行连接与实现功能。 设计中,我们将面对一些较为棘手的问题。比如如何正确的进行程序编程,如何合理的进行各元件之间的连接,如何正确的运用中断信号进行中断指令等等问题。但我们将秉着正确对待知识的态度,努力研究,抓紧时间完善课设,尽自己最大的努力达到课程设计的要求。 总而言之,这次课程设计对我们的知识要求有着一定的高度与深度。知识上的准备归结只要有如下三点:1、总结性地复习8086的中断系统;2、精通掌握中断控制器8259A的原理和编程;3、精通掌握串行通讯接口芯片8251或并行通讯接口芯片8255之一。正文一 设计方案的论证总述:在中断技术的综合应用

4、设计中,为了验证中断在并行或串行通信中的运用,本小组在认真熟悉掌握课本内容后,积极四处查找有关资料,尽量充分准备,以力求在现有的知识水平下深刻理解,小组成员多次交流自己所掌握的知识和设计理念。灵活运用在众多方案中择优选取合适的式样验证方案。方案一并行接口是实现并行通信的接口。其数据传送方向有两种:单向传送(只作为输入口或输出口),双向传送(皆可作为输入口,也可作为输出口)。而并行接口可以很简单,如锁存器或三态门;也可以很复杂,如可编程接口芯片。本次使用的8255是Intel公司生产的为X86系列CPU配套的可编程并行接口芯片。所谓可编程,就是通过软件的方式来设定芯片的工作方式。8255的通用性

5、较强,使用灵活,是一种典型的可编程并行接口。本次试验设计也可采用模拟打印机的工作过程来表示由8255输出的8086发送来的数据。方案二 Intel 8250是专用于异步通信的可编程串行接口芯片,具有很强的串行通信能力和灵活的可编程性能,在微机中的运用极为广泛。运用8086CPU与8250 及部分外设验证其可进行串行通信,如示波器,LED灯等来表示由8250输出的8086发送来的数据。已达到串行通信的目的。方案三由于proteus 在仿真8086中对8259A的支持不完善,因此可以考虑绕开8259而使用不可屏蔽中断来完成数据传送。故在这种设计中使用不可屏蔽中断来完成并行通讯的中断设计,而且在80

6、86的NMI端接入由一个开关控制的高电平,每按下一次产生一个中断,其中8086作为CPU而8255作为并行通信的接口其中外设使用黄色LED灯且在其输出线上并接一个七段数码管,以显示每次中断后8255 所输出的数值。最终方案选择通过比较以上三个方案的各种难易程度,及小组成员知识水平的掌握程度,以及对查阅的方案的权衡比较。方案一中只有8255与8086的链接使用但是过于简单不足一完整的表现并行通行,方案二中使用8250,而小组成员对此芯片的掌握不如对8255的掌握使用,且为串行通信使用过程较为复杂,程序设计不易进行故放弃8250串行通信的设计,方案三 明显方案三较为成熟明显,程序设计思路清晰,且并

7、行通信的掌握较为成熟,故选用方案三,来实现并行通讯的中断设计的方案。二 硬件的设计1.主要应用器件参数与功能介绍(1)8086CPU的外部引脚及功能 A16-A19/S3-S6:地址,状态复用的引脚,三态输出。在8086执行指令的过程中,某一时刻从这4个引脚上送出地址的最高4位A16-A19;而在另外时刻,这4个引脚送出状态信号S3-S6。这些状态信号里,S6恒等于0,S5指示中断允许标志位IF的状态,S4,S3的组合指示CPU当前正在使用的段寄存器,其编码如下。S4S3当前正在使用的段寄存器S4S3当前正在使用的段寄存器0001ESSS1101CS或未使用任何段寄存器DS A8-A15:中8

8、位地址信号,三态输出。CPU寻址内存或者接口时,从这些引脚送出地址A8-A15。 AD0-AD7:地址,数据分时复用的双向信号线,三态。当ALE=1时,这些引脚上传输的是地址信号;DEN=0时,这些因脚上的输出信号是数据信号。 ALE:地址锁存信号,三态输出,低电平有效。 READY:外部同步控制输入信号,高电平有效。它是由被访问的内存货I/O设备所发出的信号响应,当其有效时,表示I/O设备或者储存器已经准备好了,CPU可以进行数据传送。 弱存储器或I/O设备没有准备好,则使READY信号为低电平。CPU在T3周期采样READY信号,若其为低,CPU自动插入等待周期TW(一个或者多个),直到R

9、EADY变为高电平后CPU才脱离等待状态,完成数据传送过程。 INTR:可屏蔽中断请求信号,高电平有效。CPU在每条指令的最后一个周期采样该信号,以决定是否进入中断响应周期。这个引脚上的中断请求信号可用软件屏蔽。 NMI:非屏蔽终端请求输入信号,上升沿触发。这个引脚上的中断请求信号不能用软件屏蔽,CPU在当前指令执行结束进入中断过程。 REST:系统复位输出信号,高电平有效。为使CPU内部复位过程,该信号至少要在4个周期内保持有效。复位后CPU内部存储器的状态如下表所示。当REST返回低电平时,CPU将重新启动。内部存储器内容内部存储器内容CSFFFFHIP0000HDS0000HFLAGS0

10、000HSS0000H其余寄存器0000HES0000H指令队列空 HOLD:总线保持请求信号输入,高电平有效。当某一总线主控设备要占用系统总线时,通过此引脚向CPU提出请求。 HLDA:总线保持响应信号输出,高电平有效。这是CPU对HOLD请求的响应信号,当CPU收到有效的HOLD信号后,就对其做出响应:一方面使CPU的所有三态输出的地址信号,数据信号和相应的控制信号变为高阻状态(浮动状态);同时输出一个有效的HLDA,表示处理器现在已放弃对总线的控制。当CPU检测到HOLD信号变低后,就立即使HLDA变低,同时恢复对总线的控制。 CLK:时钟信号输入引脚。 VCC:5V电源输入引脚 GND

11、:地线(2)8255的外部引线及功能D0-D7:双向数据线。用来传送数据 RD:读信号线,低电平有效。RD与其他信号线一起实现对8255接口的读操作,通常系统总线的IOR信号。 WR:写信号,低电平有效。当系统系统信号经译码产生低电平是选中8255芯片,使能够对8255进行操作。 A0,A1:口地址选择信号。 8255的内部包括独立的输入/输出端口(A口,B口和C口)以及一个控制寄存器。A0,A1地址信号经片内译码可产生4个有效地址,分别对应A,B,C这三个口和内部控制寄存器。具规定如下表。A1A0选择A1A0选择01A口10C口01B口11控制寄存器 REST:复位输入信号。通常接系统的复位

12、端RESET端。当它为高电平时使8255复位。复位后,8255的A口,B口和C口均被设为预设输入状态。 PA0-PA7:A口的8条输入/输出信号线。这8条线是工作于输入,输出还是双向方式可由软件编程来决定。 PB0-PB7:B口的8条输入/输出信号线。利用软件编程可指定这8条线是作输入还是输出。 PC0-PC7:C口的8条线,根据其工作方式可以为数据的输入或输出线,也可以用作控制信号的输出或者状态信号的输入线。 (3)74LS373当三态允许控制端 OE 为低电平时,Q0Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器

13、内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。 引出端符号: D0D7 数据输入端 OE 三态允许控制端(低电平有效) DnLEOEQnHHLHLHLLXLLQ0XXH高阻态LE 锁存允许端 Q0Q7 输出端 真值表(右边) (4)74LS1384、5、6脚是控制脚,只有当6脚为高电平而4、5脚都为低电平时,74LS138才对1、2、3脚的输入进行译码,选择和从这三个管脚输入的三位二进制码相对应的某一个输出脚输出低电平,否则所有

14、的输出脚都是输出高电平。其真值表如下图2.硬件模拟连接图三 软件的设计 本次设计主要运用了8086系统芯片,运用了其不可屏蔽中断的功能。8086芯片的NMI数据口接有一个开关。每当开关闭合一次,NMI变成高电平,此时即可产生一次不可屏蔽中断。当中断产生后,8086即会停止当前工作并且来相应此次的中断请求。此时8086即会向8255A输出数据,而后8255的指定口即会将数据输出。我们就可以通过8255A的输出口所连接的8个LED灯的亮暗与数码管显示的数字来观察本次数据传输的情况。在传输中,8255A 芯片主要负责传输的工作。经过考虑,我们运用8255A的0型工作方式。即A口与B口作为输出。但本次

15、实验主要在于验证并行数据的传输,所以我们只利用了A口的8位输出连接8个LED灯与一只数码管来观察设计的传输情况。四 试验及测试情况试验部分:本次课程设计,我组主要运用了8255A芯片的并行传输功能。通过在试验模拟软件Proteus搭接虚拟电路,向8086中导入程序,利用其强大的仿真功能,以此来验证试验结果。在数据的传送上,我们运用了不可屏蔽中断的传送方法。每当需要有新的信号进行传输时测试情况:CPU的NMI接口即会接到高电平,其实表示有不可屏蔽的中断,表示有新的数据传来,CPU即会停止其他工作并进入到数据传送中,从而完成了并行传输。 模拟软件Proteus搭接虚拟电路在模拟后,按键每按动一次七

16、段数码管显示其当前的值,并且LED管显示其对应的BCD码。则实验设计达到设计的要求,试验成功,测试结果良好。参考文献 微型计算机原理与接口技术 冯博琴 吴宁微型计算机原理及应用实验 殷代红 侯晓霞源程序清单:DATAS SEGMENT DW 100 DUP(?) STR1 DB 00H,01H,02H,03H;此处输入数据段代码 DATAS ENDSSTACKS SEGMENT DW 50 DUP(?)STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: PUSH DS PUSH BX 断点保护 中断向量初始化 MOV AX,0000H

17、 ds赋予初值 MOV DS,AX bx对应偏移地址是ds,使ds为零,防止出错 MOV BX,0008H nmi固定中断类型吗是02h MOV DX,OFFSET MYINT MOV BX,DX 写中断向量表 偏移地址 MOV BX,000AH 将指针向下移动两位 MOV DX,SEG MYINT 段基址 将中断子程序的地址写入中断向量表 nmi上升沿触发 MOV BX,DX POP BX MOV AX,DATAS MOV DS,AX MOV AX,STACKS MOV SS,AX MOV DX,0086H 控制字地址 MOV AL,0089H 控制字 OUT DX,AL MOV DX,0080H a口地址 MOV AL,00H a口置零 OUT DX,ALGOON: JMP $ SHUCHU: MOV AL,CL MOV DX,80H a口写数据 OUT DX,AL CALL DELAY 做小延迟

温馨提示

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

评论

0/150

提交评论