微机接口实验

发布时间 : 星期五 文章微机接口实验更新完毕开始阅读

程序源代码: (1)

;数据段

DATA SEGMENT

MESS DB 'TPCA interrupt! ',0DH,0AH, '$'

;需要显示的数据,以'$'结束,方便系统调用。0DH,0AH为换行 DATA ENDS

;代码段

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, CS ;系统调用25是设置中断

MOV DS, AX

MOV DX, OFFSET INT3 ;采用间接修改法,设置中断向量

MOV AX, 250BH ;设置 IRQ3 对应的中断向量,25是系统调用功能 ;号,在AL里放中断向量号,0B*4=2C,是中断程序的地址所在位置,DS放中断程序的段 ;基址,DX放偏移地址

INT 21H ;中断设置完成

IN AL, 21H ;读中断屏蔽寄存器,21H 是该寄存器的端口号

AND AL, 0F7H ;开放 IRQ3 中断,允许 IRQ3 的中断申请

OUT 21H, AL ;写OCW1

MOV CX, 10 ;记中断循环次数为 10 次

STI ;允许中断发生

5

WAIT:

JMP WAIT

INT3: MOV AX, DATA ;中断服务程序

MOV DS, AX

MOV DX, OFFSET MESS MOV AH, 09

;在屏幕上显示每次中断的提示信息 ,DS:DX中存放显示的字符串的地址 INT 21H

MOV AL, 20H

; 发出 EOI 结束中断到 PC 内主片的地址 20H OUT 20H, AL

LOOP NEXT ;LOOP每次跳转CX自动减1

IN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 08H ;关闭 IRQ3 中断

OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH, 4CH ;返回 DOS INT 21H

NEXT: IRET ;中断返回

CODE ENDS

END START

(2)

DATA SEGMENT

MESS DB 'TPCA interrupt! ',0DH,0AH, '$' DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, CS MOV DS, AX

MOV DX, OFFSET INT3 ;采用间接修改法,设置中断向量 MOV AX, 2572H INT 21H

IN AL, 21H ;主片

AND AL, 0FBH ;1111 1011 OUT 21H, AL

IN AL, 0A1H ;从片

AND AL, 0FBH ;1111 1011 OUT 0A1H, AL

6

MOV CX, 10 ;记中断循环次数为10次 STI ;允许中断发生

WAIT: JMP WAIT

INT3: MOV AX, DATA ;中断服务程序 MOV DS, AX

MOV DX, OFFSET MESS

MOV AH, 09 ;在屏幕上显示每次中断的提示信息 INT 21H

MOV AL, 20H ; 发出EOI结束中断到PC内主片的地址20H OUT 20H, AL ;关闭主片 OUT 0A0H,AL ;关闭从片

LOOP NEXT

IN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 04H ;关闭IRQ3中断

OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器

IN AL, 0A1H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 04H ;关闭IRQ10中断

OUT 0A1H, AL ;将中断屏蔽字送到中断屏蔽寄存器

STI ;置中断标志位

MOV AH, 4CH ;返回DOS INT 21H

NEXT: IRET ;中断返回

CODE ENDS

END START

实验 1-2 (1)实验内容

PC 机内中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写 中断处理程序,体会中断嵌套的过程。

(2)主要步骤

接线图:

7

说明:本实验接线图如图 1-3 所示,从单脉冲单元引出两根导线,一根接到系统总线单元区的 IRQ 引脚,一根接到 USB 核心卡的 IRQ10 端。

参考流程图:

程序源代码: CODE SEGMENT

ASSUME CS:CODE ,DS: DATA START:

.386 ;告诉汇编器生成intel 80386指令集

CLI ;关中断 MOV AX,CS ;设置中断向量表INT10

MOV DS,AX ;将CS段基址给DS

MOV DX,OFFSET INT10 ;int10的偏移地址给DX MOV AX,2572H

INT 21H ;系统调用25号设置中断功能,中断号72H

8

联系合同范文客服:xxxxx#qq.com(#替换为@)