8255练习题及答案.docx

上传人:b****2 文档编号:23244110 上传时间:2023-05-15 格式:DOCX 页数:16 大小:117.41KB
下载 相关 举报
8255练习题及答案.docx_第1页
第1页 / 共16页
8255练习题及答案.docx_第2页
第2页 / 共16页
8255练习题及答案.docx_第3页
第3页 / 共16页
8255练习题及答案.docx_第4页
第4页 / 共16页
8255练习题及答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

8255练习题及答案.docx

《8255练习题及答案.docx》由会员分享,可在线阅读,更多相关《8255练习题及答案.docx(16页珍藏版)》请在冰豆网上搜索。

8255练习题及答案.docx

8255练习题及答案

8255练习题及答案

一、填空题

1、8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。

答案:

D3、D2和D1

2、8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。

答案:

D0

3、8255A端口A工作在方式2时,使用端口C的________作为与CPU和外部设备的联络信号。

答案:

PC7~PC3

4、8255A的每个端口的数据寄存器的长度为____位。

答案:

8

5、Intel8255A是一个________________________接口芯片。

答案:

可编程的通用并行输入输出

6、了般I/O接口的编址方式可分为________________两种方式。

答案:

I/O接口单独编,与存储器统一编址

7、8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置.

答案:

D3,D2和D1

8、8255A的端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。

答案:

D0

9、8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。

答案:

PC7~PC3

10、8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。

答案:

A0和Al

11、8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。

答案:

1

12、8255A的端口A的工作方式是由方式控制字的____位决定。

答案:

D6和D5

13、8255A的端口B的工作方式由方式控制字的________位决定。

答案:

D2

14、8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。

答案:

0

15、8255A内部具有_____个输入输出接口。

答案:

3

16、8255A内部具有_______个输入输出端口。

答案:

3

17、8255A的三个端口中只有端口____没有输入锁存功能。

答案:

C

18、Intel8255A是一个_________________接口芯片。

答案:

可编程的通用并行输入输出

19、8255A与CPU连接时,地址线一般与CPU的地址总线的__________连接。

答案:

A0和A1

20、8255A的三个端口中只有端口_____没有输入锁存功能。

答案:

C

21、8255A的每个端口的数据寄存器的长度为_______位。

答案:

8

22、8255A的端口B的工作方式是由方式控制字的________位决定。

答案:

D2

23、8255A的端口A的工作方式是由方式控制字的____位决定。

答案:

D6和D5

24、8255A的控制字的最高位D7=________时,表示该控制字为方式控制字。

答案:

1

25、8255是一种可编程的行接口芯片,其中有个位的并行输入/输出端口。

26、8255A的A组有种工作方式,B组有种工作方式。

27、设8255A控制寄存器端口地址为FFFEH,要把A口指定为方式2输出,

指定为输入,B口指定为方式1输入,

指定为输出,将下面初始化程序段补充完整。

MOVDX,

MOVAL,

二、选择题

1、当8086/8088访问100H端口时,采用()寻址方式.

A、直接B、立即C、寄存器间接D、相对

C

2、8086CPU在进行I/O写操作时,M/IO和DT/R必须是()

A、L,LB、L,HC、H,LD、H,H

B

3、某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0CBH,并设定为方式1输出,则A口的口地址应为()

A、0CBHB、0CAHC、0CHD、0EH

D

4、当并行接口芯片8255A被设定位方式1时,其功能相当于()

A、0线握手并行接口B、1线握手并行接口C、2线握手并行接口D、多线握手并行接口

C

5、Intel8255A使用了()个端口地址。

A、1B、2C、3D、4

D

三、判断题

1、8255工作在方式1的输出时,OBF信号表示输出缓冲器满信号。

()

2、给8255C口PC3按位置位字是06H。

()

3、8255AA口工作在方式1输入,B口工作在方式0输出的方式控制字是0011×00×B。

()

四、简答题

1、用8255A和8086CPU相连,若8255A片选信号由A10~A3产生,且A10~A3=1111100B,问A口、B口、C口和控制口地址分别是多少?

2、8255A有哪几种工作方式?

各用于什么场合?

端口A、端口B和端口C各可以工作于哪几种方式?

答:

8255A有3种基本的工作方式:

方式0——基本输入输出方式,适用于不需要用应答信号的简单输入输出场合;方式1——选通输入输出方式,适用于必须在联络信号控制下才能完成的I/O操作;方式2——双向总线I/O方式,适用于双向总线方式。

端口A可工作于:

方式0、1、2;

端口B可工作于:

方式0,1;

端口C可工作于:

方式0。

3、8254定时/计数器的定时与计数方式有什么区别?

8254在方式0工作时,各通道的CLK、GATE信号有什么作用?

各通道的控制字地址都相同,8254是怎样区分的?

解:

8254作为计数器和定时器使用时的区别:

(1)用途不同:

定时器用于产生连续的、周期恒定的信号;

计数器用于对输入脉冲进行计数。

(2)对CLK输入的信号要求不同:

用作定时器时,CLK输入的信号必须有相同的周期;

用作计数器时,允许CLK输入的信号没有固定的周期;

使用方式不同:

定时器方式下计数的过程周而往复,重复进行;

计数器方式下计数的过程只进行一次,除非重新初始化,或者用GATE重新触发;

(3)8254工作在方式0时,CLK端输入计数用的脉冲信号;GATE信号为高电平时,对CLK端输入的脉冲进行计数;GATE信号为低电平时,暂停计数;GATE信号重新为高电平后,恢复原先的计数。

(4)由8254的方式控制字中的D7、D6两位来选择计数通道。

4、8255A的方式0一般使用在什么场合?

在方式0时,如果使用应答信号进行联络,应该怎么办?

答案:

方式0的特点是只要WR,RD信号有效,就有数据传送,一般使用在可随时传送数据的场合.若使用应答信号进行联络,可用C口作为联络,对C口位操作,一般上C口用作选通(STB)线,下C口作状态输入(RDY)线.

5、当8255A工作在中断方式2时,CPU是如何来区分输入或输出的?

答案:

在输入,输出均允许中断的情况下,可在中断服务程序中查询状态字,判断OBF和IBF位的状态,来区分是输入中断还是输出中断,并采取相应操作.

6、8255各口设置如下:

A组与B组均工作于方式0,A口为数输入,B口为输出,C口高位部分为输出,低位部分为输入,A口地址设为40H.

(1)写出工作方式控制字

(2)对8255A初始化

(3)从A口输入数据,将其取反后从B口送出

答案:

(1)10010001B即91H

(2)MOVAL,91H;OUT43H,AL

(3)INAL,40H;NOTAL;OUT41H,AL

7、8255的功能作用是什么?

它有哪些工作方式?

答案:

8255是可编程的并行接口芯片,设有三个8位的数据输入/输出端口,共有三种工作方式:

方式0为基本的输入/输出方式;方式样为应答式输入/输出方式;方式2为应答式双向数据传送方式.

五、编程题

1、设8255端口地址为50H~56H中的偶地址,试画出微机系统与8255A和LS138译码器的接口图。

设端口A工作在方式0输入,端口B工作在方式1输出,允许B口中断,端口C输出,对8255初始化编程。

2、设8255端口地址为80H~86H中的偶地址,试画出8255与微机系统和LS138译码器的接口图。

设端口A工作在方式1输入,中断允许,端口B工作在方式0输出,端口C输出,对8255初始化编程。

74LS1388255

 

3.设8255A与8086CPU相连,8255A芯片A口工作在方式1输出,B口工作在方式0输入,禁止A口中断,8255A芯片A口、B口、C口、控制口地址分别为FFF8H、FFFAH、FFFCH、FFFEH,请写出初始化程序。

4、如下图所示,某8086微机系统中有一片8255A,其端口PA接一个8段LED显示器,开关设置的二进制信息由8255A的PB口输入,经过程序转换成对应的8段LED字形码后,由PA口输出,来点亮此LED。

要求:

1.根据图中的译码电路,写出8255A的四个端口地址;

2.试写出8255A的工作方式命令字和8086对8255A的初始化程序段;

5、如图B-1所示电路

(1)分析各端口地址;

(2)A口、B口工作在什么方式;

(3)写出8255A的初始化程序。

6、设8255A的A口、B口、C口和控制字寄存器的端口地址分别为80H,82H,84H和86H。

要求A口工作在方式0输出,B口工作在方式0输入,C口高四位输入,低四位输出,试编写8255A的初始化程序。

答:

MOVDX,86H;控制字端口地址

MOVAL,10001010B

OUTDX,AL;写控制字

7、8255A的方式选择控制字和C口按位控制字的端口地址是否一样,8255A怎样区分这两种控制字?

写出A端口作为基本输入,B端口作为基本输出的初始化程序。

解:

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

(2)初始化程序:

(设端口地址为,A口:

200H,B口:

201H,控制口:

203H)

MOVAL,90H

MOVDX,203H

OUTDX,AL

8、用8255A的A端口接8位二进制输入,B端口和C端口各接8只发光二极管显示二进制数。

编写一段程序,把A端口读入的数据送B端口显示,而C端口的各位则采用置0/置1的方式显示A端口的值。

解:

(设端口地址为,A口:

200H,B口:

201H,C口:

202H,控制口:

203H)

MOVAL,90H;8255A初始化:

MOVDX,203H;8255A各组方式0,A口输入

OUTDX,AL;B、C口输出

MOVDX,200H

INAL,DX;读A口输入值

MOVDX,201H

OUTDX,AL;送B口输出

MOVAH,AL;A口输入值转存在AH中

MOVDX,203H

MOVCX,08;CX置循环次数初值

MOVAL,00H;C端口置0/置1控制字初值

LPA:

ANDAL,0FEH;清除最低位

SHRAH,1;A端口一位转入CF

ADCAL,0;A端口一位从CF转入命令字

OUTDX,AL;A端口一位从送往C端口对应位

ADDAL,02H;形成下一个命令字

LOOPLPA;处理C端口下一位

9、将8255A用作两台计算机并行通信的接口电路,请画出采用查询式输入/输出方式工作的接口电路,并写出采用查询式输入/输出方式的程序。

解:

用两片8255作两台计算机8088_A与8088_B之间并行通信的接口电路,两片8255之间的连接如下图所示。

两片8255均在方式1、查询方式下工作。

(1)8088_A输出程序:

(8255_A的A口作为数据输出口,C口的PC0作为“数据输出选通”信号,负脉冲输出。

C口的PC6作为“应答”信号输入。

端口地址:

A口:

200H,C口:

202H,控制口:

203H)

DATASEGMENT

BufferDB“Thisisaexample.”,0DH,0AH,-1

DATAENDS

CODESEGMENT

START:

MOVAX,DATA

MOVDS,AX

LEABX,Buffer;输出缓冲区指针送BX

MOVDX,203H

MOVAL,0A0H;10100000B

;8255_A的方式选择字,A口工作在方式1、输出,C口低四位输出

OUTDX,AL

MOVAL,1

OUTDX,AL;将PC0置1

CALLDELAY;延时等待对方完成初始化

;A口查询方式输出

NEXT:

MOVDX,202H

INAL,DL

TESTAL,80H;判别

是否有效,PC7→

A

JZNEXT;数据尚未取走,等待

MOVDX,200H

MOVAL,[BX]

OUTDX,AL;输出一项数据

INCBX

MOVDX,203H

MOVAL,0

OUTDX,AL;

NOP

NOP

INCAL

OUTDX,AL;通过PC0向对方发选通信号

CMPBYTEPTR[BX-1],-1;判断输出是否完成

JNENEXT;未完成,继续

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

(2)8088_B输入程序:

(8255_B的A口作为输入,方式1,PC4作为“数据输入选通”信号,输入,负脉冲有效。

PC0为“应答”信号输出。

端口地址:

A口:

210H,C口:

212H,控制口:

213H)

DATASEGMENT

BufferDB80DUP(?

DATAENDS

;

CODESEGMENT

START:

MOVAX,DATA

MOVDS,AX

LEABX,Buffer;输入缓冲区指针送BX

MOVDX,213H

MOVAL,0B0H;10110000B

;8255_B的方式选择字,A口工作在方式1,输入,C口低四位输出。

OUTDX,AL

MOVAL,01H

OUTDX,AL;PC0置1,表示没有“应答”信号

CALLDELAY;延时等待对方状态就绪

;A口查询方式输入

AGA:

MOVDX,212H

INAL,DX

TESTAL,20H

JZAGA

;PC5(IBF)是否为1,不是,无数据输入,继续查询

MOVDX,210H

INAL,DX

MOV[BX],AL

MOVDX,212H

MOVAL,0

OUTDX,AL

INCBX

NOP

NOP

INCAL

OUTDX,AL;通过PC0向发送方发“应答”负脉冲

CMPBYTEPTR[BX-1],-1;数据接收完了吗?

JNEAGA;未完,继续

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

10、设计一个用8255A作为8个七段显示器的接口电路,并设计一个把内存地址为ADDRA的8个数字在这8个七段显示器上显示的程序。

解:

设8个七段显示器采用共阳接法,A口控制段的显示,B口控制位的显示。

端口地址A口:

200H,B口:

201H,控制口:

203H

DATASEGMENT

ADDRADB×,×,×,×,×,×,×,×

TABLEDB40H,4FH,24H,30H,19H

DB12H,02H,78H,00H,10H

DISPBITDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,80H;对8255A初始化,A,B端口方式0,输出

MOVDX,203H

OUTDX,AL

LEABX,TABLE;BX置为七段码表首地址

MOVDISPBIT,7FH;置位码初值为7FH:

011111111H,第一个亮

LEASI,ADDRA;SI置为显示缓冲区首地址

MOVCX,8;CX置为循环次数初值8

AGA:

MOVAL,0FFH

MOVDX,201H

OUTDX,AL;熄灭所有数码管

MOVAL,[SI];取出一个待显示数

XLAT;转换成七段码

MOVDX,200H

OUTDX,AL;送入段码端口

MOVAL,DISPBIT;

MOVDX,201H

OUTDX,AL;送当前位码,点亮一个数码管

RORDISPBIT,1;产生下一个位码

INCSI;修改指针,指向下一个待显示数据

CALLDELAY;延时

LOOPAGA;处理下一个数码管的显示

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1