微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)

清华大学出版社

方式 1 的基本定义如下:分成 2 组(A 组和 B 组 )。每组包含一个 8 位的数据口和 1 个 4 位的控制 /数据口。8 位的数据口既可以作为输入也可以作输出, 输入和输出都可以被锁存。 4 位的控制 /数据口用于传送 8 位数据口的控制和状态信

息。

③方式 2:带选通的双向传输方式

这种双向的传输方式, 8255A 可以向外设发送数据,同时

CPU 通过这 8 位

数据线又接收外设的数据。因此称为双向的传输方式。

方式 2 的基本定义如下:只能适用于 A 口。一个 8 位的双向口 (A 口)和 1 个 5 位的控制口 (C 口)。A 口的输入和输出都可以被锁存。 5 位的控制口用于传送 8

位双向口的控制和状态信息。

当 A 口工作在方式 2 时,由 PA7~PA0 作 8 位数据线,因为要由 C 口对 A 口

进行控制,所以称为带选通的双向传输方式。 C 口对 A 口的控制信号如图 8.20 所示,工作时序如图 8.20 所示。在这种方式下, C 口中有 5 位 PC7 一 PC3 作为控制信号和状态信息使用, 剩下的 3 位 PC2~PC0 可作为简单的输入 /输出线使用。当控制字的 D0 位为 1 时 PC2~PC0 作输入;当控制字的 D0 位为 0 时 PC2~ PC0 作输出。

3. 可编程接口芯片 8255 的控制字有哪两个?其控制字及每位的含义是什么?

控制字分为 2 种:分别称为方式选择控制字和端口 C 置 1/置 0 控制字。根据

控制寄存器的 D7 位的状态决定是哪一种控制字。

D7 D6 D 5

D4

D 3

D2

D 1

D 0

①方式选择控制字

方式选择控制字用来决定

字识别位,为 1

图所示。它由一个

8255A 三个数据端口各自的工作方式, 它的格式如

00:方式 0 01:方式 1

81x位:的方式寄存2器组0成:输。出

PC7~ 4 口

1:输入 1:输入

0:输出

PC

B 组方式 B 口 0:方式 0 1:输入

1:方式 1

0:输出

1:输入

PC3~

0

0:输出

PC

选中

A 组控制 B 组控制

②口 C置1/置0控制字

D7 C 口置位 为0有效

8255A 在和 CPU 传输数据的过程中,经常将

D 6

D5 任意值

C 口的某几位作为控制位或状

D 4

D 3

D 2 C 口位选择

D 1 D0

选中位置 1置 0选择

0:置 0 1:置 1

态位来使用,从而配合

A 口或 B 口的工作。为了方便用户,在

000: PC0 001: PC1 010: PC2 011:PC3

100 :PC4 101 :PC5 110: PC6 111:PC7

8255A 芯片初始

化时,识别位C 口置 1/置 0 控制字可以单独设置到 C 口的某一位为 0 或某一位为

1,具

体的格式如图所示。

37

微机原理与接口技术(第二版)

清华大学出版社

4. 假定 8255 的端口地址分别为 0060H---0063H ,编写出下列各情况的初始化程

序:

(1) 将 A 口, B 口设置方式 0,端口 A 和 C 作为输入口, B 作为输出口

(2) 将 A 口设置成方式 1,输入口, PC6, PC7 作为输出端, B 口设置成

方式 1,输入口

答:(1)MOV AL, 99H

MOV DX, 0063H

OUT DX, AL

(2) MOV AL, 0B6H

MOV DX, 0063H OUT DX, AL

5. 设 8253 计数器 0~2 和控制字 I/O 地址依次 F8H~FBH ,说明如下程序的作用。

MOV AL, 33H OUT 0FBH, AL

MOV AL, 80H

OUT 0F8H, AL MOV

AL, 50H

OUT 0F8H, AL

答:计数器 0,方式 1,写两个字节

控制字节送到控制字寄存器

计数值的低位

写低位

计数初值的高位

写高位

6. 定时 /计数器芯片 Intel 8253 占用几个端口地址?各个端口分别对应什么?

答: 8253 占用 4 个端口地址,低地址分别为计数器 0,计数器 1,计数器 2,最

高地址端口对应控制字寄存器。

7. 试按如下要求分别编写 8253 的初始化程序,已知 8253 的计数器 0~2 和控制

38

微机原理与接口技术(第二版)

清华大学出版社

字 I/O 地址依次为 04H~07H

(1)计数器 1 工作在方式 0,仅用 8 位二进制计数器,计数初值为

128

(2)计数器 0 工作在方式 1,按 BCD 码计算,计数值为

3000

(3)计数器工作在方式 2,计数值为 02F0H

答: (1) MOV AL, 50H

OUT 07H, AL

MOV AL, 128

OUT 05H, AL

(2) MOV AL, 33H

OUT 07H, AL MOV AX, 3000

OUT 04H, AL MOV AL, AH

OUT 04H,A;

(3) MOV AL, 0B4H

OUT 07H, AL

MOV AL, 0F0H OUT 06H,AL

MOV AL, 02H

OUT 06H, AL

8. 设一个 8253 的端口为 0140H—0143H,时钟输入是由 8284 时钟发生器发出

的 2.3864MHZ 经二分频得到。现在要求使计数器

0 产生 20ms 的定时信号,

试对它进行初始化编程。

答:根据题意,控制格式字为

00110100B

计数次数为 23864

程序段如下:

MOV AL ,

34H 0143H AL 23864

MOV DX,

OUT

DX, AX,

MOV

39

微机原理与接口技术(第二版)

清华大学出版社

MOV

DX , 0140H OUT

DX, AL MOV

AL, AH OUT

DX,

AL

9.让 8253 的计数器 3 工作在单稳态方式,让它产生

15ms的脉冲宽度。假设输入频率为 2MHz , 8253 的端口地址为 20H— 23H,二进制计数方式。 答:方式字为 B2H

计数器初值: 30000

程序如下: MOV AL ,

B2H

OUT

23H, AL MOV

AX, 30000 OUT

20H, AL MOV

AL, AH OUT

20H,

AL

10.请把一个 8253 与 8086CPU 相连,地址为 2FF0~2FF3H 。

40

联系客服:779662525#qq.com(#替换为@)