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
2
3
MOV DX,FFFEH
MOV AL,11001110
OUT DX,AL

二、选择题

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端口作为基本输出的初始化程序。

解:

  1. 8255A的方式选择控制字和C口按位控制字的端口地址一样,它们之间的区别在控制字的D7位(特征位)的值不同,8255A的方式选择控制字D7=1,而C口按位置位/复位控制字D7=0。

  2. 初始化程序:(设端口地址为,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
    **