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

微机原理与接口技术(第二版) 清华大学出版社

方式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位的状态决定是哪一种控制字。 ①方式选择控制字 字识别位,为1图所示。它由一个选中 D7 D6 D5 D4 D3 D2 D1 D0 方式选择控制00:方式0 8255AA口 PC7PC4 B组方式B口 PC方式选择控制字用来决定三个数据端口各自的工作方式,它的格式如3PC0 ~~01:方式1 1:输入 1:输入 81x位的寄存器组成。:方式2 0:输出 0:输出 A组控制 0:方式0 1:输入 1:输入 1:方式1 0:输出 0:输出 B组控制 ②口C置1/置0控制字

D7 8255A在和CPU传输数据的过程中,经常将C口的某几位作为控制位或状D6 D5 D4 D3 D2 D1 D0 任意值 C口位选择 态位来使用,从而配合A口或B口的工作。为了方便用户,在8255A芯片初始化时,C识别位 口置1/置0控制字可以单独设置到C口的某一位为0或某一位为1,具体的格式如图所示。

为0有效 000:PC0 001:PC1 010:PC2 011:PC3 100:PC4 101:PC5 110:PC6 111:PC7 0:置0 1:置1 C口置位 选中位置1置0选择

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 MOV DX, 0143H OUT DX, AL MOV AX, 23864

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