中断

     
课程名称        通用微机接口实验         
实验项目        实验五  中断             
        光电信息与通信工程       
专业/班级          通信1004           
  姓名/学号     
       
实验日期                    
    _______________________________
                指导教师          _        _____   
实验五 中断
一、实验目的
1、掌握PC机中断处理系统的基本原理。
2、学会编写中断服务程序
二、实验内容
1、实验原理
PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。IBMPCPC/XT机内有一片8259中断控制器对外可以提供8个中断源:
中断源制作智能卡    中断类型号    中断功能
IRQ0    08H        时钟
IRQ1    09H        键盘
IRQ2    0AH        保留
IRQ3    OBH        串行口2
IRQ4    0CH        串行口1
IRQ5    0DH        硬盘
IRQ6    0EH        软盘
IRQ7    0FH        并行打印机
8个中断源的中断请求信号线IRQ0IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为边沿触发,普通结束方式。对于PC/AT286以上微机内又扩展了一片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        20HAL
    out 20h,al          ;发出EOI结束中断
    loop next        CF-1,不为0,跳到next
    in al,21h          ;读中断屏蔽寄存器
90gan    or al,08h        关闭IRQ3中断
out 21h,al        ;写入
    sti            置中断标志位,IF=1CPU开中断
    mov ah,4ch      ;返回dos
    int 21h          dos中断
next:    iret        ;中断返回
    code ends      ;代码段结束
end start
4、实验结果
每按下一次开关,屏幕上会显示“TPCA  interrupt”按十次开关显示十次“TPCA  interrupt”后退出。
5、实验体会

本文发布于:2024-09-20 20:32:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/306311.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议