一、知识点:基本概念
1.一片8255A端口A有( 3 )种工作方式,端口B有( 2 )种工作方式。
2. 在8255可编程并行接口芯片中,可用于双向选通I/O方式(即方式2)的端口为( A )
A. PA口
B. PB口
C. PC口
D. PA和PB
3、8255A控制字的最高位D7 = 0 时,表示该控制字为C口按位控制字。
4. 在8255可编程并行接口芯片中,可用于双向选通I/O方式(即方式2)的端口为( A )。
A. PA口
B. PB口
C. PC口
D. PA和PB
5.8255A控制字的最高位D7 =(1)时,表示该控制字为方式控制字。
6. 8255A的每个端口的数据寄存器长度为(8)位。
7、8255A的工作方式的三种工作方式分别为:方式0:基本输入输出方式;方式1:选
通输入输出方式;方式2:双向选通传送方式。
8.如果CPU通过8255A端口C的某一条线向外部输出连续的方波信号,请:
说出两种实现方法;并具体说明怎样实现。
(不必编程)(8分)
答:可用2种方法实现:
①8255A工作于方式O时,端口C可以指定为输出。
每隔1/2方波周期改变其中一位的
状态,其它位不变。
就可以通过端口C的某一条线输出连续的方波。
②用对端口C某一位置位/复位的方法实现。
即每隔1/2方波周期时间,对端口C 的某
一位交替进行置位、复位,即可从端口C的某一条线输出连续的方波。
二、知识点应用题
1、接口电路如图所示:已知8255A控制字寄存器的端口地址为10EH,编写8255A初始化程序和循环彩灯控制程序。
初始时D0亮,其余不亮,D0亮一秒后移位一次,D1亮,其余不亮,以此类推每隔一秒移位一次,每移位8次为一个循环,共循环8次。
要求用汇编语言写出满足上述要求的程序段(已知一个延时1秒的子程序入口地址为DELAY1S)。
分析8255的控制字:80H(D7=1,D2、D0=0)
程序如下:
CODE SEGMENT
ASSUME CS:CODE
ST:MOV AL,80H
MOV DX,10EH
OUT DX,AL
MOV CX,64
MOV AL,1
MOV DX,10AH
NEXT1:OUT DX,AL
CALL DELAY1S
DEC CX,
JZ NEXT2
ROL AL,1
JMP NEXT1
DELAY1S:。
NEXT2:MOV AH,4CH
INT 21H
CODE ENDS
END ST
2、如果8255中断方式输入一个数据(n=62H,手动EOI)。
分析需要完成哪些工作,计算数据,可不编程
8259(200H-201H)
8255(300H-303H)
8259初始化
MOV DX , 200H
MOV AL , 1BH
OUT DX , AL
MOV DX , 201H
MOV AL , 60H
OUT DX , AL
MOV AL , 0DH
OUT DX , AL
8255初始化
MOV DX , 303H
MOV AL , B0H
OUT DX , AL
MOV DX , 302H
MOV AL , 09H
OUT DX , AL
设置中断类型号
MOV DX , OFFSET INTP MOV AX , SEG INTP MOV DS , AX
MOV AL , 62H
MOV AH , 25H
INT 21H
等待中断
L: STI
HLT
LOOP L
中断服务子程序
INTP PROC FAR
MOV AL , 08H
MOV DX , 302H OUT DX , AL
CLI
MOV DX , 300H IN AL , DX
MOV BUFFER , AL MOV DX , 302H MOV AL , 09H
OUT DX , AL
MOV AL , 20H
MOV DX , 200H OUT DX , AL
IRET
INTP ENDP
3.电路结果如图所示,若要求8个发光二极管L0~L7依次点亮,问:
①图中8255A中的三个端口各工作在什么方式下?②给出初始化的程序段;③编制出能实现题目要求的汇编语言源程序。
1.①均工作在方式0下 2分
② MOV DX,183H 3分
MOV AL,80H (或80-8FH)
OUT DX,AL
③START: MOV AL,0FEH 5分
MOV DX,180H
SS1: OUT DX,AL
SHL AL,1
JNC START
JMP SS1
4.仔细阅读下图,分析各个端口的地址,并写出8255A的初始化程序和
开关控制LED显示器的控制程序。
(14分)
要求是:当开关K全部闭合时。
(1)第一步8个发光二极管全亮;
(2)第二步低位4个发光二极管全亮,高位4个发光二极管全灭;
(3)循环。
(不要求延时时间)
MOV DX,316H
MOV AL,82H
OUT DX,AL 4分
LP : MOV DX,312H
IN AL,DX 2分
OR AL, 00H
JNZ DONE 2分
MOV DX,310H
MOV AL, 0FFH
OUT DX,AL 2分
CALL DELAY 2分
MOV AL, 0FH
OUT DX, AL 2分
JMP LP
DONE:HLT
5.8255与8088CPU的连线如图所示。
(1)写出8255的PA、PB、PC及控制寄存器的地址,8088未用的地址线均设为0。
(2)设8255的PA作为输出口,与8个发光二极管相连,要求8个发光二极管循环点亮,试写出设置8255工作方式及控制发光二极管的有关指令。
(设输出0二极管亮)
8088CPU
(1)地址:210H~213H
(2) MOV DX,213H
MOV AL,80H (或80-8FH)
OUT DX,AL
START: MOV AL,0FEH
MOV DX,210H
SS1: OUT DX,AL
SHL AL,1
JNC START
JMP SS1。