微机原理与接口技术周何琴课后习题答案 - 图文 下载本文

第6章作业 P230

2. 什么叫I/O端口?一般的接口电路中可以设置哪些端口?计算机对I/O端口寻址时可采用哪两种方法?在8086/8088CPU中一般采用那种编制方法? 答:

(1)端口:在接口电路中,存放数据、状态和控制信息的寄存器及其控制逻辑统称为I/O端口。 (2)一般的接口电路中可以设置数据端口、状态端口和命令端口(控制端口)等。

(3)计算机对I/O端口寻址时可采用I/O 统一编址(存储器映像寻址)和I/O 端口独立编址两种方法。 (4)在8086/8088CPU中对I/O端口寻址采用独立编址方法。 3. CPU与外设间传送数据主要有哪几种方式?

CPU与外设之间传输数据的控制方式通常有三种:程序控制方式、中断方式和DMA方式。 (1)程序控制方式:指用输入/输出指令来控制信息传输的方式,是一种软件控制方式,根据程序控制的方法不同,又可以分为无条件传送方式和条件传送方式。

无条件传送方式:CPU认为接口始终是处于“准备好”状态,能随时接收或发送数据,适用于那些能随时读写的设备。特点是接口简单,要求输入有缓冲,输出有锁存。应用的局限性较大,一般只适用于诸如开关控制、七段数码管的显示控制等场合。

条件传送方式:通过程序查询相应设备的状态,若状态不符合,则CPU不能进行输入/输出操作,需要等待;只有当状态信号符合要求时,CPU才能进行相应的输入/输出操作。特点是接口电路简单,CPU利用率低(程序循环等待),接口需向CPU提供查询状态。适用于CPU不太忙,传送速度要求不高的场合。要求各种外设不能同时工作,外设处于被动状态。

(2)中断传送方式:当外设准备好时,由外设通过接口电路向CPU发出中断请求信号,CPU在允许的情况下,暂停执行当前正在执行的程序,响应外设中断,转入执行相应的中断服务子程序,与外设进行一次数据传送,数据传送结束后,CPU返回继续执行原来被中断的程序。特点是CPU的利用率高,外设具有申请CPU中断的主动权,CPU和外设之间处于并行工作状态。但中断服务需要保护断点和恢复断点(占用存储空间,降低速度),CPU和外设之间需要中断控制器。适用于CPU的任务较忙、传送速度要求不高的场合,尤其适合实时控制中的紧急事件处理。

(3)DMA方式:外设利用专用的接口( DMA 控制器)直接与存储器、外设进行高速数据传送,并不经过CPU( CPU 不参与数据传送工作),总线控制权不在CPU处,而由DMA 控制器控制。特点是接口电路复杂,硬件开销大。大批量数据传送速度极快。适用于存储器与存储器之间、存储器与外设之间的大批量、高速数据传送的场合。

DMA传送的基本过程:

① 外设准备就绪时,向DMA控制器(DMAC)发DMA请求,DMAC接到此信号后,向CPU发DMA请求,CPU的HOLD有效。

②CPU接到HOLD请求后,如果条件允许(一个总线操作结束),则发出HLDA信号作为响应,同时,释放对总线的控制权

③DMAC取得总线控制权后, DMAC成为主设备, DMAC控制存储器与外设端口之间的数据传送(往地址总线发送地址信号,每传送1个字节,就会自动修改地址寄存器的内容,以指向下一个要传送的字节;每传送一个字节,字节计数器的值减1,当减到0时,DMA过程结束)

④ 传送结束,DMAC向CPU发结束信号,将总线控制权交回CPU。 ⑤DMAC又回到从设备的状态。

6. 某一个微机系统中,有8块I/O接口芯片,每个接口芯片占8个端口地址,若起始地址为300H,8块接口芯片的地址连续分布,用74LS138作译码器,试画出端口译码电路,并说明每块芯片的端口地址范围。(CPU采用8088)

解:8088CPU,地址连续分布,则8片I/O接口芯片的地址应为:

300----307 H、308----30FH、310----317 H、318----31FH、320----327 H、328----32FH、330----337 H、

338----33FH。

A11A10A9A8 A7A6A5 A4 A3A2A1A0十六进制地址

1#: 0011 0000 0000B 300H 0011 0000 0111B 307H

2#: 0011 0000 1000B 308H 0011 0000 1111B 30FH

3#: 0011 0001 0000B 310H 0001 0001 0111B 317H

4#: 0011 0001 1000B 318H 0011 0001 1111B 31FH

5#: 0011 0010 0000B 320H 0011 0010 0111B 327H

6#: 0011 0010 1000B 328H 0011 0010 1111B 32FH

7#: 0011 0011 0000B 330H 0011 0011 0111B 337H

8#: 0011 0011 1000B 338H 0011 0011 1111B 33FH

根据CPU外扩I/O接口的原理,从8片I/O接口的地址范围可以看出:A2~A0为每片I/O接口自己的范围,需要接CPU的低位地址线A2~A0;变化的地址为,用74LS138做译码器,则译码器输入为A5A4A3,A7A6=00(经或门后接74LS138译码器的G2A,本题中把未用的高位地址线或门后接74LS138译码器的,A9A8=11(经与门后接74LS138译码器的G),M/IO接74LS138译码器的G2B。1#~7#I/O接G2A)

口的片选接到74LS138译码器的输出Y0~Y7上。 电路原理图如下图所示。

各芯片地址范围如下: 1#芯片:300----307 H 2#芯片:308----30FH 3#芯片:310----317 H 4#芯片:318----31FH 5#芯片:320----327 H 6#芯片:328----32FH

7#芯片:330----337 H

8#芯片:338----33FH

注:8086系统要指出奇偶口地址(16个地址中)

1. CPU与外设交换数据时,为什么要通过I/O接口进行?I/O接口电路具有哪些主要功能? 答:

(1)由于输入/输出设备(外设)比较复杂,性能的离散性比较大,不同的外设,其结构方式、输入/输出的信号类型、输入/输出信息的速率相差很大。而同一个外设与CPU之间所要传送的信息类型不同,方向不同,作用也不一样。因此,CPU与外部设备之间的信息交换技术比较复杂。所以需要一个中间处理电路——接口电路来分别协调、处理、传送这些不同的信息。

(2)I/O接口电路具有寻址、输入/输出、数据缓冲、联络、数据转换、中断管理、时序控制、可编程、电器特征匹配、错误检测等主要功能。

8.什么叫总线?总线分哪几类?在微型计算机中采用总线结构有什么好处? 答:

(1)总线:总线是一组信号线的集合,是一种在各模块间传送信息的公共通路。 (2)总线的分类方法:

按相对于CPU与其他芯片的位置总线可分为:片内总线和片外总线; 按总线传送信息的类别,可把总线分为:地址总线、数据总线和控制总线; 按照总线传送信息的方向,可把总线分为:单向总线和双向总线;

按总线的层次结构总线可分为:片内总线、片级总线、系统总线和外部总线。

(3)在微机系统中,利用总线实现芯片内部、印刷电路板各部件之间、机箱内各插件板之间、主机与外部设备之间或系统与系统之间的连接与通信。总线是构成微型计算机应用系统的重要技术,总线设计好坏会直接影响整个微机系统的性能、可靠性、可扩展性和可升级性。

第7章作业 P281

6. 如果中断类型号n=4,它的中断服务子程序的入口地址为CS:IP=0485:0016H,它在中断向量表中如何存放? 解:

中断类型号n=4,中断向量指针=中断类型号×4=n×4=10H

从内存中断向量指针00010H开始的单元开始存放中断向量, CS占高2个字节, IP占低2个字节。具体如下: 00010H 00011H 00012H 00013H 答:

(1)CPU响应中断的条件为:外设提出中断申请,CPU允许中断(本中断位未被屏蔽,本中断位优先级别最高),当前指令执行完。

(2)CPU在INTR引脚上接到一个中断请求信号,如果此时IF=1,本中断位未被屏蔽,CPU就会在当前指令执行完以后开始响应外部的中断请求,这时,CPU在INTA引脚连续发两个负脉冲,第一个负脉冲用来通知外设,CPU准备响应中断,外设在接到第二个负脉冲以后,在数据线上发送中断类型码,接到这个中断类型码后,CPU做如下动作:

① 将中断类型码放入暂存器保存; ② 将标志寄存器内容压入堆栈;

16H 00H 85H 04H 11. 8086中断响应和处理有哪些主要步骤?

③ 将IF和TF标志清0; ④ 保护断点;

⑤ 根据取到的中断类型码,计算中断向量指针,在中断向量表中找出相应的中断向量,将其装入IP和CS,即自动转向中断服务子程序;

⑥ 中断返回。 第8章 作业 P253

1. 8253芯片有几个计数通道?每个计数通道可工作于哪几种工作方式?这些操作方式的主要特点是什么? 答:

(1)8253芯片有3个计数通道。

(2)每个计数通道均可工作于6种工作方式。方式1—可重复触发的单稳态触发器,方式2—自动重装初值的N分频器,方式 3 —方波发生器,方式4—软件触发的选通信号发生器,方式5—硬件触发的选通信号发生器。

输出波形:0、1 单稳输出,2、4、5 为单次负脉冲,3 为方波。2、3 为连续波形,其余为不连续波形;1、5 可硬件重复触发。

初始电平:写入控制字,只有0为低电平,其余均为高电平;写入初值,在GATE有效的情况下(计数期间),0、1为低电平,2、3、4、5均为高电平。

触发方式:

0、4为电平触发,上升沿继续。0是GATE=0停止计数, GATE再次为1,从中止处继续。4是GATE=0停止, GATE再次为1,从原装初值开始计数。

1、5为边沿触发,计数过程中再次出现GATE上升沿,计数器按原装初值开始计数。

2、3为电平触发,上升沿有效,GATE=0停止计数,计数过程中再次出现GATE上升沿,计数器按原装初值开始计数。

计数过程重新写入初值:

0、4----在GATE=1时,立即按新初值开始计数。

1、5----不影响目前的计数,只有在GATE再次出现上升沿时,按新初值开始计数。

2、3----不影响本次输出,本次计数结束后,若GATE=1,(重装新初值)按新初值开始计数。 自动重装能力:2、3 具有自动重装能力(其余没有),可输出连续的波形。 可重复触发能力:1、5具有可重复触发能力(其余没有)。 2. 8253的最高工作频率是多少?8254与8253的主要区别是什么?

解:8253的最高工作频率是2MHz。8254是8253的增强型产品,引脚兼容,功能几乎完全相同,其主要区别在于:

(1)8253的最高工作频率是2MHz,而8254的最高工作频率是10MHz;

(2)8254具有读回功能,可以同时锁存1----3个计数器的计数值及状态值,供CPU读取,而8253每次只能锁存和读取一个通道的计数器,且不能读取状态值。

4. 设8253的通道0----2和控制口的地址分别为300H、302H、304H、306H,设系统的时钟脉冲频率为2MHz。要求:

(1)通道0输出1KHz的方波;

(2)通道1输出频率为500Hz的序列负脉冲; (3)通道3输出单脉冲,宽度为400μs。 试画出硬件电路图,编写各通道的初始化程序。

解:8253的口的地址分别为300H、302H、304H、306H,连续的偶地址,说明CPU为8086.

(1)通道0输出1KHz的方波,应工作在方式3。2MHz/1KHz=2000,则可得通道0的定时初值为2000。 (2)通道1输出频率为500Hz的序列负脉冲,应工作在方式2。2MHz/500Hz=4000, 通道1的定时初值