《《计算机基础》8255端口练习题及答案》由会员分享,可在线阅读,更多相关《《计算机基础》8255端口练习题及答案(10页珍藏版)》请在金锄头文库上搜索。
1、8255 练习题及答案 第 1 页 共 10 页C 语言基础8255 端口练习题及答案一、填空题一、填空题1、8255A 端口 C 按位置位复位控制字的_位用来指定要置位或复位的端口 C1 的具体位置。答案:D3、D2 和 D12、8255A 端口 C 按位置位复位控制字中的_位决定对端口 C 的某一位置位或复位。答案:D03、8255A 端口 A 工作在方式 2 时,使用端口 C 的_作为与 CPU 和外部设备的联络信号。答案:PC7PC34、8255A 的每个端口的数据寄存器的长度为_位。答案:85、Intel 8255A 是一个_接口芯片。答案:可编程的通用并行输入输出6、了般 IO 接
2、口的编址方式可分为_两种方式。答案:IO 接口单独编,与存储器统一编址7、8255A 的端口 C 按位置位复位控制字的_位用来指定置位或复位的端口 C 的具体位置.答案:D3,D2 和 D18、8255A 的端口 C 按位置位复位控制字中的_位决定对端口 C 的某一位置位或复位。答案:D09、8255A 的端口 A 工作在方式 2 时,使用端口 C 的_作为与 CPU 和外部设备的联络信号。答案:PC7PC310、8255A 与 CPU 连接时,地址线一般与 CPU 的地址总线的_连接。答案:A0 和 Al11、8255A 控制字的最高位 D7=_时,表示该控制字为方式控制字。答案:112、8
3、255A 的端口 A 的工作方式是由方式控制字的_位决定。答案:D6 和 D513、8255A 的端口 B 的工作方式由方式控制字的_位决定。答案:D214、8255A 的端口 C 的按位置位复位功能是由控制字中的 D7=_来决定的。答案:015、8255A 内部具有_个输入输出接口。答案:316、8255A 内部具有_个输入输出端口。答案:317、8255A 的三个端口中只有端口_没有输入锁存功能。答案:C18、Intel8255A 是一个_接口芯片。8255 练习题及答案 第 2 页 共 10 页答案:可编程的通用并行输入输出19、8255A 与 CPU 连接时,地址线一般与 CPU 的地
4、址总线的_连接。答案:A0 和 A120、8255A 的三个端口中只有端口_没有输入锁存功能。答案:C21、8255A 的每个端口的数据寄存器的长度为_位。答案:822、8255A 的端口 B 的工作方式是由方式控制字的_位决定。答案:D223、8255A 的端口 A 的工作方式是由方式控制字的_位决定。答案:D6 和 D524、8255A 的控制字的最高位 D7=_时,表示该控制字为方式控制字。答案:125、8255 是一种可编程的 行接口芯片,其中有 个 位的并行输入/输出端口。26、8255A 的 A 组有 种工作方式,B 组有 种工作方式。27、设 8255A 控制寄存器端口地址为 F
5、FFEH,要把口指定为方式输出,指定为输6PC入,口指定为方式输入,指定为输出,将下面初始化程序段补充完整。2PCMOV DX, MOV AL, 二、选择题二、选择题1、当 8086/8088 访问 100H 端口时,采用( )寻址方式.A、直接 B、立即 C、寄存器间接 D、相对C2、8086CPU 在进行 I/O 写操作时,M/IO 和 DT/R 必须是( )A、L,L B、L,H C、H,L D、H,HB3、某系统采用 8255A 并行 I/O 接口,初始化时 CPU 所访问的端口地址为 0CBH,并设定为方式 1 输出,则 A 口的口地址应为( )A、0CBH B、0CAH C、0CH
6、 D、0EHD4、当并行接口芯片 8255A 被设定位方式 1 时,其功能相当于( )A、0 线握手并行接口 B、1 线握手并行接口 C、2 线握手并行接口 D、多线握手并行接口C5、Intel8255A 使用了( )个端口地址。A、1 B、2 C、3 D、4D三、判断题三、判断题1、8255 工作在方式 1 的输出时,OBF 信号表示输出缓冲器满信号。 ( )2、给 8255 C 口 PC3 按位置位字是 06H。 ( )3、8255A A 口工作在方式 1 输入,B 口工作在方式 0 输出的方式控制字是8255 练习题及答案 第 3 页 共 10 页001100B。( )四、简答题四、简答
7、题1、用 8255A 和 8086CPU 相连,若 8255A 片选信号由 A10A3 产生,且A10A3=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;端
8、口 C 可工作于:方式 0。3、8254 定时/计数器的定时与计数方式有什么区别?8254 在方式 0 工作时,各通道的CLK、GATE 信号有什么作用?各通道的控制字地址都相同,8254 是怎样区分的?解:8254 作为计数器和定时器使用时的区别:(1)用途不同:定时器用于产生连续的、周期恒定的信号;计数器用于对输入脉冲进行计数。(2)对 CLK 输入的信号要求不同:用作定时器时,CLK 输入的信号必须有相同的周期;用作计数器时,允许 CLK 输入的信号没有固定的周期;使用方式不同:定时器方式下计数的过程周而往复,重复进行;计数器方式下计数的过程只进行一次,除非重新初始化,或者用 GATE
9、重新触发;(3)8254 工作在方式 0 时,CLK 端输入计数用的脉冲信号;GATE 信号为高电平时,对 CLK 端输入的脉冲进行计数;GATE 信号为低电平时,暂停计数; GATE 信号重新为高电平后,恢复原先的计数。(4)由 8254 的方式控制字中的 D7、D6 两位来选择计数通道。4、8255A 的方式 0 一般使用在什么场合?在方式 0 时,如果使用应答信号进行联络,应该怎么办?答案:方式 0 的特点是只要 WR,RD 信号有效,就有数据传送,一般使用在可随时传送数据的场合.若使用应答信号进行联络,可用 C 口作为联络,对 C 口位操作,一般上 C 口用作选通(STB)线,下C 口
10、作状态输入(RDY)线.5、当 8255A 工作在中断方式 2 时,CPU 是如何来区分输入或输出的?答案:在输入,输出均允许中断的情况下,可在中断服务程序中查询状态字,判断 OBF 和 IBF 位的状态,来区分是输入中断还是输出中断,并采取相应操作.6、8255 各口设置如下:A 组与 B 组均工作于方式 0,A 口为数输入,B 口为输出,C 口高位部分为输出,低位部分为输入,A 口地址设为 40H.(1)写出工作方式控制字(2)对 8255A 初始化(3)从 A 口输入数据,将其取反后从 B 口送出答案:8255 练习题及答案 第 4 页 共 10 页 (1)10010001B 即 91H
11、(2)MOV AL,91H; OUT 43H,AL(3)IN AL,40H; NOT AL; OUT 41H,AL7、8255 的功能作用是什么?它有哪些工作方式?答案:8255 是可编程的并行接口芯片,设有三个 8 位的数据输入/输出端口,共有三种工作方式:方式0 为基本的输入/输出方式;方式样为应答式输入/输出方式;方式 2 为应答式双向数据传送方式.五、编程题五、编程题1、设 8255 端口地址为 50H56H 中的偶地址,试画出微机系统与 8255A 和 LS138 译码器的接口图。设端口 A 工作在方式 0 输入,端口 B 工作在方式 1 输出,允许 B 口中断,端口 C输出,对 8
12、255 初始化编程。2、设 8255 端口地址为 80H86H 中的偶地址,试画出 8255 与微机系统和 LS138 译码器的接口图。设端口 A 工作在方式 1 输入,中断允许,端口 B 工作在方式 0 输出,端口 C 输出,对 8255 初始化编程。 74LS138 8255 3设 8255A 与 8086CPU 相连,8255A 芯片 A 口工作在方式 1 输出,B 口工作在方式 0 输入,禁止 A 口中断,8255A 芯片 A 口、B 口、C 口、控制口地址分别为FFF8H、FFFAH、FFFCH、FFFEH,请写出初始化程序。4、如下图所示,某 8086 微机系统中有一片 8255A
13、,其端口 PA 接一个 8 段 LED 显示器,开关设置的二进制信息由 8255A 的 PB 口输入,经过程序转换成对应的 8 段 LED 字形码后,由PA 口输出,来点亮此 LED。要求:1.根据图中的译码电路,写出 8255A 的四个端口地址;2.试写出 8255A 的工作方式命令字和 8086 对 8255A 的初始化程序段;8255 练习题及答案 第 5 页 共 10 页8 80 08 86 68 82 25 55 5A AAD7-AD0RDWRRESETA7A6A5A4A3A0A2A1M/IOD7-D0RDWRRESET与8G1G2ACBAG2BY2CSA0A17 74 4L LS
14、S1 13 38 8PA0PA1PA6PA7.PB3PB2PB1PB0驱 动 电 路.abgDP+5VK3K2K1K0+5V5、如图 B-1 所示电路(1)分析各端口地址;(2)A 口、B 口工作在什么方式;(3)写出 8255A 的初始化程序。8255 练习题及答案 第 6 页 共 10 页6、设 8255A 的 A 口、B 口、C 口和控制字寄存器的端口地址分别为 80H,82H,84H 和86H。要求 A 口工作在方式 0 输出,B 口工作在方式 0 输入,C 口高四位输入,低四位输出,试编写 8255A 的初始化程序。答答:MOV DX,86H ;控制字端口地址 MOV AL,1000
15、1010B OUT DX,AL ;写控制字7、 8255A 的方式选择控制字和 C 口按位控制字的端口地址是否一样,8255A 怎样区分这两种控制字?写出 A 端口作为基本输入,B 端口作为基本输出的初始化程序。解:(1)8255A 的方式选择控制字和 C 口按位控制字的端口地址一样,它们之间的区别在控制字的 D7 位(特征位)的值不同,8255A 的方式选择控制字 D7=1,而 C 口按位置位/复位控制字 D7=0。(2)初始化程序:(设端口地址为,A 口:200H,B 口:201H,控制口:203H)MOVAL,90HMOVDX,203HOUTDX,AL8、 用 8255A 的 A 端口接
16、 8 位二进制输入,B 端口和 C 端口各接 8 只发光二极管显示二进制数。编写一段程序,把 A 端口读入的数据送 B 端口显示,而 C 端口的各位则采用置 0/置 1 的方式显示 A 端口的值。解:(设端口地址为,A 口:200H,B 口:201H,C 口:202H,控制口:203H)MOV AL, 90H;8255A 初始化:MOV DX, 203H;8255A 各组方式 0,A 口输入OUT DX, AL; B、C 口输出MOV DX, 200HIN AL,DX;读 A 口输入值MOV DX, 201HOUT DX, AL;送 B 口输出MOV AH, AL;A 口输入值转存在 AH 中
17、MOV DX, 203HMOV CX, 08;CX 置循环次数初值MOV AL, 00H;C 端口置 0/置 1 控制字初值LPA: AND AL, 0FEH;清除最低位8255 练习题及答案 第 7 页 共 10 页SHRAH, 1;A 端口一位转入 CFADCAL,0 ;A 端口一位从 CF 转入命令字OUT DX, AL;A 端口一位从送往 C 端口对应位ADD AL, 02H;形成下一个命令字LOOP LPA;处理 C 端口下一位9、 将 8255A 用作两台计算机并行通信的接口电路,请画出采用查询式输入/输出方式工作的接口电路,并写出采用查询式输入/输出方式的程序。解:用两片 825
18、5 作两台计算机 8088_A 与 8088_B 之间并行通信的接口电路,两片 8255 之间的连接如下图所示。两片 8255 均在方式 1、查询方式下工作。8 80 08 88 8- -A A8255A8 80 08 88 8- -B BD7D0A0A1A0A1D7D0A口B口A口A0A1A0A1A0A1地址译码CS地址译码地址译码PC6(ACK)PC4(STB)A口CS8 82 25 55 5A A8 82 25 55 5B BPC0PC0(1) 8088_A 输出程序:(8255_A 的 A 口作为数据输出口,C 口的 PC0作为“数据输出选通”信号,负脉冲输出。C口的 PC6作为“应答
19、”信号输入。端口地址:A 口:200H,C 口:202H,控制口:203H)DATASEGMENTBufferDB“This is a example. ”, 0DH, 0AH, -1DATAENDSCODESEGMENTSTART:MOVAX, DATAMOVDS, AXLEABX, Buffer;输出缓冲区指针送 BXMOVDX,203HMOVAL,0A0H ;10100000B;8255_A 的方式选择字,A 口工作在方式 1、输出,C 口低四位输出OUTDX,ALMOVAL, 1OUTDX, AL;将 PC0 置 1CALLDELAY;延时等待对方完成初始化;A 口查询方式输出NEXT
20、:MOVDX, 202HINAL, DLTESTAL, 80H;判别是否有效,PC7AOBFOBFJZNEXT;数据尚未取走,等待MOVDX,200H8255 练习题及答案 第 8 页 共 10 页MOVAL, BXOUTDX, AL;输出一项数据INCBXMOVDX, 203HMOVAL, 0OUTDX, AL;NOPNOPINCALOUTDX, AL;通过 PC0 向对方发选通信号CMPBYTE PTRBX-1, -1 ;判断输出是否完成JNENEXT;未完成,继续MOVAX, 4C00HINT21HCODEENDS ENDSTART(2)8088_B 输入程序:(8255_B 的 A 口
21、作为输入,方式 1,PC4 作为“数据输入选通”信号,输入,负脉冲有效。PC0 为“应答”信号输出。端口地址:A 口:210H,C 口:212H,控制口:213H)DATASEGMENTBufferDB80 DUP(?)DATAENDS;CODESEGMENTSTART:MOVAX, DATAMOVDS, AXLEABX, Buffer;输入缓冲区指针送 BXMOVDX, 213HMOVAL, 0B0H;10110000B;8255_B 的方式选择字,A 口工作在方式 1,输入,C 口低四位输出。OUTDX, ALMOVAL, 01HOUTDX, AL;PC0 置 1,表示没有“应答”信号CA
22、LLDELAY;延时等待对方状态就绪;A 口查询方式输入AGA:MOVDX, 212HINAL, DXTESTAL, 20HJZAGA;PC5 ( IBF )是否为 1,不是,无数据输入,继续查询MOVDX, 210HINAL, DXMOVBX, AL8255 练习题及答案 第 9 页 共 10 页MOVDX, 212HMOVAL, 0OUTDX, ALINCBXNOPNOPINCALOUTDX, AL;通过 PC0 向发送方发“应答”负脉冲CMPBYTE PTRBX-1, -1 ;数据接收完了吗?JNEAGA;未完,继续MOVAX, 4C00HINT21HCODEENDSENDSTART10
23、、设计一个用 8255A 作为 8 个七段显示器的接口电路,并设计一个把内存地址为 ADDRA的 8 个数字在这 8 个七段显示器上显示的程序。解:设 8 个七段显示器采用共阳接法,A 口控制段的显示,B 口控制位的显示。端口地址 A 口:200H,B 口:201H,控制口:203HDATA SEGMENTADDRA DB ,TABLE DB 40H, 4FH, 24H, 30H, 19HDB 12H, 02H, 78H, 00H, 10H DISPBITDB ?DATA ENDSCODE SEGMENTASSUME CS: CODE,DS: DATASTART: MOVAX, DATAMOV
24、DS, AXMOV AL,80H;对 8255A 初始化,A,B 端口方式 0,输出MOV DX,203HOUT DX,ALLEABX, TABLE;BX 置为七段码表首地址MOVDISPBIT, 7FH ;置位码初值为7FH:011111111H,第一个亮LEASI, ADDRA;SI 置为显示缓冲区首地址MOVCX, 8;CX 置为循环次数初值 8AGA: MOVAL, 0FFHMOV DX, 201HOUT DX, AL;熄灭所有数码管MOVAL, SI;取出一个待显示数XLAT;转换成七段码MOV DX,200HOUTDX, AL;送入段码端口8255 练习题及答案 第 10 页 共 10 页MOVAL, DISPBIT;MOV DX,201HOUTDX, AL;送当前位码,点亮一个数码管RORDISPBIT, 1;产生下一个位码INCSI;修改指针,指向下一个待显示数据CALLDELAY;延时 LOOPAGA;处理下一个数码管的显示 MOV AX,4C00HINT 21HCODE ENDSEND START