并行通信及其接口电路(8255A)习题
8255练习题及答案
一、填空题
1、8255A端口C按位置位复位控制字的**__D3D2D1___**位用来指定要置位或复位的端口。
2、8255A端口C按位置位复位控制字中的**___D0___**位决定对端口C的某一位置位或复位。
3、8255A端口A工作在方式2时,使用端口C的**__P7~P3____**作为与CPU和外部设备的联络信号。
4、8255A的每个端口的数据寄存器的长度为**__8__**位。
5、Intel 8255A是一个**___可编程通用并行输入输出____**接口芯片。
6、8255A控制字的最高位D7=**____1_____**时,表示该控制字为方式控制字。
7、8255A的端口A的工作方式是由方式控制字的**_D6D5___**位决定。
8、8255A的端口B的工作方式由方式控制字的**___D2_____**位决定。
9、8255A内部具有**___3____**个输入输出端口。
10、8255A与CPU连接时,地址线一般与CPU的地址总线的**__A1A0__**连接。
11、8255是一种可编程的**并行**接口芯片,其中有 3个 8位的并行输入/输出端口。
12、8255A的A组有**3种工作方式,B组有2**种工作方式。
13、当8255A的PC4~PC7全部为输出线时,表明8255A的A端口的工作方式是**_方式0____**。
14、8255A工作在方式0时,**___A、B、C__**口输入没有锁存能力。
15、设8255A控制寄存器端口地址为FFFEH,要把A口指定为方式2输出,PC6指定为输入,B口指定为方式1输入,PC2指定为输出,将下面初始化程序段补充完整。
1 | MOV DX,FFFEH |
二、选择题
1、当8086/8088访问100H端口时,采用( C )寻址方式.
A、直接 B、立即 C、寄存器间接 D、相对
2、8086CPU在进行I/O写操作时,M/IO和DT/R必须是( B )
A、L,L B、L,H C、H,L D、H,H
3、Intel8255A使用了( D )个端口地址。
A、1 B、2 C、3 D、4
4、8255A的PA口工作在方式2,PB口工作在方式1时,其PC端口( C )。
A.用作两个4位I/O端口
B.部分引脚作联络,部分引脚作I/O
C.全部引脚均作联络信号
D.作8位I/O端口,引脚都为I/O线
5、如果8255A的PA口工作于方式2,PB口可工作于哪种工作方式( D )。
A.方式O B.方式1
C.方式2 D.方式0或方式1
6、当8255A的PA口工作在方式1的输入时,对PC4置位,其作用是( C )。
A.启动输入 B.开放输入中断
C.允许输入 D.停止输入
7、8255A工作在方式0时,端口A、B和C的输入输出可以有( C )种组合。
A.4 B.8 C.16 D.6
8、8255A的端口A工作在方式2时,如果端口B工作在方式1,则固定用作端口B的联络信号的端口C的信号是( A )。
A.PC2~PC0 B.PC6~PC4
C.PC7~PC5 D.PC3~PC1
9、82545A既可作数据输入、出端口,又可提供控制信息、状态信息的端口是( D )。
(A)B口 (B)A口 ©A、B、C三端口均可以 (D)C口
10、8255A的方式选择控制字为80H,其含义是( D )。
(A)A、B、C口全为输入 (B)A口为输出,其他为输入
©A、B为方式0 (D)A、B、C口均为方式0,输出
11、8255A引脚信号 WR=0, CS=0,A1=0,A0=1时,表示( A)。
(A)CPU向数据口写数据 (B)CPU向控制口送控制字
©CPU读8255A控制口 (D)无效操作
12、8255A能实现双向传送功能的工作方式为( C )。
(A) 方式0 (B) 方式1 © 方式2 (D) 方式3
13、某系统采用8255A作并行I/O接口,初始化时CPU所访问的端口地址为0CBH,并设定为方式1输出,则A口的口地址应为( A )。
(A) 0C8H (B) 0CAH © 0CH (D) 0EH
14、8255A有两种控制字,其中工作方式控制字一定( C)。
A.不等于80H B.小于等于80H C.大于等于80H
15、当8255A的端口A和端口B都工作在方式l输入时,端口C的PC7和PC6___D___。
A. 被禁止使用 B.只能作为输入使用
C.只能作为输出使用 D.可以设定为输入或输出使用
三、判断题
1、8255工作在方式1的输出时,OBF信号表示输出缓冲器满信号。 ( ✓ )
2、给8255 C口PC3置0按位置位字是06H。 ( ✓ )
3、8255A A口工作在方式1输入,B口工作在方式0输出的方式控制字是0011×00×B。( ✓ )
4、8255工作在方式1或方式2时,其状态字通过读控制端口获得。 ( ✕ )
四、简答题
1、8255A有哪几种工作方式?各用于什么场合?端口A、端口B和端口C各可以工作于哪几种方式?
2、当8255A工作在中断方式2时,CPU是如何来区分输入或输出的?
3、8255各口设置如下:A组与B组均工作于方式0,A口为数输入,B口为输出,C口高位部分为输出,低位部分为输入,A口地址设为40H.
(1)写出工作方式控制字
(2)对8255A初始化
(3)从A口输入数据,将其取反后从B口送出
五、编程题
1、如下图所示,某8086微机系统中有一片8255A,其端口PA接一个8段LED显示器,开关设置的二进制信息由8255A的PB口输入,经过程序转换成对应的8段LED字形码后,由PA口输出,来点亮此LED。
1.根据图中的译码电路,写出8255A的四个端口地址;
2.试写出8255A的工作方式命令字和8086对8255A的初始化程序段;
2、如图B-1所示电路
(1)分析各端口地址;
(2)A口、B口工作在什么方式;
(3)写出8255A的初始化程序。
3、设8255A的A口、B口、C口和控制字寄存器的端口地址分别为80H,82H,84H和86H。要求A口工作在方式0输出,B口工作在方式0输入,C口高四位输入,低四位输出,试编写8255A的初始化程序。
4、8255A的方式选择控制字和C口按位控制字的端口地址是否一样,8255A怎样区分这两种控制字?写出A端口作为基本输入,B端口作为基本输出的初始化程序。
解:
-
8255A的方式选择控制字和C口按位控制字的端口地址一样,它们之间的区别在控制字的D7位(特征位)的值不同,8255A的方式选择控制字D7=1,而C口按位置位/复位控制字D7=0。
-
初始化程序:(设端口地址为,A口:200H,B口:201H,控制口:203H)
MOV AL,90H
MOV DX,203H
OUT DX,AL
5、8255A组成交通灯的控制。编写程序实现下列功能: K0、K1、K2全部闭合时,红灯亮;K0、K1、K2全部打开时,绿灯亮;其他情况黄灯亮。
分析:
-
K0、K1、K2全部闭合,PA2PA1PA0 :000(00H),红灯亮:PB2PB1PB0:100(04H);
-
K0、K1、K2全部打开,PA2PA1PA0 :111(07H),绿灯亮:PB2PB1PB0:010(02H);
-
其他情况,黄灯亮:PB2PB1PB0:001(01H);
-
根据电路图可知:8255工作于方式0,A口作输入口,B口作输出口。
-
方式控制字为:10010000.
-
**端口A的地址为:340H,端口B的地址为341H,控制字寄存器地址为343H。\
程序如下:**
-
MOV DX, 343H ;控制字端口地址
-
**MOV AL,90H ;方式控制字
OUT DX, AL ;初始化8255
AGAIN: MOV DX, 340H ;送端口A地址
IN AL,DX ;读端口A
AND AL,00000111B ;取A口的低3位
CMP AL, 00000111B ;判断是否全部打开
JE GREEN
CMP AL, 00000000B ;判断是否全部闭合
JE RED
MOV AL, 1 ;黄灯亮
JMP OUTPUT
RED: MOV AL, 4 ;红灯亮
JMP OUTPUT
GREEN: MOV AL, 2 ;绿灯亮
OUTPUT : MOV DX, 341H ;B口端口地址
OUT DX, AL
JMP AGAIN
HLT
**