第十章习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章习题答案
一、简答题
(1)简述并行接口的重要特点。
答:并行接口的主要特点:数据并行传输,传输速度快但距离觉近。并行接口的主要功能:并行传输数据,在主机与外设之间起到数据缓冲和匹配的作用。
(2)8255A有哪几种工作方式?各有什么特点?
答:8255A有方式0(基本输入输出方式)、方式1(单向选通输入输出方式)、
方式2(双向选通输入输出方式)等三种工作方式。
三种工作方式的主要特点:
方式0:
数据单向输出或单向输入。
主机认为外设总是处于准备好状态,没有联络信号。
主机与外设之间传输数据采用无条件传输方式
A口、B口C口高4位、C口低4位都可工作在方式0。
方式1:
数据单向输出或单向输入。
主机与外设之间传输数据需要一对联络(握手)信号。
主机与外设之间主要采用中断方式传输数据,也可采用查询方式。
A口与C口的高5位组成A组,B口与C口的低3位组成B组。
A口和B口为数据输入输出口,C口为控制口。
方式2:
数据可以双向输入输出。
只有A口能工作在方式2
A口为数据双向输入输出口,C口高5位为控制线。
主机与外设之间主要采用中断方式传输数据,也用采用查询方式。
(3)简述8255A工作在方式1输出时的工作过程
答:a:CPU接受中断请求,使用OUT指令向8255A输出数据并发写信号WR,WR 信号的上升沿一方面清除INTR中断请求信号,表示已响应中断,另一方面使OBF有效。
b:OBF信号有效表示输出缓冲区已满,通知外设取走数据。
c:外设接收数据,将ACK信号置为"0",即向8255A发回答信号,表示已收到数据。ACK的下降沿使OBF轩"1",表示数据已取走。ACK的上升沿使INTR有效。
d:INTR有效,向CPU发中断请求,请求输出下一个数据。
(4)定时器和计数器有什么相同和不同?
答:定时器和计数器是同一器件--计数器件,其共同的特点是都有一个计数脉冲输入端,每输入一个脉冲,计数器就进行加1或减1计数。若计数器件的计数脉冲的频率固定,则可利用计数实现定时,这就是定时器。若计数器件的作用仅仅是记录输入脉冲的多少,则称为计数器。
(5)为什么要对8253写控制字?8253的控制字包括啊些内容?
答:8253有多种工作方式供选择,因此8253在使用前必须先向其写控制字,以决定工作在哪一种方式
(6)8253的控制字是否可以读出?计数初值是否可以读出?可以从8253读出什么内
容?
答:不可以;不可以;从输出锁存寄存器读出减计数单元中的计数值。
(7)如何选择8253的计数器作为二进制计数还是作为十进制(BCD码)计数器?
答:控制字的D0位设为1则为十进制计数器。
二、设8255A的4个端口地址为0060H-0063H,试写出下列各种情况的工作方式命令字。
(1)A组B组工作在方式0,A口B口为输入口,C口为输出口。
(2)A组工作在方式2,B组工作在方式1,B口为输出口。
(3)A组B组都工作在方式1,均为输入口,PC6和PC7为输出。
答:(1)92H(2)C4H(3)B6H
三、8255A的A口和B口工作在方式0,A口为输入端口,接有4个开关;B口为输出端口,
接有1个7段发光二极管,其硬件连接电路如图10.18所示,LED显示0-FH的各字符代码列表如表10-3。试编一程序要求7段发光二极管显示开关所拨通的数字。(其中A 口地址8020H B口地址8022H C口地址8024 控制口地址8026)
图10.18 8255A与7段LED的连接
2
表10-3
答:源程序如下:
APORTEQU8020H
BPORTEQU8022H
CPORTEQU8024H
CONTREQU8026H
DA TASEGMENT
TAB1DB3FH,06H,5BH,4FH,66H,7DH,07H
DB7FH,6FH,77H,7CH,5EH,79H,71H
DA TAENDS
ASSUME:CS:CODEDS:DA TA
START:MOVAX,DATA
MOVDS,AX
MOVAL,90H
MOVDX,CONTR
OUTDX,AL
ADDR1:MOVDX,APORT
INAL,DX
ANDAL,OFH
MOVBX,OFFSET TAB1
XLAT
MOVDX,BPORT
OUTDX,AL
MOVCX,0400H
ADDR2:DECCX
JNZADDR2
JMPADDR1
CODE:ENDS
ENDSTART
四、设有2片8255A,其中:
8255A-1的地址为A口:10H;B口:12H;C口:14H;控制口:16H
8255A-2的地址为A口;20H;B口:22H;C口:24H;控制口:26H
有一片8259A,它的两个端口地址为90H和92H
3
有一片8251A,它连接CRT,已被初始化,数据口:54H;控制口:56H
现将8255A-2的B 口和8255A-1的A 口相连,用8255A-2的B口作为8位数据输出口,工作于方式0,C口也工作于方式0;当B口进行数据输出时,用PC1作为选通信号。8255A-1的A口作为8位数据输入口,工作于方式1,中断请求信号和8259A的IR2相连。要求8259A是ICW2为20H,用边沿触发,全嵌套方式并采用中断自动结束方式。
下面的程序由CPU 往8255A-2的B 口输出数据0~9,再从8255A-1的A口输入,然后往CRT输出。请填写下列程序中和程序后面的空项。
[答案]
MOV AL ,▁▁▁▁;8259A初始化13
OUT ▁▁▁,AL 90
MOV AL,▁▁▁20
OUT ▁▁▁,AL 92
MOV AL,▁▁▁0F
OUT ▁▁▁,AL 92
IN AL,▁▁▁;该中断屏蔽字92
AND AL,▁▁▁;设置新的屏蔽字0FB
OUT ▁▁▁,AL 92
MOV AL,▁▁▁;8255A-1初始化0B0
OUT ▁▁▁,AL 16
MOV AL,▁▁▁;8255A-2初始化80
OUT ▁▁▁,AL 26
MOV AH,00 ;送数字0
STI
KK:MOV AL,▁▁▁;用按位置1方式使选通无效03
OUT ▁▁▁,AL 26
MOV AL,AH ;8255A-2的B 口输出数据
OUT ▁▁▁,AL 22
MOV AL,▁▁▁02
OUT ▁▁▁,AL 26
INC AH
CMP AH ,OA ;是否超过9
JNZ KK
MOV AH,0
JMP KK
T:IN AL,▁▁▁;测试CRT 56
TEST AL,01
JZ T
IN AL,▁▁▁▁;读入数据10
AND AL,0F
ADD AL,▁▁▁▁;变成ASCII码30
OUT ▁▁▁▁,AL ;往CRT输出54
4