微机原理第六章参考答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、

I/O接口的作用是使微机处理器与外设之间能够有条不紊地协调工作,打到信息交换的目的。I/O接口的功能有:数据缓冲、设备选择、信号转换、接收、解释并执行CPU命令、中断管理、可编程等功能。

二、

I/O端口是接口信息流传送的地址通道。

一般接口电路中有数据端口、命令端口、状态端口等。

三、CPU对I/O端口的编址方式有哪几种?各有什么特点?80X86对I/O端口的编址方式属

于哪一种?

CPU对I/O端口的编址方式有:统一编址和独立编址。

统一编址的微机系统中,存储器、I/O接口和CPU通常挂接在同一总线上,CPU对I/O端口

的访问非常灵活、方便,有利于提高端口数据的处理速度;但是减少了有效的存储空间。

独立编址的微机系统中,I/O地址空间和存储器地址空间可以重叠,CPU需要通过不同的命

令来区分端口的存储器。

80X86采用独立编址方式。

四、某微机系统有8个I/O接口芯片,每个接口芯片占用8个端口地址。若起始地址为9000H,8个接口芯片的地址连续分布,用74LS138作译码器,请画出端口译码电路图,并说明每个

芯片的端口地址范围。

74LS138

分析下表所列的地址分配情况,可知系统地址信号的译码情况为(图略):

●字选:A2~A0直接与接口芯片上的地址信号线连接以寻址每个接口芯片内部的8个端口;

●片选:

⏹A5~A3接3-8译码器输入端,译码器输出端分别作为8个接口芯片的片选信号;

五、

由于CPU与外设之间的速度不匹配,所以输入需要缓冲,输出需要锁存。

输入缓冲器就是输入时在外设和CPU之间接一数据缓冲器,当读该缓冲器的控制信号有效时,才将缓冲器的三态门打开,使外设的数据进入系统的数据总线,而其他时间,三态门处于高阻状态,不影响总线上的其他操作。

输出锁存就是在CPU和外设之间接一锁存器,使得有输出指令并且选中该I/O端口时,才使总线上的数据进入锁存器,此后不管总线上的数据如何变化,只要没有再次使锁存器的信号有效,锁存器的输出端就一直保持原来的锁存信息。

六、

CPU与I/O设备之间的数据传送方式有:

1.直接程序控制方式:这种方式又可以分为无条件传送方式和条件传送方式(查询方式);

这种方式的优点是编程简单,缺点是CPU的利用率不高;无条件控方式用在简单外设的输入/输出中;查询方式用在需要CPU与外设异步的场合中。

2.中断控制方式:这种方式的优点是CPU的利用率高,缺点是编程比较复杂且需要比较复杂的接口电路;主要用在对实时性要求比较高的场合。

3.直接存储器存取控制:这种方式的优点只需要CPU的少量干预,缺点是需要更复杂的电路来控制;用在处理内存与外设有大量数据交换的场合。

七、

便于CPU随机处理和提高工作效率的I/O方式是:中断控制方式。

数据传送最快的是:直接存储器控制方式。

八、假设一台打印机的数据输出I/O口地址为378H,状态口地址为379H,状态字节的D0位为状态位(D0=0,表示打印数据缓冲区空,CPU可以向它输出新数据;D0=1,表示数据区满)。试编写一段程序,用查询方式从内存中以BUF为首址的单元处开始,将连续1KB的数据传送给打印机,每次送1字节。

答:参考程序如下:可参考P299

LEA BX,BUF; BX指向第1个待打印的数据

MOV CX,1024; 一共要送1K个字节数据

AGAIN: MOV DX,379H

IN AL,DX; 读打印机状态端口

TEST AL,01H

JNZ AGAIN; 若D0位不为0,则继续查询等待

MOV AL,[BX]

MOV DX,378H

OUT DX,AL; 将BX所指的数据发送到打印机

INC BX; BX指向下一个待打印的字节

LOOP AGAIN; CX不为0,继续送下一个字节

九、

DA TA1 SEGMENT AT 4000H

BUF1 DW 1024 DUP(?)

DA TA1 ENDS

DA TA2 SEGMENT AT 5000H

BUF2 DB 2048 DUP(?);

DA TA2 ENDS

CODE SEGMENT

ASSUME CS:CODE DA:DATA1 ES:DATA2

MAIN: MOV AX,DA TA1

MOV DS,AX

MOV AX,DA TA2

MOV ES,AX

LEA SI,BUF1

LEA DI,BUF2

CLD

MOV CX,1024

MOV DX,OUTPUT

AGAIN: LODSW;端口可以十六位操作的可以使用OUT DX,AX代替下面5句命令MOV BL,AL

MOV AL,AH

OUT DX,AL

MOV AL,BL

OUT DX,AL

LOOP AGAIN

MOV CX,2048

MOV DX,INPUT

AGAIN2:IN AL,DX

STOSB

LOOP AGAIN2

MOV AH,4CH

INT 21H

CODE ENDS

END MAIN

十、简述线性键盘和矩阵键盘的区别。如何消除键盘抖动?

线性键盘的每一个按键要占用I/O端口的一根口线,而矩阵键盘比线性键盘节约了更多的口线;若口线的数目为M×N,则矩阵键盘数为M+N,而线性键盘的按键数为M×N。

去抖方法:

硬件法

用单稳态电路消除机械抖动的影响

相关文档
最新文档