8259的外部优先级中断实验指导书新规定
实验四 8259A的单级中断控制实验

实验四使用8259A的单级中断控制实验一、实验目的1.掌握中断控制器8259A与微机接口的原理和方法。
2.掌握中断控制器8259A的应用编程。
二、实验内容编制程序,利用开关作为8259芯片IR7的中断源,人工控制产生单一中断。
中断的功能是驱动发光二极管,使其亮灭,不停地闪动。
三、实验提示8259中断控制器是专为控制优先级中断设计的芯片。
它将中断源优先级排队,辩别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259进行编程,就可以管理8级中断,并选择优行模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259的级联,能构成多达64级的矢量中断系统。
实验箱中采用一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F,其和中断矢量关于如下表所示。
表1 8259中断矢量对应关系务程序程序,使系统每次响应外部中断IR7时发光二极管闪烁。
四、实验电路五、实验软件清单Port0 EQU 0FFE0HPort1 EQU 0FFE1HCODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 3400HP8259: CLIMOV AX,OFFSET INT8259MOV BX,003CHMOV [BX],AXMOV BX,003EHMOV AX,0000HMOV [BX],AXCALL FOR8259MOV AL,0FEHMOV DX,0FFE4HSTIJMP $;============================== FOR8259:MOV AL,13HMOV DX,Port0OUT DX,ALMOV AL,08HMOV DX,Port1OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,7FH ;IRQ7OUT DX,ALRET;--------------------------- INT8259:cliPush dxPush axMOV AL,20HMOV DX,Port0OUT DX,ALPop axPop dxOut dx,almov cx,0loop $Rol al,1STIIRETCODE ENDSEND P8259六、实验软件框图七、实验步骤(1)按实验电路图连接线路:①开关Ki 和8259 7号中断IR7插孔相连。
8259中断实验详解

浙江工业大学计算机学院实验报告实验名称 8259A中断实验姓名李晓峰学号 ************班级物联网1301教师雷艳静日期 12.18一、实验内容与要求1.1 实验内容利用8259A芯片,实现中断响应程序。
要求根据单脉冲按键,输出相应的语句:THIS IS THE xxx INTERRUPT! 。
到达中断次数后,屏幕上显示PROGRAM TERMINATED NORMALLY! 1.2 实验要求(1)第一次按键,输出THIS IS THE 1 st INTERRUPT!;(2)第二次按键,输出THIS IS THE 2 nd INTERRUPT!;(3)第十一次按键(特殊),输出THIS IS THE 11 st INTERRUPT!;(4)以此法继续,直至计数值为零,输出PROGRAM TERMINATED NORMALLY!二、实验原理与硬件连线2.1 实验原理PC用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。
中断控制器用于接收外部的中断请求信号,经过优先级别判别等处理后向CPU发出可屏蔽中断请求。
IBM PC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源。
中断源中断类型号中断功能IRQ0 08H 时钟IRQ1 09H 键盘IRQ2 0AH 保留IRQ3 0BH 串行口2IRQ4 0CH 串行口1IRQ5 0DH 硬盘IRQ6 0EH 软盘IRQ7 0FH 并行打印机8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。
PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级联,对外可以提供16个中断源。
中断源中断类型号中断功能IRQ8 070H 实时时钟IRQ9 071H 用户中断IRQ10 072H 保留IRQ11 073H 保留IRQ12 074H 保留IRQ13 075H 协处理器IRQ14 076H 硬盘IRQ15 077H 保留TPC-USB实验板上,将中断源固定到3号中断IRQ3上,即进行中断实验时,所用中断型号为0BH。
实验3 8259 中断控制实验

实验报告课程名称实验名称实验日期学生专业学生学号学生姓名实验室名称教师姓名成绩南京理工大学机械工程学院微机原理及应用实验38259中断控制实验2017年5月26日车辆工程9141010F0309蒋龙鑫徐群实验48259中断控制实验1实验目的(1)掌握8259中断控制器的工作原理;(2)学习8259的应用编程方法;(3)掌握8259级联方式的使用方法。
2实验设备PC机一台,TD-PITC实验装置一套。
3实验内容及步骤在对8259进行编程时,首先必须进行初始化。
一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。
8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。
在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。
实验内容:实验接线图如图4-1所示,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。
图4-18259单中断实验接线图参考实验程序清单:SSTACK SEGMENT STACKDW32DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:PUSH DSMOV AX,0000HMOV DS,AXMOV AX,OFFSET MIR7;取中断入口地址MOV SI,003CH;中断矢量地址MOV[SI],AX;填IRQ7的偏移矢量MOV AX,CS;段地址MOV SI,003EHMOV[SI],AX;填IRQ7的段地址矢量CLIPOP DS;初始化主片8259MOV AL,11HOUT20H,AL;ICW1MOV AL,08HOUT21H,AL;ICW2MOV AL,04HOUT21H,AL;ICW3MOV AL,01HOUT21H,AL;ICW4MOV AL,6FH;OCW1OUT21H,ALSTIAA1:NOPJMP AA1MIR7:STICALL DELAYMOV AX,0137HINT10H;显示字符7MOV AX,0120HINT10HMOV AL,20HOUT20H,AL;中断结束命令IRETDELAY:PUSH CXMOV CX,0F00HAA0:PUSH AXPOP AXLOOP AA0POP CXRETCODE ENDSEND START实验步骤:(1)按图4-1连接实验线路;(2)编写实验程序,经编译、链接无误后装入系统;(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”以说明响应了中断。
8259中断实验

共享知识分享快乐XX学院实验报告实验名称姓名学号班级教师日期一、实验内容与要求1.1 实验内容本次实验分为如下3个子实验:(1)单中断请求实验:利用系统总线上中断请求信号MIR7,设计一个单一中断请求实验;(2)双中断优先级实验:利用系统总线上中断请求信号MIR6和MIR7,设计一个双中断优先级应用实验,观察8253对中断优先级的控制;(3)级联中断实验:利用系统总线上中断请求信号MIR7和SIR1,设计一个级联中断应用实验。
1.2 实验要求本次实验中三个子实验的实验要求如下:(1)单中断请求实验:单脉冲KK1+与主片8259的IR7相连。
每按KK1+,进入一次中断,输出7;(2)双中断优先级实验:单脉冲KK1+连主片8259的IR7,KK2+连其IR6。
每当KK1+按下时显示“7”,每当KK2+按下显示“6”;(3)级联中断实验:单脉冲KK1+连主片8259的IR7,KK2+连从片的IR1。
每当KK1+按下时显示“M7”,每当KK2+按下显示“S1”。
二、实验原理与硬件连线2.1 实验原理(1)中断控制器8259简介在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。
该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。
从片的INT连接到主片的IR2信号上构成两片8259的级联。
在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。
8259的内部连接及外部管脚引出如图1-1:INTR串口0MIR6MIR7SIR1图1-1 8259内部连续及外部管脚引出图表1-1列出了中断控制单元的寄存器相关信息。
表1-1 ICU寄存器列表初始化命令字1寄存器(ICW1)说明见图1-2所示。
7ICW1图1-2 初始化命令字1寄存器初始化命令字2寄存器(ICW2)说明见图1-3所示。
8259中断控制实验

IRQ1——键盘中断
IRQ2——8259从片
IRQ3——串口2
IRQ4——串口1
IRQ5——并行口2
IRQ6——软盘控制器
IRQ7——并行口1
从片:IRQ8——实时时钟中断
IRQ9——RE—DTNECT
IRQA——保留
IRQB——保留
IRQC——保留
IRQD——协处理器
IRQE——硬盘控制器
在dos中输入命令lab8运行程序
显示“program run!Exit after interrupt 40 times”
按键
产生第一次中断,在屏幕上输出“This is SXL_100 interrupt”
按键五次,在屏幕上进行了5次输出
再一次按键,在屏幕上进行了第七次输出
再一次按键,在屏幕上进行了第八次输出
in al,dx ;读入9052中断状态
mov irq_mark,al ;保存9052中断状态
or al,5bh
out dx,al;开放9052中断
;中断向量的保存和设置
mov ah,35h;取72h号(中断类型号)中断向量保存在ES:BX
mov al,int_vect
int 21h
mov ax,es
五、源程序、程序框图、程序函数及过程介绍
程序框图
源程序
data segment
int_vect equ 71h
ioport_0 equ 0dc80h
int_time db 00h ;计数器
csreg dw ?
ipreg dw ?
irq_mark db ? ;9052屏蔽状态
int_mark db ? ;8259屏蔽寄存器状态
实验七 8259中断

实验七8259中断
一.实验目的
1.掌握8086及PC机中断处理系统的基本原理;
2.掌握8259中断控制器的基本原理与应用;
3.掌握中断服务子程序的编写方法。
二.硬件连线
单脉冲发生器的正脉冲信号接PC总线的IRQ7。
三.实验原理
PC机中用8259进行外部中断源的控制,本实验使用IRQ7。
四.实验编程及实验内容
1.每产生一次中断请求,则在屏幕上显示“THIS IS A IRQ7!”,10次后结束,主机键
盘按任意键也结束。
2.将实验十二改为中断方式,即单脉冲开关产生中断请求信号时,才将K0~K7状态读入
并显示。
实验十五键盘中断
一.实验目的
1.掌握PC中键盘的硬件、软件原理;
2.掌握PC机中断矢量的读取和设置的方法。
二.硬件连线
本实验不需使用实验箱。
三.实验原理
PC机键盘用5芯电缆与主机连接,用IRQ1中断方式输入扫描码,按下时为通码,D7=0,松开时为断码,D7=1,每个按键对应一个唯一的扫描码。
输入扫描码的端口为60H,控制口为61H,D7控制键盘复位,D6控制键盘时钟。
四.实验编程及实验内容
1.编程将PC机上按键对应的扫描码显示在屏幕上,ESC(01H)则结束。
若PC机上按键为字母键则大、小号各显示一次,若不是字母键则不显示,ESC结束。
【8259中断操纵器实验实验报告】 8253操纵8259中断

中断号 主 8259 IRQ0 主 8259 IRQ1 主 8259 IRQ2 主 8259 IRQ3 主 首先运行 CHEC 催序,查看 INTR 中断号及相 关信息。(3)参考试验流程图
8259 IRQ4 主 8259 IRQ5 主 8259 IRQ6 主 8259 IRQ7 从 8259 IRQ8 从 编写程序,然后编译链接。
试验前先运行 CHEC 僵序,得到 INTR 所对应的中断号、相 应的初始
为 1 级、8 级?15 级,然后
化指令字寄存器 ICW 及操作指令字寄存器 OCW 勺地
是 3 级?7 级
ห้องสมุดไป่ตู้
址、开屏蔽的指令字、中断矢虽地址和 PCI 卡中断操纵寄存
在扩展系统总线上的 INTR 对应的中断线就是 PC 机保存 中断其中的
8259 IRQ9 从 8259 IRQ10 从 8259 IRQ11 从 8259 IRQ12 从 8259 IRQ13
(4)将单次脉冲单元的 KK1 琏接到系统总线上的 INTR。
从 8259 IRQ14 从 8259 IRQ15 功能 日时钟/计数器 0 键盘 接从片 8259 串
(5)运行程序,按动 KK1 成键,观看中断是否产生。
第1页共1页
本文格式为 Word 版,下载可任意编辑,页眉双击删除即可。
应哪一级中断,3〕响应中断时,向 CPU 传送中断类型号。
图 6-2 ICW4 格式
8259 的内部结构和引脚如图 6-1 所示。
图 6-3 OCW 指令字格式
8259 的指令共有 7 个,一类是初始化指令字,另一类 是操作指令。
本文格式为 Word 版,下载可任意编辑,页眉双击删除即可。
8259 中断操纵器实验实验报告】 8253 操纵 8259 中 断
微机实验_8259中断控制实验

深 圳 大 学 实 验 报 告
课程名称:微机原理
实验项目名称:8259中断控制实验
学院:计算机与软件
专业:网络工程
*******
报告人:学号:班级:
实验时间:2013年12月9日
实验报告提交时间:2013年12月25日
教务处制
实验目的、设备、内容及要求:
1.了解中断的概念和中断控制器8259的工作原理。
OUT 21H, AL;ICW2
MOV AL, 04H
OUT 21H, AL;ICW3
MOV AL, 01H
OUT 21H, AL;ICW4
;初始化从片8259
MOV AL, 11H
OUT 0A0H, AL;ICW1
MOV AL, 30H
OUT 0A1H, AL;ICW2
MOV AL, 02H
OUT 0A1H, AL;ICW3
CCH~CFH
D0H~D3H
D4H~D7H
D8H~DBH
DCH~DFH
说明
未开放
可用
未开放
未开放
未开放
未开放
未开放
未开放
实验过程及步骤:
一、单个8259外部中断实验
(1)按右图所示完成实验电路连线。单次脉冲输出KK1+与主片8259的IR7相连。
(2)打开PC机,运行Wmd86软件,进入Wmd86集成开发环境。输入实验程序:
MOV AL, 01H
OUT 0A1H, AL;ICW4
MOV AL, 0FDH
OUT 0A1H,AL;OCW1 = 1111 1101
MOV AL, 6BH
OUT 21H, AL;主8259 OCW1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断实验8259A是一种可编程接口芯片,它将中断源的优先级排队、识别中断源及提供中断向量的功能集于一体,因此,只需对8259A进行编程,就可以管理8级中断,并选择优先模式、中断请求方式、中断结束方式等。
在中断源超过8个时,不需加任何附加电路通过多片级联构成多达64级向量中断,所以8259A的中断控制功能既强又灵活。
2.4.4 实验预习:(1) 了解中断的概念。
(2) 了解8259A的工作原理。
(3) 分析、了解中断子程序入口地址的设置过程。
2.4.5实验要求:(1).要认真预习实验内容。
(2).要求在运行主程序时对每次中断进行记录。
2.4.6实验步骤及说明:(1)连线。
(2)编辑录入源程序并汇编。
(3)启动系统,运行程序。
(4)触发脉冲(中断申请)。
(5)观察验证结果。
(6)说明:一个8259A可外接8个中断源,本实验只响应INT0,INT1,INT2中断,8259A 也可以多级连接以响应多个中断源。
本实验的8259A的INT0,INT1,INT2管脚分别是中断申请源,哪个优先级高,就首先执行相应的中断服务程序,假设CUP 首先响应的是INT0申请源,那么就要执行IENT0中断服务程序,就说明它的级别最高。
现将INT0,INT1,INT2管脚连到一起,接到单脉冲信号发生器插孔,在运行主程序时,同时申请中断(给一个正脉冲),观察存储器的内容在执行IENT0、IENT1、IENT2中断服务程序前后数据的变化(从0400H观察)。
联机①用串口线连接实验机和系统计算机。
打开实验机的电源,显示8086。
②点击系统机桌面上的图标(CT2000系统软件实验平台),在对话框中选择“好”。
在仿真器菜单中点击“仿真器设置”。
在对话框中选择不使用软件模拟器。
在选择仿真器项中选择“CT2000实验系统”,仿真头选择“8088/8086实验”,CPU选择“8088”。
端口选择为COM1。
确认硬件仿真器设置。
实验机显示“888888”。
通过逻辑分析仪记录波形③点击项目菜单选择“编译”→检查编译是否正确。
④置逻辑分析仪:仿真器→跟踪器/逻辑分析仪设置→逻辑分析仪;逻辑分析仪窗口“”→触发设置→采样频率10M。
⑤点击“”复位→“”全速运行程序→发“”单脉冲后,可通过逻辑分析仪窗口观察到中断相应的波形,通过分析波形可以了解中断的响应过程,以及中断响应的条件,记录波形。
2.4.7 8259A的内部寄存器:(1) 中断请求寄存器IRR每片8259A能够管理8个外部中断源,其中断请求输入端为IR7-IR0,在没设定指定优先级或优先级循环方式时IR0的优先级最高,IR7的优先级最低。
请求信号可以是电平触发也可以是边沿触发。
中断请求寄存器IRR是一个具有锁存功能的8位寄存器,用它来存放外部中断请求信号IR7-IR0。
当某个中断源有请求时,IRR寄存器中的相应位置“1”,当中断请求被响应,IRR寄存器中的相应位被清零。
(2) 中断屏蔽寄存器IMR中断屏蔽寄存器IMR是一个8位锁存器,与8级中断源IR7-IR0相对应。
其中的每一位可以对IRR中相对应的中断源进行屏蔽。
某位为“1”时,相应中断源被屏蔽,某位为“0”时,表示开放。
(3) 优先权分析器PR当中断源IRi有中断请求产生时,PR检查新产生的中断请求的优先级并和“正在服务的中断”进行比较,判定是否向CPU提出中断申请。
同时有多个中断请求时,PR进行中断请求优先级的比较并提出申请,及中断被响应时送出最高优先级中断源的中断类型号。
(4) 中断服务寄存器ISR中断服务寄存器ISR是一个8位锁存器,与8级中断源IR7-IR0相对应。
用来存放正在服务的所有中断级,包括尚末服务完而中途被别的中断所打断了的中断级,在第一个INTA信号有效时ISR的相应位置“1”,中断服务结束时用命令将其清零。
2.4.8 编程注意事项:(1) 正确设置可编程中断控制和工作方式。
(2) 必须正确设置中断服务程序人口地址。
2.4.9 8259A的编程:(1) 设置初始化命令字ICW1:单片8259A, 边沿触发。
设置ICW1,对8259A编程指令序列为:mov dx, CS8259Amov al, 00010011Bout dx, al(2) 设置初始化命令字ICW2:中断号为20H。
T3为中断向量地址。
设置ICW2,对8259A编程指令序列为:mov dx, CS8259Bmov al, 00100000Bout dx, al(3) 设置初始化命令字ICW4:工作在8086/88 方式。
设置ICW4,对8259A编程指令为:mov dx, CS8259Bmov al, 00000001Bout dx, al(4) 设置操作命令字OCW1:只响应INT0, INT1, INT2 中断。
1——中断请求被屏蔽设置OCW1,对8259A编程指令序列为:mov dx, CS8259Bmov al, 11111000Bout dx, al(5) 设置操作命令字OCW2:8259A采用普通EOI结束方式。
偶地址 0 0 1 0 0 0 0 0设置OCW2,对8259A编程指令序列为:mov dx, CS8259Amov al, 20h2.4.11 实验程序:ICW1 equ 00010011b ; 单片8259A, 上升沿中断, 要写ICW4 ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式OCW1 equ 11111000b ; 只响应INT0, INT1, INT2 中断CS8259A equ 08000h ; 8259A地址CS8259B equ 08001hdata segmentMSG db 0, 0, 0, 0, 0, 0, 0, 0CNT db 0data endscode segmentassume cs:code, ds: dataIEnt0 proc nearpush axpush bxmov bx, offset MSGmov al, CNTmov ah, 0add bx, axmov [bx], 0inc CNTmov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alpop bxpop axiretIEnt0 endpIEnt1 proc nearpush axpush bxmov bx, offset MSGmov al, CNTmov ah, 0add bx, axmov [bx], 1inc CNTmov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alpop bxpop axiretIEnt1 endpIEnt2 proc nearpush axpush bxmov bx, offset MSGmov al, CNTmov ah, 0add bx, axmov [bx], 2inc CNTmov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alpop bxpop axiretIEnt2 endpIInit procmov dx, CS8259Amov al, ICW1out dx, almov dx, CS8259Bmov al, ICW2out dx, almov al, ICW4out dx, almov al, OCW1out dx, alretIInit endpstart proc nearclimov ax, 0mov ds, axmov bx, 4*ICW2 ; 中断号mov ax, codeshl ax, 4 ; x 16add ax, offset IEnt0 ; 中断0入口地址(段地址为0)mov [bx], axinc bxinc bxmov [bx], 0 ; 代码段地址为0inc bxinc bxmov ax, codeshl ax, 4 ; x 16add ax, offset IEnt1 ; 中断1入口地址(段地址为0)mov [bx], axinc bxinc bxmov [bx], 0inc bxinc bxmov ax, codeshl ax, 4 ; x 16add ax, offset IEnt2 ; 中断2入口地址(段地址为0)mov [bx], axinc bxinc bxmov [bx], 0call IInitmov ax, datamov ds, axmov CNT, 0 ; 计数值初始为0stiLP: nop ; 等待中断,并计数。
jmp LPstart endpcode endsend start8259A内部结构图。