文档库 最新最全的文档下载
当前位置:文档库 › 微机原理习题第8-12章部分答案(新)

微机原理习题第8-12章部分答案(新)

微机原理习题第8章

2、I/O接口的主要功能有哪些?一般有哪两种编址方式?两种编址方式各自有什么特点?I/O接口的主要功能有:

(l)解决CPU与外设之间速度不匹配问题

(2)实现信号电平的转换

(3)实现信号格式的转换

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

(1)统一编址方式(存储器映像寻址)

优点:

1)简化了指令系统的设计,在微处理器指令集中不必包含I/O操作指令;

2)访问I/O设备的指令类型多、功能强,能用访问存储器指令,对I/O设备进行方便、灵活的操作;

3)I/O地址空间可大可小,能根据实际系统上的外设数目来调整。

缺点:I/O端口占用了存储单元的地址空间,且I/O译码电路变得较复杂。

其次,访问存储器的指令一般要比较长,这样延长了输入输出操作时间。

(2)独立编址方式

优点:

1)可读性好,输入输出指令和访问存储器的指令有明显的区别,使程序清晰;

2)I/O指令长度短,执行的速度快,占用内存空间少;

3)I/O地址译码电路较简单。

缺点:CPU指令系统中必须有专门的IN和OUT指令,而且这些指令的功能没有访问存储器的指令强。

4、什么是直接存储器存取方式(DMA)?DMA控制器在CPU与外设的数据传送过程中发挥怎样的作用?

直接存储器传送DMA指将外设的数据不经过CPU直接送入内存储器,或者,从内存储器不经过CPU直接送往外部设备。

DMA控制器的功能:

(1)能向CPU发出总线请求信号

(2)能实行对总线的控制

(3)能发送地址信号并对内存储器寻址

(4)能修改地址指针

(5)能向存储器和外设发出读/写控制信号

(6)能判断DMA传送是否结束

(7)能发出DMA过程结束信号,使CPU能正常工作

4、在8086微机系统中,有一外设的接口地址为2A8H~2AFH,请用74LS128译码器设计符合要求的地址译码电路.

G 1A

C B A 5A 3A 4G 2B G 2A

A 9A 7A 8

A 6&

≥1

Y 5

2A8H~2AFH

74LS138

G 1A C B A 2A 0

A 1G 2B

G 2A A 6≥1

74LS138Y 32ABH Y 02A8H Y 12A9H Y 22AA H Y 72AFH

Y 4

2AC H Y 5

2AD H Y 6

2AEH A 3&

A 9A 7A 5A 8

A 4

6、一个采用查询式数据传送的输出接口,其数据端口地址为300H ,状态端口地址为301H ,外设状态位用D7位表示。如果要将存储器缓冲区DATA 中的200个字节数据通过该输出口输出,画出流程图,编写控制程序段。

程序段为:

LEA SI ,DA TA MOV CX ,200

LP1: MOV DX ,301H NR : IN AL ,DX

SHL AL,1

JNC NR

DEC DX

MOV AL,[SI]

OUT DX,AL

INC SI

LOOP LP1

HLT

LEA SI,DATA

MOV CX,200

LP1:MOV DX,301H

NR:IN AL,DX

SHL AL,1

JNC NR

DEC DX

MOV AL,[SI]

OUT DX,AL

INC SI

LOOP LP1

HLT

第9章

1、(1)D(2)C(3)B(4)D

8251(5)D(6)D(7)C(8)A

2、填空题

(1)3,基本输入/输出方式,选通输入/输出方式,双向总线I/O方式

(2)ACK OBF外设响应信号

(3)方式选择控制字,置位/复位控制字

(4)中断允许信号,PC6、PC2、PC4

4、设8255A的端口A和B均工作与方式1,端口A输出,端口B和C为输入,

端口A地址为0060H。

(1)写出工作方式控制字。

0AFH

(2)编写8255A的初始化程序。

MOV DX,0063 H

MOV AL,0AFH

OUT DX,AL

(3)若要用置位/复位方式将PC2置为1,PC7清0,试写出相应程序。

MOV DX,0063H

MOV AL,05H

OUT DX,AL

MOV AL,0EH

OUT DX,AL 5、

(1)编写8255A的初始化程序。

MOV DX,63 H

MOV AL,81H

OUT DX,AL

MOV SI,1000H

MOV CX,200

MOV DX,62H NR:IN AL,DX

SHL AL,1

JC NR

MOV AL,0FH

OUT DX,AL

NOP

NOP

MOV AL,0EH

OUT DX,AL

NOP

NOP

MOV AL,0FH

OUT DX,AL

DEC DX

DEC DX

LP1:MOV AL,[SI]

OUT DX,AL

INC SI

LOOP LP1

HLT

4、现拟用8255A设计一个3X3的键盘,并通过发光二极管显示按键状态。要求该键盘能表示数字1~9,且按下1~8按键时,有一个相应的发光二极管点亮,若按下按键9,则8个二极管同时发亮。设计并画出相应接口电路。

第10章

4、试编程,要求将8253计数器0设置为方式0,计数初值为3000H,计数器1设

置为方式2,计数初值为2010H,计数器2设置为方式4,计数初值为4030H。

假设端口地址为140H~143H

MOV AL,20H ;计数器0

MOV DX,287H

OUT DX,AL

MOV DX,284H

MOV AL,30H

OUT DX,AL

MOV AL,30H ;计数器0

MOV DX,143H

OUT DX,AL

MOV DX,140H

MOV AL,00H

OUT DX,AL

MOV AL,30H

OUT DX,AL

MOV AL,74H;计数器1

MOV DX,143H

OUT DX,AL

MOV DX,141H

MOV AL,10H

OUT DX,AL

MOV AL,20H

OUT DX,AL

MOV AL,0B8H;计数器2

MOV DX,143H

OUT DX,AL

MOV DX,142H

MOV AL,30H

OUT DX,AL

MOV AL,40H

OUT DX,AL

5、8253利用软件产生一次性中断,最好采用哪种方式?若将计数初值送到某端口的计数值寄存器后经过20ms产生一次中断,如何进行编程?设时钟频率CLK为1MHz。

N=20000

MOV AL,38H;计数器0方式4

MOV DX,143H

OUT DX,AL

MOV DX,140H

MOV AX,20000 ;初值为20000

OUT DX,AL

MOV AL,AH

OUT DX,AL

第11 章

4、设计一个采用异步通信方式输出字符的程序段。规定波特率因子为64,7位数

据位,1位停止位,偶校验,端口地址为60H,62H,缓冲区为2000H~3000H。

MOV AL, 0

MOV DX, 62H

OUT DX, AL

OUT DX, AL

OUT DX, AL

MOV AL, 40H ;送控制口3个0和40H 复位

OUT DX, AL

MOV AL, 01111011B ;方式字,1停止,偶校验,7位,异64

OUT DX, AL

CALL DELAY ;延时

MOV AL, 00000001B ;控制字,允许发送

OUT DX, AL

DELAY

CALL SEND

SEND PROC NEAR

PUSH AX

PUSH CX

PUSH SI

MOV SI, 00H

MOV CX, 80H

AGAIN:MOV DX, 309H

IN AL, DX

TEST AL, 81H ;测TxRDY,DSR位(数据设备准备好)

JZ AGAIN

MOV AL, ADAT[SI]

DEC DX

OUT DX, AL

INC SI

LOOP AGAIN

POP SI

POP CX

POP AX

RET

SEND ENDP

DELAY MACRO

MOV CX, 02

TIME: LOOP TIME

第12章

1、采用DMA方式为什么能进行高速数据传送?

答:采用DMA方式传送数据时,不需要CPU的干预,数据的传送完全由硬件控制,即不需要CPU产生地址信息、数据信息、控制信息以及进行来回传送数据的指令操作,从而使数据传送速度达到硬件所允许的最快速度。

8、试编写程序段,要求利用8237A在存储区的两个区域BUF1和BUF2之间直接传送数据,传送的长度为64KB。

用通道0取BUF1中数,用通道1写入BUF2中

DMA EQU 0000H ;DMA起始端口地址

MOV AL,04H

MOV DX,DMA+08H;控制寄存器端口

OUT DX,AL ;设控制字,禁止8237A工作

MOV DX,DMA+0DH;复位命令端口

OUT DX,AL ;发复位命令

MOV DX,DMA+00H;通道0地址寄存器端口

MOV AX,BUF1 ;源数据区首址

OUT DX,AL ;写入地址低8位

MOV AL,AH

OUT DX,AL ;写入地址高8位

MOV DX,DMA+02H;通道1基地址与当前地址

MOV AX,BUF2 ;目的数据区首址

OUT DX,AL ;写入地址低8位

MOV AL,AH

OUT DX,AL ;写入地址高8位

MOV DX,DMA+03H ;通道1基计数与当前字节计数

MOV AX,0FFFFH

OUT DX,AL ;写入初始值低8位

MOV AL,AH

OUT DX,AL ;写入初始值高8位

MOV DX,DMA+0CH ;先/后触发器端口

OUT DX,AL ; 清先/后触发器端口

MOV DX,DMA+0BH ;方式寄存器端口

MOV AL,88H

OUT DX,AL ;设通道0方式字,数据块读增量

MOV DX,DMA+0CH

OUT DX,AL ; 清先/后触发器端口

MOV DX,DMA+0BH ;方式寄存器端口

MOV AL,85H

OUT DX,AL ;设通道1方式字,数据块写增量

MOV DX,DMA+0CH

OUT DX,AL ; 清先/后触发器端口

MOV DX,DMA+0FH ;主屏蔽字端口

MOV AL,0CH

OUT DX,AL ;屏蔽通道2、3

MOV DX,DMA+0CH

OUT DX,AL ; 清先/后触发器端口

MOV DX,DMA+08H ; 控制寄存器端口

MOV AL,01H

OUT DX,AL ;设控制字,允许存储器到存储器,启动8237A工作MOV DX,DMA+0CH

OUT DX,AL ; 清先/后触发器端口

MOV DX,DMA+09H ;请求寄存器端口

MOV AL,04H

OUT DX,AL ;向通道0发出DMA请求

MOV DX,DMA+08H ; 读状态寄存器端口

AA1:IN AL,DX

JZ AA1

MOV DX,DMA+0CH

OUT DX,AL ; 清先/后触发器端口

MOV DX,DMA+09H ;请求寄存器端口

MOV AL,00H

OUT DX,AL ;通道0撤销DMA请求

MOV DX,DMA+0CH

OUT DX,AL ; 清先/后触发器端口

MOV DX,DMA+08H ; 设控制字

MOV AL,04H

OUT DX,AL ;禁止8237A工作

HLT

相关文档
相关文档 最新文档