填空题
8255有三种工作方式,在方式0输入方式时,三个端口均___无__(有/无)锁存能力。
当8255的输入信号 *CS=0、*RD=0、*WR=1且A1=A0=0时,此8255执行的操作是__将端口A的数据送到数据线上____。
当8255的输入信号 *CS=0、*RD=1、*WR=0且A1=A0=0时,此8255执行的操作是___接收CPU送来的端口A的数据__。
8255A的端口A可用程序设置为__基本输入输出方式_、__选通输入输出方式___、_双向方式__三种工作方式,对C口还有一种特殊使用方式为_按位置0置1__。
8255芯片中的端口B可以有__2__种工作方式。
一片8255A端口A有3种工作方式,端口B有__2___种工作方式。
当从8255A的端口C读出数据时,8255A的几个控制信号*CS,A1,A0,*RD,*WR分别是_0,1,0,0,1__(*代表低电平有效)。
一片8255芯片内含___3_____个8位I/O端口,其中PA口有_3__种工作方式。
选择题
已知某系统中8255芯片所占用的I/O地址为340H--343H,则该8255芯片内控制字寄存器口地址为_________。
A)340H B)341H C)342H D)343H
8255A的方式选择控制字应写入 ( )
A) A口 B) B口 C) C口 D) 控制口
8255芯片具有三个数据端口,只有_______端口具有双向传输方式。
A) A口 B) B口 C) C口 D) 以上均可
当8255A的PC4-PC7全部为输出时,表明8255A的A端口工作方式为__________。
A) 方式0 B) 方式1 C) 方式2 D) 不能确定
在通用可编程并行电路8255A中,8位的I/O端口共有_________。
A) 1个 B) 2个 C) 3个 D) 4个
某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0CBH,并设定为方式1输出,则A口的口地址应为__________。
A) 0CBH B) 0CAH C) 0C9H D) 0C8H
8255A的A口工作在方式2时,B口可工作__________________。
A)方式0或方式1 B)方式1或方式2
C)只能工作在方式1 D)任何方式都不行,只能空着
简答题
常用的键盘扫描有几种方式?试述各自的特点及原理。
行扫描法和行反转法
行扫描法工作原理
1)规定行输出,列输入
2)将全“0”数据从行线上输出,读取列线,若全“1”,则认为没有按键,否则认为有按键。
3)在有按键情况下,逐次使其中的行线输出“0”,其余的行线为“1”,读取列线,若读取的数据为全“1”,则表明该行没有按键,若读取的非全“1”,根据行列线上的数据,可以唯一确定哪一个键按下。
行反转法工作原理
1)首先规定行线为输出,列线为输入。
2)从行线上输出全“0”的数据,从列线读取数据,如果读取数据为全“1”,则说明没有键按下,否则认为有按键。
3)改变输入、输出端口,将2)获得的数据从列线输出,从行线读取数据,根据两次读取的数据,就可以唯一确定哪个键按下。
现欲从8255芯片PC口的PC0输出高电平“1”,试问有哪几种办法实现此操作?
两种方法:1.使用字节型输出方式,向PC口输出最低位为“1”的值;
2.使用按位操作,将PC0置为“1”
8255A是什么芯片?一片8255占用几个口地址?它有几种工作方式?
8255A是通用可编程并行接口芯片。
一片8255占用4个口地址。
方式0:基本输入/输出方式
方式1:选通输入/输出方式
方式2:双向传输方式
8255的功能作用是什么?它有哪些工作方式?
8255是可编程的并行接口芯片,设有三个8位的数据输入/输出端口,共有三种工作方式:方式0为基本的输入/输出方式;方式1为选通式输入/输出方式;方式2为双向数据传送方式。
应用题
一个8088系统中有一8255,8255各口设置如下:A组与B组均工作于方式0,A口为数输入,B口为输出,C口高位部分为输出,低位部分为输入,A口地址设为40H。
1) 写出工作方式控制字
2) 对8255A初始化
3) 从A口输入数据,将其取反后从B口送出
答案: 1)10010001B 即91H
2)MOV AL,91H; OUT 43H,AL
3)IN AL,40H; NOT AL; OUT 41H,AL
8255A的方式0一般使用在什么场合?在方式0时,如果使用应答信号进行联络,应该怎么办?
答案: 方式0的特点是只要*WR,*RD信号有效,就有数据传送,一般使用在可随时传送数据的场合。若使用应答信号进行联络,可用C口作为联络,对C口位操作,一般上C口用作选通(STB)线,下C口作状态输入(RDY)线。
用一片8255芯片设计一基于PC系统总线的I/O接口板,要求:
1)8255占用的端口地址为300H--306H,画出原理图。
2)设8255的PA、PB、PC口均工作在方式0,PA口为输入,PB、PC口均为输出,编写8255的初始化程序片段(已知8255控制字为10010000B)。
3)编写程序片段,将从PA口读入的状态送至PB口输出。
答案: 1) 参见图
2) MOV DX,306H
MOV AL,90H
OUT DX,AL
3) MOV DX,300H
IN AL,DX
MOV DX,302H
OUT DX,AL
已知8255的控制口地址为236H,LED采用共阳级接法。字型信息接在PB口,字位信息接在PA口,使用8255作为接口芯片,在两块LED上显示自己的学号。要求画出完整的线路连接图并设计相应的程序(8086工作在最小模式,8255相应控制字为80H)。
答案: 见图
MOV DX,236H LOP: LOOP LOP
MOV AL,80H MOV DX,232H
OUT DX,AL MOV AL,nn ;学号高位
MOV CX,000H OUT DX,AL
START:MOV DX,232H MOV AL,2
MOV AL,nn ;学号低位 MOV DX,230H
OUT DX,AL OUT DX,AL
MOV AL,1 LOP1:LOOP LOP1
MOV DX,230H JMP START
OUT DX,AL
若打印机及其工作时序如图所示,当打印机不忙时(BUSY=0),向它送数据(设每次只传送1个字节)并在数据稳定时用 负脉冲将数据存于打印机内部,同时设置打印机忙信号,即BUSY =1。
1)用可编程接口芯片8255将打印机与总线相连接起来。若规定8255的地址为0320H~032FH任选,试画出连接电路图。
2)数据段中首地址为BUFFER的区域中存放着100字节要打印的字符,试编写包括8255初始化的打印程序,并将100个字符打印出来。
答案: 见图
MOV DX,326H MOV AL,[BX]
MOV AL,81H OUT DX,AL
OUT DX,AL MOV DX,326H
LEA BX,BUFFER MOV AL,80
MOV CX,100 OUT DX,AL
NE:MOV DX,324H MOV AL,9
IN AL,DX OUT DX,AL
TEST AL,01 INC BX
JZ NE LOOP NE
MOV DX,322H
用8255A构成一个开关量输入和发光二极管显示电路,开关合上时发光二极管管发光,开关断开则不发光。要求有8路开关量和8路发光二极管显示。
1) 设计此系统的原理图(CPU为8086)
2) 编出初始化程序和显示开关状态的程序段
答案: 见图
MOV DX,236H IN AL,DX
MOV AL,82H MOV DX,230H
OUT DX,AL OUT DX,AL
LOP: MOV DX,232H JMP LOP
设8255A的4个寻址地址号为0060H~0063H,试编写下列各种情况下的初始化程序。
1) 将A组和B组设置成方式0,A口,B口为输入,C口为输出。
2) 将A组工作方式设置成方式2,B组为方式1,B口作为输出。
3) 将A口,B口均设置成方式1,均为输入,PC6和PC1为输出.
4) A口工作在方式1,输入;B口工作在方式0,输出;C口高4位配合A口工作,低4位为输入。
答案: 1) MOV AL,10010010B
OUT 63H,AL
2) MOV AL,11000100B
OUT 63H,AL
3) MOV AL,10110110B
OUT 63H,AL
4) MOV AL,10110001B
OUT 63H,AL
8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,程序段就应是怎样的?
答案: 工作方式控制字的最高位为1,而C口的按位置位/复位控制字最高位为0
MOV DX,303H
MOV AL,80H
OUT DX,AL
MOV AL,05H
OUT DX,AL
8255A控制字如下,8255A端口地址为:160H、162H、1H、166H,端口A方式0输出,端口B方式0输入,端口C方式0输出。编写程序实现初始化,并将端口B内容的2倍与端口C的内容求和后将结果取反送到端口A。
答案: 根据端口地址知,端口A地址为:160H,端口B地址为:162H,端口C地址为:1H,控制端口地址为:166H。端口A方式0输出,端口B方式0输入,端口C方式0输入知:控制字8BH。
MOV AL, 8BH
MOV DX, 0166H
OUT DX, AL
MOV DX, 0162H
IN AL, DX
MOV BL, AL
ADD BL, AL
MOV DX, 01H
IN AL, DX
ADD AL, BL
NOT AL
MOV DX, 0160H
OUT DX, AL
已知8255A控制字如下:一个8086系统中连接一个8255A,如图所示,设8255的A口、B口均工作于方式0,8255占用的端口地址为80H~86H。使得,当与PC2相连的开关闭合时,八个发光二极管自上往下地逐个点亮;当与PC2相连的开关断开时,八个发光二极管自下往上地逐个点亮。请写出相应的程序实现,并添加适当的注释。
答案: MOV AL,H LOOP L1
OUT 86H,AL JMP NEXT
NEXT: IN AL,84H UP: MOV AL,07FH
AND AL,4 MOV CX,8
JNZ UP L2: OUT 80H,AL
DOWN: MOV AL,0FEH CALL DELAY
MOV CX,8 ROR AL,1
L1: OUT 80H,AL LOOP L2
CALL DELAY JMP NEXT
ROL AL,1
已知发光二极管D如图所示。当有10mA左右的电流流过时即可发光,电流很小或无电流流过时,二极管熄。若接口地址在02F0~02FFH内随意选用
1) 试自定义接口芯片,将此两发光二极管通过接口与总线相连接,画出电路图;
2) 编写让两发光二极管同时发光的程序段。
答案: 1) 连线原理如下图:
2) 程序段如下:
MOV DX,2F6H MOV AL,0FFH
MOV AL,80H MOV DX,2F0H
OUT DX,AL OUT DX,AL