汇编语言与微机接口技术作业6章(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业:

课本6.5 6.7

第6章补充题参考答案

补充题1:初始化8259A控制器,系统中有一片8259A,中断请求用电平触发,中断类型号为60H~67H,特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。8259A端口地址为93H/94H。编写其初始化程序。

答:

MOV AL, 1BH ;设置ICW1(中断请求信号采用电平触发方式,单片,

OUT 94H, AL

MOV AL, 60H ;设置ICW2(将中断类型码高5位指定为01100)

OUT 93H, AL

MOV AL, 13H ;设置ICW4(用特殊全嵌套方式;用中断自动结束方式;采用非缓冲方式,工作于8088/8086系统)

OUT 93H, AL

补充题2:开关K4的信号输入到中断控制器8259A的IR2,当K4开关合上瞬间,产生中断,在中断服务程序中完成读取开关K0~K3的状态,并在7段数码管上显示数字或符号。设输出接口的地址为3F2H,输入接口地址为3F3H。当开关K0~K3的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’,8259A的端口为3F0H和3F1H.设其中断号为08H~0FH。1. 设计相关的接口电路,包括8259A的连接。

2. 编写主程序完成初始化8259A和相关中断向量的设置。

3. 编写中断服务程序。

答:

1. 接口电路图

2. 初始化程序:

INPORT EQU 03F3H

OUTPORT EQU 03F2H

PORT8259 EQU 03F0H

……

;设置数码管显示数据

Seg7 DB 3FH,06H,

5BH,4FH,66H,6DH,

7DH,07H,7FH,67H,77H,

7CH,39H,5EH,79H,71H

……

MOV AL, 13H ;设置ICW1(中断请求信号采用边沿触发方式,单片,

MOV DX, PORT8259

OUT DX, AL

MOV AL, 08H ;设置ICW2(将中断类型码高5位指定为00001)

MOV DX, PORT8259+1

OUT DX, AL

MOV AL, 03H ;设置ICW4(用一般全嵌套方式;用中断自动结束方式;

;采用非缓冲方式,工作于8088/8086系统)MOV DX, PORT8259+1

OUT DX, AL

主程序中中断向量设置:

CLI

PUSH DS

XOR AX, AX

MOV DS, AX

MOV BX, n ; 中断类型号

MOV CL,2

SHL BX, CL ;向量表偏移地址=nX4

MOV AX, OFFSET MY_INT

MOV [BX], AX

MOV AX, SEG MY_INT

MOV [BX+2], AX

POP DS

STI

3. 中断服务程序

MY_INT PROC FAR

PUSH AX

PUSH BX

PUSH SI

STI

;中断服务程序:显示K0-K3开关状态

LEA BX, Seg7

MOV AH, 0

MOV DX,INPORT

IN AL, DX

AND AL, 0FH

MOV SI, AX

MOV AL, [BX+SI]

MOV DX, OUTPORT

OUT DX, AL

CLI

POP SI

POP BX

POP AX

MOV AL, 20H ; EOI 命令,00100000B MOV DX, PORT8259

OUT DX, AL ; 写入OCW2

IRET

MY_INT ENDP

相关文档
最新文档