实 验 报 告
系 别 光电信息与通信工程
专业/班级 通信1004
姓名/学号
实验日期
成 绩 _______________________________
指导教师 _ _____
实验五 中断
一、实验目的
1、掌握PC机中断处理系统的基本原理。
二、实验内容
1、实验原理
PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。IBMPC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源: 中断源制作智能卡 中断类型号 中断功能
IRQ0 08H 时钟
IRQ1 09H 键盘
IRQ2 0AH 保留
IRQ3 OBH 串行口2
IRQ4 0CH 串行口1
IRQ5 0DH 硬盘
IRQ6 0EH 软盘
IRQ7 0FH 并行打印机
8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。对于PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级连,对外可以提供16个中断源:
中断源 中断类型号 中断功能
IRQ8 070H 实时时钟
IRQ9 071H 用户中断
IRQ10 072H 保留
IRQ11 O73H 保留
IRQ12 074H 保留
IRQ13 075H 协处理器
IRQ14 076H 硬盘
IRQ15 077H 保留
TPC-USB实验板上,固定的接到了3号中断IRQ3上,即进行中断实验时,所用中断类型号为0BH。
2、实验内容
实验电路如图9-1,直接用手动产单脉冲作为中断请求信号(只需连接一根导线)。要求每按
一次开关产生一次中断,在屏幕上显示一次“TPCA Interrupt!”,中断10太白参次后程序退出。
支的结构3、实验程序
;*******************************;
;* 中断实验 *;
;*******************************;
data segment ;定义数据段
mess db 'TPCA interrupt!',0dh,0ah,'$' ;显示TPCA interrupt!
data ends ;发糕机数据段结束
code segment ;定义代码段
assume cs:code,ds:data ;代码段放进CS里,数据段放进DS里
start:
mov ax,cs ;CS内容送AX中
mov ds,ax ;DS:DX内容为中断服务程序的入口地址,位于数据段,偏移量送到DX中
mov dx,offset int3 ;USB设备中断为IRQ3,取中断服务程序的偏移地址,送DX中
mov ax,250bh ;设置中断3的中断,DOS调用的功能号为25H,中断类型号是0BH
int 21h ;设置IRQ3的中断
cli ;CPU清中断标志位
in al,21h ;设置中断屏蔽寄存器
and al,0f7h ;开放IRQ3中断,让AL中的内容与0f7h做“与”运算
out 21h,al ;写进去允许
mov cx,10 ;中断次数为10次
sti ;CPU开中断,置中断标志位,IF=1
ll: jmp ll ;跳转到LL CX是否为0,等待循环
int3: ;中断服务程序
日盲紫外探测器 mov ax,data ;数据段data放进AX寄存器中
mov ds,ax ;再将AX寄存器中的数据段放进DS里
mov dx,offset mess ;显示提示信息
mov ah,09 ;显示每次中断的提示信息
int 21h ;执行调用
mov al,20h ;20H送AL
out 20h,al ;发出EOI结束中断
loop next ;CF-1,不为0,跳到next
in al,21h ;读中断屏蔽寄存器
90gan or al,08h ;关闭IRQ3中断
out 21h,al ;写入
sti ; 置中断标志位,IF=1,CPU开中断
mov ah,4ch ;返回dos
int 21h ;dos中断
next: iret ;中断返回
code ends ;代码段结束
end start
4、实验结果
每按下一次开关,屏幕上会显示“TPCA interrupt!”按十次开关显示十次“TPCA interrupt!”后退出。
5、实验体会