微机原理与接口技术(楼顺天第二版)第十章习题解答

  • 格式:doc
  • 大小:184.00 KB
  • 文档页数:9

下载文档原格式

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

微机原理与接口技术(楼顺天第二版)习题解答

第10章 并行接口芯片8255A 应用设计

10.1答:方式0是基本的输入/输出,端口A 、B 、C 都可以作为输入输出端口。适用于CPU 与非智能I/O 设备的数据传输;

方式1是有联络信号的输入/输出,端口A 、B 都可以设定成该方式,此时三个端口的信号线分成了A 、B 两组,74~PC PC 用作A 组的联络信号,30~PC PC 用作B 组的联络信号。适用于高速CPU 与低速I/O 设备的数据传输;

方式2是双向传输,只有A 组端口可以设定成该方式,PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号。适用于双机之间数据的并行传送。 10.2 答:(1)PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 0~PC 2用作基本I/O 。

(2)PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 1~PC 2用作输入的联络信号,PC 0用作中断请求信号。PC 6~PC 7用作基本I/O 。

(3)PC 6~PC 7用作输出的联络信号,PC 4~PC 5用作输入的联络信号,PC 3用作中断请求信号,PC 1~PC 2用作输入的联络信号,PC 0用作中断请求信号。

(4)STB :由外设(输入设备)提供的选题脉冲,表示将外设送来的数据锁存到端口寄存器;

IBF :是8255A 向外设STB 信号的响应,表示端口寄存器已经收到数据,但尚未被CPU 取走(CPU 通过读命令从端口寄存器取走数据后,IBF 自动变为0);

OBF :由8255A 向外设(输出设备)发出的数据准备好信号,表示CPU 已经将数据写入端

口寄存器;

ACK :外设向8255A 发回的响应,其有效表示外设已经将数据从端口寄存器取走,该信号

使得8255A 的OBF 变高,CPU 可以再一次向8255A 发送数据;

INTE :是8255A 内的中断允许触发器,可以通过对C 口的PC 6,PC 4,PC 2通过按位置位/复位命令字设定;

INTR :是8255A 进行选通输入输出时的中断请求信号,A 口的选通输入输出用PC 3,B 口的选通输入输出用PC 0。

10.3 答:8255A 工作在方式1输入或输出时,中断请求信号从C 口的PC 3引出;输入中断由INTEA (PC 4通过按位置位/复位命令字设定)和IBF 相与产生,输出中断由INTEA (PC 6通过按位置位/复位命令字设定)和OBF 相与产生;中断屏蔽由PC 6,PC 4通过按位置位/复位命令字设定。

10.4 答:1, 1, 1

10.5 答:A 口+ PC 3~PC 7;B 口+ PC 0~PC 2。

10.6 答:1

10.7 答:0

10.8 答:PC3~PC7

10.9 答:1~3

10.10 答:中断允许触发器,PC6,PC4

10.11 答:(1)D (2)A,D (3)D (4)D (5)A (6)A (7)B

10.12 答:MOV DX,303H

MOV AL,10000011B

OUT DX,AL

MOV DX,302H

IN AL,DX

MOV CL,4

SHL AL,CL

OUT DX,AL

10.13 答:(1)根据题目给出的端口地址,在8086最小方式系统下,8255A与K15~K0以及4个发光二极管的连接图如下所示。

(2) 编写程序段实现连续检测并显示开关量中“1”的个数。开关量中“1”的个数以二进制形式显示。

MOV DX,8F07H

MOV AL,10010010B ;端口A、B方式0输入,端口C方式0输出

OUT DX,AL

NEXT:

MOV DX,8F03H ;从端口B读取高8位开关量

IN AL,DX

XCHG AL,AH

MOV DX,8F01H ;从端口A读取低8位开关量

IN AL,DX

MOV BX,AX

XOR AL,AL

MOV CX,16

CLC

L2:

SHL BX,1

JNC L1

INC AL

L1:

LOOP L2

MOV DX,8F05H ;从端口C送出

OUT DX,AL

JMP NEXT ;进行下一次检测

10.14 答:8255A与IBM PC机总线的连接框图如下:

可将8255A的端口A作为要产生的信号的输出端口,设定为方式0输出,端口B和端口C 不做使用,均设定为方式0输出。程序段如下:

MOV DX,263H ;设定8255A的工作方式

MOV AL,10000000B

OUT DX,AL

MOV DX,260H ;产生指定信号

XOR AL,AL

OUT DX,AL

REP:

MOV AL,80H

MOV CX,7

REP1:

OUT DX,AL

SAR AL,1

LOOP REP1

MOV CX,8

REP2:

SHL AL,1

OUT DX,AL

LOOP REP2

JMP REP

10.15 答:由于开关量是16为数据,故可以将8255A的PA端口与PB端口设定为方式0,分别读取开关量的低八位和高八位,以PC端口的低三位控制八选一电路的输出依次从X0到X7,使用PC端口的高四位输出最大开关量的序号(该序号为1~8),控制发光二极管的亮灭以指示序号。

连接图如下:(下面电路中,当八选一输出Y有效时,能选通1组16位开关量数据)

程序段如下:

MOV DX,263H

MOV AL,10010010B ;设定工作方式,PA,PB均工作于方式0,PA、PB为

;输入,PC为输出

OUT DX,AL

MOV CX,8

XOR BX,BX

MOV SI,0 ;SI表示输入开关量的序号

ST1:

MOV DX,262H

MOV AL,SI

OUT DX,AL

MOV DX,260H ;将开关量数据的低八位读入AL

IN AL,DX

MOV AH,AL

MOV DX,261H ;将开关量数据的高八位读入AL

IN AL,DX

XCHG AH,AL

CMP BX,AX

JA NEXT

MOV BX,AX ;将当前最大值保存在BX中

MOV DI, SI ;将当前最大值的序号保存到DI中

NEXT:

INC SI

LOOP ST1

MOV AX, DI

MOV CL,4

ROL AL,CL ;将最大值的序号(4位)移至AL的高四位

MOV DX,262H

OUT DX,AL ;PC的高四位输出最大值序号