微机原理实验六中断响应—8259A芯片的使用
微机接口实验报告8259中断控制器实验
实验六8259中断控制器实验1 实验目的(1) 学习中断控制器8259的工作原理。
(2) 掌握可编程控制器8259的应用编程方法。
3 实验内容编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。
4 实验原理1. 8259控制器的介绍中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。
它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。
8259A 的内部结构和引脚如图6-1所示。
8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。
8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。
ICW1-ICW4各命令字格式如图6-2所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。
2.8259寄存器及命令的控制访问在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。
对寄存器和命令的访问控制如表6-1所示。
图6-1 8259内部结构和引脚图图6-2(a) ICW1格式图6-2(b) ICW2格式图6-2(c) ICW3格式图6-2(d) ICW4格式图6-3 OCW命令字格式3. PC微机系统中的8259在80x86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表6-2示。
微机原理8259A实验报告
实验二8259A中断控制器应用实验分析报告一、填写补充实验1-2中以下两段代码,并简述其意义:第1段:IN AL,21H_ AND AL, 0F7H _____________OUT 21H,ALIN AL,0A1H__AND AL, 0FBH______________OUT 0A1H,AL第2段:MOV AL,20HOUT 0A0H,ALOUT 20H,AL二、简述实验1-2的实验现象,分析解释其原因;结合本实验,简述中断嵌套和中断优先级的意义以及正确形成中断嵌套的基本要求。
答:实验1现象:按下一次单脉冲,显示一次字符,十次中断后停机,不再显示字符串实验2现象:分别按下两个单脉冲显示一串3和一串10,在3未显示完全时按下显示10的脉冲键,可发生中断,相反则不能发生中断,需等待一串10显示完后再显示一行3。
原因:IRQ10的中断级别高于IRQ3,所以可以在3还没有执行完时中断IRQ3,中断原程序执行IRQ10 。
中断嵌套的意义:为了让CPU及时响应更高级别的中断请求。
中断优先级的意义: CPU只能响应一个中断请求,在中断源较多的情况下,当有多个中断源同时发起中断请求时,CPU需要对多个中断源的优先级进行判断,判断出优先级最高的中断请求进行响应。
中断嵌套要求是:被中断程序的优先级低于请求程序中断的优先级。
三、抄写实验1-2中要求填写的“显示‘10’和‘空格’”的代码段NEXT10_1:MOV AX,SEG MESS10MOV DS,AXMOV DX,OFFSET MESS10MOV AH,09INT 21H ;使用INT21 – 09H实现字符串的输出‘10’CALL DELAY1 ;调用延时子程序LOOP NEXT10_1MOV DX,0DH ;调用DOS的中断功能,回车MOV AH,02HINT 21HMOV DX,0AH ;调用DOS的中断功能,换行MOV AH,02HINT 21H四、用文字简述或流程图方式,说明实验1-3中“以查询方式检测处理多中断请求”的过程。
8259A中断实验
实验8259单级中断控制器实验一、实验目的⒈掌握8259中断控制器的接口方法。
⒉掌握8259中断控制器的应用编程。
二、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。
三、实验接线图图6-6四、编程指南⑴8259芯片介绍中断控制器8259A是专为控制优先级中断而设计的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。
即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵本实验中使用3号中断源IR3,“”插孔和IR3相连,中断方式为边沿触发方式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。
如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。
五、实验程序框图IR3中断服务程序:IR7中断服务程序:六、实验步骤1、按图6-6连好实验线路图。
⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平;⑷8259的CS端接FF80H孔。
2、运行实验程序,在系统处于命令提示符“P.”状态下,按SCAL键,输入12D0,按EXEC键,系统显示8259-1。
3、拨动AN开关按钮,按满l0次显示good。
七、实验程序清单CODE SEGMENT ;H8259.ASMASSUME CS: CODEINTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7PA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 12D0HSTART: JMP START0BUF DB ?,?,?,?,?,?intcnt db ?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: CLD ;递加CALL BUF1 ;写显示缓冲初值CALL WRINTVER ;写中断向量MOV AL,13H ;写ICW1MOV DX,INTPORT1OUT DX,ALMOV AL,08H ;写ICW2MOV DX,INTPORT2OUT DX,ALMOV AL,09H ;写ICW4OUT DX,ALMOV AL,0F7H ;写OCW1OUT DX,ALMOV intcnt,01H ;中断计数初值STI ;开中断WATING: CALL DISP ;DISP 8259-1JMP WATING ;循环显示WRINTVER: MOV AX,0H ;写中断向量子程序MOV ES,AXMOV DI,002CH ;IR3中断向量地址LEA AX,INTQ3 ;IR3中断服务地址STOSW ;写中断服务地址偏移量MOV AX,0000h ;写中断服务段地址STOSWMOV DI,003CH ;IR7中断向量地址LEA AX,INTQ7 ;IR7中断服务地址STOSW ;写中断服务地址偏移量MOV AX,0000h ;写中断服务段地址STOSWRETINTREEUP3: CLI ;IR3中断服务push ax ;压栈保护现场push bxpush cxpush dxMOV AL,INTCNT ;CALL CONVERS ;拆送缓冲区MOV BX,OFFSET BUF ;077BHMOV AL,10HMOV CX,05HINTRE0: MOV [BX],AL ;高五位缓冲区送熄灭码INC BXLOOP INTRE0MOV AL,20H ;中断返回码MOV DX,INTPORT1OUT DX,ALADD INTCNT,01HCMP INTCNT,06HJNA INTRE2 ;中断次数小于5次继续CALL BUF2 ;中断次数结束DISP:good INTRE1: CALL DISPJMP INTRE1CONVERS: AND AL,0FH ;拆送缓冲区MOV BX,offset buf ;077AHMOV [BX+5],ALRETINTRE2: MOV AL,20HMOV DX,INTPORT1OUT DX,ALpop dxpop cxpop bxpop axSTIIRET ;中断返回INTREEUP7: CLI ;IR7中断服务MOV AL,20H ;中断返回码MOV DX,INTPORT1OUT DX,ALcall buf3 ;disp:errINTRE3: CALL DISP ;循环显示:ERR JMP INTRE3DISP: MOV AL,0FFH ;显示子程序 ,5ms MOV DX,PAOUT DX,ALMOV CL,0DFH ;20HMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,08H ;写”8259-1”MOV BUF+1,02HMOV BUF+2,05HMOV BUF+3,09HMOV BUF+4,17HMOV BUF+5,01HRETBUF2: MOV BUF,09H ;写”good ”MOV BUF+1,00HMOV BUF+2,00HMOV BUF+3,0dHMOV BUF+4,10HMOV BUF+5,10HRETBUF3: MOV BUF,0eH ;写”err ”MOV BUF+1,18HMOV BUF+2,18HMOV BUF+3,10HMOV BUF+4,10HMOV BUF+5,10HRETCODE ENDSEND START。
微机实验六- 8259外部中断实验
南昌大学微机原理与接口技术实验报告南昌大学实验报告实验六 8259外部中断实验1、实验要求:用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。
要求程序中对每次中断进行计数,并将计数结果显示在LED数码管上。
2、实验目的:(1)学习8088/86与8259的连接方法。
(2)学习8088/86对8259的控制方法。
3. 实验器材:(1)G2010+实验平台 1 台(2)G6W仿真器 1 台(3)连线若干根(4)8259芯片 1 片(5)万用表 1 块(6)Lab8088板 1 块4、实验电路:5、实验说明:编程时注意:(1)正确地设置可编程中断控制和工作方式。
(2)必须正确地设置中断服务程序地址。
8259可外接8个中断源,本实验只响应INT0中断,8259也可以多级连接以响应多个中断源。
实验时,将单脉冲信号接到8259的INT0脚。
每次中断时,可看到LED显示南昌大学微机原理与接口技术实验报告OUTBIT equ 0e101h; 位控制口CLK164 equ 0e102h;段控制口(接164时钟)DAT164 equ 0e102h; 段控制口(接164数据位)ICW1 equ 00010011b;单片8259, 上升沿中断, 要写ICW4ICW2 equ 00100000b; 中断号为20HICW4 equ 00000001b; 工作在8086/88 方式OCW1 equ 11111110b;只响应INT0 中断CS8259A equ 0A000h ; 8259地址CS8259B equ 0A001h……IEnter proc nearpush axpush dxinc CNTmov dx, CS8259Amov al, 20h ; 中断服务程序结束指令out dx, alpop dxpop axiretIEnter endpIInit procmov dx, CS8259Amov al, ICW1out dx, almov dx, CS8259Bmov al, ICW2out dx, almov al, ICW4out dx, almov al, OCW1out dx, alretIInit endpStart proc nearcli……mov ax, 0mov ds, axmov bx, 4*ICW2 ; 中断号mov ax, codeshl ax, 4; x 16add ax, offset IEnter; 中断入口地址(段地址为0) mov [bx], axmov ax, 0inc bxinc bxmov [bx], ax; 代码段地址为0call IInitmov ax, datamov ds, axmov CNT, 0; 计数值初始为0sti……DispAgain:call DisplayLED; 显示dec DelayTjnz DispAgainjmp MLoopStart endpcode endsend start8、实验结果每次按一次脉冲时,LED数码管计数加一。
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。
实验-8259A单级中断 微机原理与接口技术
DATA0
DATA2 DATA1 DATA3 DATA4
EQU 0580H
EQU 0508H EQU 0500H EQU 0518H EQU 0520H
;指向显示 8259Good 显示模区 ; ;指向显示 Err 显示模区 ;指向 8259-1显示模区
程序分析
1、显示部分 FORMAT 建立显示缓冲区
0580H
INTRE1:
MOV MOV RET MOV MOV OUT STI IRET
BX, DATA0 ; 指向 8259 Good 模区 DS: [BX], AL AL,20H ;送结束命令 DX,INTPORT1 DX,AL
INTRUPUT7: CLI MOV CALL MOV MOV OUT IRET
CODE
ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR ADD BX,2 MOV WORD PTR RET ENDS END START
;建显示模型库, 调用中用 SI 指示显示模区 LEDDISP ; 显示 8259-1 WRINTVER ;将IRQ3、IRQ7中断矢量装入矢量表 CONVERS ;
INTRE1 ;送结束命令
2、编程
CODE SEGMENT ASSUME CS:CODE INTPORT1 EQU 0020H ;8259A 端口地址 INTPORT2 EQU 0021H INTQ3 EQU INTREEUP3 ;IRQ3 服务程序 INTQ7 EQU INTREEUP7 ;IRQ7 服务程序 CONTPORT EQU 00DFH ;8255A 控制口 DATAPORT EQU 00DEH ;数据口(PC口) DATA0 EQU 0580H ;指向显示 8259Good 显示模区 DATA1 EQU 0500H ;指向显示 Err 显示模区 DATA2 EQU 0508H ; DATA3 EQU 0518H ;指向显示 DISP 8259-1显示模区 DATA4 EQU 0520H ; 6000H ;显示位数(0~7) 0601H ;IRQ3 的申请次数记录
PC机8259A的中断应用实验
8259A的中断应用实验一、实验目的(1)学习8259 A中断控制器的结构及其工作原理。
(2)掌握59A的工作方式及初始化。
(2)学习8259 可编程控制器的应用编程。
(3)掌握使用PC 机内8259 的方法。
(4)掌握修改中断向量的方法。
二、实验要求编写一键盘中断处理程序,计数键盘中断次数,并用该程序替换系统键盘中断处理程序,使当键盘中断产生10 次后,显示按键次数并结束应用。
三、相关基本知识a、CPUCPU是中央处理单元(Central Process Unit)的缩写,它可以被简称做微处理器。
(Microprocessor),不过经常被人们直接称为处理器(processor)。
不要因为这些简称而忽视它的作用,CPU是计算机的核心,其重要性好比心脏对于人一样。
实际上,处理器的作用和大脑更相似,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换。
CPU的种类决定了你使用的操作系统和相应的软件。
CPU主要由运算器、控制器、寄存器组和内部总线等构成,是PC的核心,再配上储存器、输入/输出接口和系统总线组成为完整的PC。
CPU的基本结构、功能及参数CPU主要由运算器、控制器、寄存器组和内部总线等构成。
寄存器组用于在指令执行过后存放操作数和中间数据,由运算器完成指令所规定的运算及操作。
CPU主要的性能指标有:1.主频主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度。
CPU的主频=外频×倍频系数。
很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差。
CPU的主频与CPU实际的运算能力是没有直接关系的,主频表示在CPU内数字脉冲信号震荡的速度。
CPU的运算速度还要看CPU的流水线的各方面的性能指标。
当然,主频和实际的运算速度是有关的,只能说主频仅仅是CPU性能表现的一个方面,而不代表CPU的整体性能。
2.外频外频是CPU的基准频率,单位也是MHz。
使用8259A单级中断控制实验
实验五使用8259A的单级中断控制实验一、实验目的1、掌握中断控制器8259A与微机接口的原理和方法。
2、掌握中断控制器8259A的应用编程。
二、预备知识1、8259A的内部结构8259A是专为控制优先级中断而设计的芯片。
它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8 级中断。
b5E2RGbCAP如图5-19所示,它由中断请求寄存器(IRR>、优先级分析器、中断服务寄存器(ISR>、中断屏蔽寄存器(IMR>、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。
p1EanqFDPw图5-19中断请求寄存器:寄存所有要求服务的请求IR0~IR7。
中断服务寄存器:寄存正在被服务的中断请求。
中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号,该位为1,屏蔽该号中断,否则开放该号中断。
DXDiTa9E3d 数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线,通过它可以由CPU对8259A写入状态字和控制字。
RTCrpUDGiT读写控制电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。
5PCzVD7HxA级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。
2、8259A编程及初始化(1> 写初始化命令字* 写初始化命令字ICW1(A0=0>,以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。
jLBHrnAILg* 写初始化命令字ICW2,以定义中断向量的高五位类型码。
* 写初始化命令字ICW3,以定义主片8259A中断请求线上IR0~IR7有无级联的8259A从片。
xHAQX74J0X第i位=0,表明IRi引脚上无从片第i位=1,表明IRi引脚上有从片* 写初始化命令ICW4,用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等。
8259中断实验实验报告
实验报告实验名称8259A中断控制器实验姓名学号班级教师日期一、实验内容与要求1.1 实验内容了解8259A终端控制器的工作原理,了解PC中断的原理和过程,设计并编写程序,设置8259A的命令字,定义中断服务程序,使在TPC-USB平台上每按一次单脉冲开关产生一次中断,在屏幕上依次显示“The 1 TPCA Interrupt!”、“The 2 TPCA Interrupt!”、……、“The 10 TPCA Interrupt!”,中断10次后程序退出,并在屏幕上显示“The TPCA Interrupt end!”。
1.2 实验要求(1)具有一定的汇编编程的基础,能编写一些基本语句来实现实验。
实验前根据实验流程图,写出对应代码;(2)要了解8259A中断控制器的内部结构和外部引脚,理解芯片的工作原理和工作过程。
熟悉8259A芯片的命令字,对其进行编程;(3)熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接好实验电路;(4)连接PC与TPC-USB平台,用微机实验软件运行程序,每按一次TPC-USB平台上的单脉冲开关产生一次中断,要在屏幕上依次显示“The 1 TPCA Interrupt!”、“The 2TPCA Interrupt!”、……、“The 10 TPCA Interrupt!”,中断10次后程序退出,并在屏幕上显示“The TPCA Interrupt end!”。
二、实验原理与硬件连线2.1 实验原理8259A是一种可编程中断控制器,可协助CPU进行中断管理。
8259A 的内部结构如图1所示。
单片8259A工作时,每次中断处理过程如下:(1)当IR7 ~ IR0 上有中断请求,则IRR 相应的位置1;(2)对于已进入IRR且未被IMR屏蔽的中断请求,PR电路进行优先级判定,得到最高级的中断请求;(3)控制逻辑接收中断请求,向CPU发INT 信号;(4)若CPU允许中断,则在当前指令结束后连续发出2个中断应答信号INTA,进行中断响应。
微机实践报告——8259中断控制
实验六 8259中断控制(1)一、实验目的1. 学习8086/8088 CPU中断系统的知识。
2. 学习8259中断控制器的使用。
二、实验内容编写程序,使8255的A口控制LED灯。
CPU执行主程序时四个绿灯亮。
用“”作为8259的IR3的输入信号,向CPU请求中断。
CPU在中断服务程序中熄灭绿灯,并使4个红灯亮。
中断服务程序结束,又返回主程序,再使绿灯亮。
三、实验区域电路连接图8259的INT连8088的INTR(Xl5);8259的INTA连8088的INTA(Xl2);“”插孔和8259的3号中断IR3插孔相连;(单脉冲与时钟单元);8259的CS端接EX1(60H);连JX4→JX17。
IOWR→IOWR;IORD→IORD;A0→A0;PA0…PA3→L2,L6,L10,L14; PA4…PA7→L3,L7,L11,L15。
四、实验步骤1、按连线图接好,检查无误后打开试验箱电源。
通过在计算机上进行设置将试验箱与电脑连接。
2、根据功能要求在 PC 端软件开发平台上编写程序代码,编译通过后下载到试验箱。
在试验箱上检测程序运行的结果。
3、在试验箱上检测程序运行的结果。
即运行程序后,绿色LED灯点亮表面程序运行在主程序。
按下AN开关按钮,应当红色LED灯亮,绿色LED灯灭,表明在执行中断服务程序;过一会儿红灯熄灭了,绿灯又亮了起来,表明中断服务程序已返回了主程序。
4、如果运行结果不正确就要检查连线和程序,修改直到正确。
五、程序框图六、程序代码CODE SEGMENTASSUME CS:CODEINTPORT1 EQU 0060HINTPORT2 EQU 0061HINTQ3 EQU INTREEUP3INTCNT DB ?ORG 1200HSTART:CLDMOV DX,0FF2BHMOV AL,80H/设置8255方式字为10000000/OUT DX,ALCALL WRINTVERMOV AL,13HMOV DX,INTPORT1OUT DX,ALMOV AL,08HMOV DX,INTPORT2OUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0F7HOUT DX,ALMOV INTCNT,01HSTI/开中断/WATING:MOV DX,0FF28HMOV AL,0F0HOUT DX,ALJMP WATING/跳转到WATING,使绿灯持续亮/ WRINTVER:MOV AX,0HMOV ES,AXMOV DI,002CHLEA AX,INTQ3STOSW/送偏移地址/MOV AX,0000HSTOSW/送段地址/RETINTREEUP3:CLI/关中断/PUSH AXPUSH DX /现场保护/MOV DX,0FF28HMOV AL,0FHOUT DX,ALMOV BL,0FHDELAY: MOV AX,0FFFFHDELAY1:DEC AXJNZ DELAY1DEC BLJNZ DELAYINTRE2:MOV AL,20HMOV DX,INTPORT1OUT DX,ALPOP DXPOP AXSTI/开中断/IRETCODE ENDSEND START。
微机原理与接口课件中断系统-8259A控制字_ppt课件
No Image
0 ESMM SMM 0 1 P
Y 用 ICW4 设:为特殊全嵌套方式? 为缓冲方式? 为自动EOI方式? 为8086/8088系统? END
8259A的初始化流程
例:PC/XT 系统中8259A的初始化编程 20H、21H为8259A的端口地址,
在BIOS 中,8259A的初始化程序段如下:
MOV AL, 13H OUT 20H, AL ; ICW2=08H, IR0~IR7对应的中断类型号 ; 为08H~0FH OUT 21H, AL ; ICW4= 00001001B, 正常的嵌套方式, MOV AL, 09H ; ICW1=00010011B, 边沿触发,单片使用, ; 要 ICW4. MOV AL, 08H
No Image
D7 D6 D5 D4
D3
D2 D1
D0
1 LTIM SNGL ICW4
特征位
例:某8086微机系统中,使用单片8259A, 中断请求信号为上升沿触发,需要设置ICW4, 端口地址为 20H , 21H ,则其初始化命令字 ICW1应为:00010011=13H,设置ICW1的指 令为:
① AEOI = 1 自动中断结束方式
当CPU 发出第二个INTA 后,ISR 中的相应 位复位,此时,不适宜实现中断嵌套。
No Image
(如何使ISR中对应位清0)
② AEOI = 0 非自动中断结束方式
由程序发出EOI 命令 (由8259A 的
OCW2 实现),使ISR 中相应位复位。
No Image
4. 中断方式字 ICW4 A0
1
奇地址
D7 D6 D5
0 0
D4
微机原理第六章 中断控制器
主要内容
8259A 功能及工作特点 8259A引脚信号、编程结构、工作原理 8259A工作方式 8259A的命令字 多片8259A组成的主从式中断系统 8259A的应用
一、 8259A 的功能及其工作特点
1. 功能
1)一片8259A 可管理8级中断,并对其进行 优先级管理; 2)九片8259A 组成的主从式中断系统可管 理64级中断,并对其进行优先级管理; 3)对中断源可屏蔽或允许中断申请; 4)能自动送出中断类型码,使CPU迅速找 到中断处理子程序的入口地址。
▪IR7 ~ IR0 ----用来从外设接收中断请求。在构成主 从式中断结构时,主片的IRi 端接从片的INT端。 ▪RD ----读命令信号线。当其有效时,控制 信息从 8259A读至CPU。
▪WR ----写命令信号线。当其有效时,控制 信息 由CPU写至8259A。
▪INT ----与CPU的INTR端相连,用于向CPU发中 断请求。
1 LTIM ADI
ICW2(类型)
任选
ICW3(主/从)
INTA WR RD
优先级
中断请求
CAS0 CAS CAS21
IR0 IR1
……
裁决器
寄存器
IR7
OCW1
SNGL IG4 D7
D3 D2 D1 D0
请求级别
OCW2
R SL EOI 0 0 L2 L1 L0
OCW3
0 ESMM SMM 0 1 P RR RIS
CS
CAS0 CAS1 CAS2
SP/EN
②读/写 逻辑
③级联缓冲 比较器
INTA INT ⑧控制逻辑
⑥ISR
⑦ PR
中断控制器8259A及中断服务
实验内容:中断控制器8259A及中断服务1、实验连线原理见图1所示:8259A连线:(1)单脉冲与时钟单元“”插孔和8259的3号中断IR3插孔相连作为中断源;(2)8259的INT连8088的INTR(Xl5);(3)8259的INTA连8088的INTA(Xl2);(4)8259的CS端接EX1(8259A端口地址是60H,61H);(5)A0→A0。
(6)IOWR→IOWR;(7)IORD→IORD;(8)连通CPU和8259A的数据总线,JX4→JX17。
8255连线:(1)将8255的A端口的PA7到PA0连接到灯L1~L8上。
图1:实验连线图2、实验原理:按动按键AN0后,单脉冲与时钟单元部件会产生“”信号,该信号的上升沿作为中断请求送8259A的IR3引脚,如果8259A没有屏蔽该级中断并且其优先级最高,8259A向CPU的INTR引脚送中断,CPU如果允许响应中断,则进入中断处理子程序,中断处理子程序向8255A的A端口送数据,将灯L1~L8点亮1秒。
3、实验要求:单片8259A以缓冲方式连接数据总线,以上升沿作为中断请求信号,中断源通过IR3引入,优先级采用一般全嵌套方式,非自动中断结束方式,引脚IR0~IR7的中断类型号为08F~0FH,编写一个汇编程序,主程序完成8255和8259A的初始化,循环等待中断请求;中断处理子程序将灯点亮1秒后熄灭。
4、端口地址:5、系统内存分配:5、程序结构:CODE SEGMENTASSUME CS:CODEMAIN PROCSTART: ;主过程;初始化8259;初始化8255;调用3号中断 MAIN ENDPINT3 PRCO……;中断处理子程序 INT3 ENDPDELAY PROC…… ;延时子过程DELAY ENDPCODE ENDSEND6、程序流程图主程序代码:PA EQU 0FF28H ;8255A端口地址标号定义 PB EQU 0FF29HPC EQU 0FF2AHPCTL EQU 0FF2BHINTPORT1 EQU 0060H ;8259控制口地址标号定义 INTPORT2 EQU 0061HCODE SEGMENTASSUME CS:CODEORG 1000HMAIN PROCSTART: CLI ;CPU关中断MOV AL,80H ;初始化8255MOV DX,0FF2BHOUT DX,ALPUSH DS ;保护DSMOV AX,0MOV DS,AXMOV DI,0B*4MOV DX,OFFSET INT3MOV WORD PTR[DI],DXMOV DX,SEG INT3MOV WORD PTR[DI+2],DXPOP DS ;恢复DSMOV AL,13H ;初始化8259AOUT 60H,ALMOV AL,08HOUT 61H,ALMOV AL,0DHout 61H,ALMOV AL,0F7HOUT DX,AL ;开放8259A中断STI ;CPU开中断HLTWATING: JMP WATING ;循环等待中断请求MAIN ENDPINT3 PROCPUSH DXPUSH AX ;保护现场STIMOV DX,PAMOV AL,00HOUT DX,AL ;灯全亮CALL DELAY1S ;延时子程序MOV AL,0FFHOUT DX,AL ;灯全灭MOV DX,INTPORT1MOV AL,20HOUT DX,AL ;送中断结束命令 CLIPOP AXPOP DX ;恢复现场MOV AL,20HOUT 60H,ALIRET ;中断返回INT3 ENDPDELAY1S PROCPUSH CXPUSH DXMOV DX,04AGAIN: MOV CX,0FFFFHDELAY: LOOP DELAYDEC DXJNZ AGAINPOP DXPOP CXRETDELAY1S ENDPCODE ENDSEND START。
8259A芯片使用方法
8259A芯片使用方法-CAL-FENGHAI.-(YICAI)-Company One1一、8259A的引线及内部结构1、引脚信号8259A引脚信号如下图所示:8259A引脚图D7~D0:双向、三态数据线,与系统数据总线相连。
对8259A编程时,命令字由此写入;在第二个中断响应总线周期中,中断类型码由此传给CPU。
RD:读信号,输入,与系统控制总线IOR相连。
RD =0时,CPU对8259A进行读操作。
WR:写信号,输入,与系统控制总线IOW相连。
当WR =0时,CPU对8259A进行写操作。
A0:片内寄存器寻址信号,输入,用于对片内寄存器端口寻址。
每片8259A有两个寄存器端口,A0=0时,选中偶地址端口,A0=1时,选中奇地址端口。
在与8088系统相连时,可将该引脚与地址总线的A0连接;与8086系统连接时,可将该引脚与地址总线的A1连接。
CS:片选信号,输入。
CS =0时,8259A被选中。
在与8088系统相连时,系统地址信号A15~A1经译码器译码后为8259A产生片选信号。
SP /EN:双功能双向信号。
当8259A工作在缓冲模式时,它作为输出,用于控制缓冲器的传送方向。
当数据从CPU送往8259A时,SP /EN输出为高电平;当数据从8259A送往CPU时,SP /EN输出为低电平。
当8259A工作在非缓冲模式时,它作为输入,用于指定8259A是主片还是从片(级联方式)。
SP /EN =1的8259A为主片,SP /EN =0的8259A为从片。
INT:中断请求信号,输出,与CPU的中断请求信号线INT相连。
在级联方式下,从片的INT与主片的IR7~IR0中的某一根连接在一起。
INTA:中断响应信号,输入,与CPU的中断响应信号线INTA相连。
CAS2~CAS0:级联控制线,主片的CAS2~CAS0与从片的CAS2~CAS0对应相连。
对于主片,CAS2~CAS0为输出信号;对于从片,CAS2~CAS0为输入信号。
8259A芯片使用方法
一、8259A的引线及部结构1、引脚信号8259A引脚信号如下图所示:8259A引脚图●D7~D0:双向、三态数据线,与系统数据总线相连。
对8259A编程时,命令字由此写入;在第二个中断响应总线周期中,中断类型码由此传给CPU。
●RD:读信号,输入,与系统控制总线IOR相连。
RD=0时,CPU对8259A进行读操作。
●WR:写信号,输入,与系统控制总线IOW相连。
当WR=0时,CPU对8259A进行写操作。
●A0:片寄存器寻址信号,输入,用于对片寄存器端口寻址。
每片8259A有两个寄存器端口,A0=0时,选中偶地址端口,A0=1时,选中奇地址端口。
在与8088系统相连时,可将该引脚与地址总线的A0连接;与8086系统连接时,可将该引脚与地址总线的A1连接。
●CS:片选信号,输入。
CS=0时,8259A被选中。
在与8088系统相连时,系统地址信号A15~A1经译码器译码后为8259A产生片选信号。
●SP/EN:双功能双向信号。
当8259A工作在缓冲模式时,它作为输出,用于控制缓冲器的传送方向。
当数据从CPU送往8259A时,SP/EN输出为高电平;当数据从8259A送往CPU时,SP/EN输出为低电平。
当8259A工作在非缓冲模式时,它作为输入,用于指定8259A是主片还是从片(级联方式)。
SP/EN=1的8259A 为主片,SP/EN=0的8259A为从片。
●INT:中断请求信号,输出,与CPU的中断请求信号线INT相连。
在级联方式下,从片的INT与主片的IR7~IR0中的某一根连接在一起。
●INTA:中断响应信号,输入,与CPU的中断响应信号线INTA相连。
●CAS2~CAS0:级联控制线,主片的CAS2~CAS0与从片的CAS2~CAS0对应相连。
对于主片,CAS2~CAS0为输出信号;对于从片,CAS2~CAS0为输入信号。
当从片发起的中断请求被响应时,主片通过CAS2~CAS0送出相应的编码给从片,告诉从片该中断请求被允许。
微机原理8259a的应用
微机原理8259A的应用1. 8259A简介•8259A是一种多功能可编程中断控制器,广泛用于微机系统中;•8259A可以管理和处理系统中的各种硬件和软件中断请求;•8259A具有级联功能,可以通过级联多个8259A来扩展中断处理能力。
2. 8259A的工作原理•8259A通过两个级联的寄存器ICW1和ICW2来初始化;•ICW3用于配置8259A多片级联的中断控制器;•ICW4用于设置工作模式和中断请求优先级;•8259A通过两个状态寄存器ISR和IRR来管理中断。
3. 8259A的应用场景•中断处理:8259A能够管理和处理系统的硬件和软件中断请求,提高系统可靠性和响应速度;•外设控制:通过8259A的控制和管理,可以实现对系统中各种外设(如键盘、鼠标、打印机等)的控制和驱动;•系统扩展:8259A支持级联功能,可以通过级联多个8259A来扩展系统的中断处理能力;•实时控制:8259A可以对实时控制系统中的各种事件和任务进行调度和管理。
4. 8259A的编程方法•8259A的编程方法主要包括初始化、中断屏蔽、中断响应等;•编程接口包括写ICW1、ICW2、ICW3和ICW4寄存器,读写中断屏蔽寄存器IMR等;•编程方法需要结合具体的应用场景和系统需求来进行。
5. 8259A的应用实例•实例1:使用8259A实现对键盘的输入控制和中断处理;•实例2:使用8259A实现对鼠标的输入控制和中断处理;•实例3:使用8259A实现对实时控制系统中各种事件和任务的调度和管理;•实例4:使用8259A实现对并行计算的任务分配和调度。
6. 8259A的应用优势•提高系统可靠性:通过集中管理和处理中断请求,可以提高系统的可靠性和稳定性;•提高系统响应速度:8259A能够快速响应和处理各种中断请求,提高系统的响应速度;•简化系统设计:通过集成多个外设的中断控制和管理功能,可以简化系统的设计和开发。
7. 总结•8259A作为一种多功能可编程中断控制器,在微机系统中有着广泛应用;•通过8259A的控制和管理,可以实现对系统中各种外设的控制和驱动;•8259A的编程方法需要根据具体的应用场景和系统需求进行选择和设计;•8259A的应用优势包括提高系统可靠性、提高系统响应速度、简化系统设计等。
【微机原理】8.3 8259A应用
LOOP WAIT1
DEC DX
;通断100次了吗?
JNE SOUND
;没有,继续发声
MOV COUNT,182
;已满100次,
;重置COUNT←182
EXIT:
MOV AL,20H
;用EOI命令结束中断
OUT 20H,AL
POP DX
;恢复现场
POP CX
POP AX
POP DS
IRET
;返回主程序,等待下次中断
➢硬件连线图如图8.21所示。
图8.21 级联电路硬件连线图
➢4个中断服务程序的入口地址表如图318H.号22中所断示的 中。断 服 务 程 序
的 入 口 地 址 存 放 在 31H4= 0C4H 开 始 的 4 个 连 续 单 元 中 , 它等于1000:2000H。
35H 号 中 断 向 量 位 于 0D4H 开 始的单元中,中断服务程序 的 入 口 地 址 为 1000 : 3000H 中。
Hale Waihona Puke 8.3 8259A的应用举例8.3.1 8259A的级联使用 8.3.2 中断向量的设置和中断处理 程序设计实例
8.3.2 中断向量的设置和 中断处理程序设计实例
• 中断向量的设置
PC机对256类中断,有些已分配了固定功能,规定了中断服务程序 的入口地址。
如类型号n=0~4为专用中断,n=5为打印屏幕中断,n=08~FH分配给 8259A。n=08~FH和n=70H ~ FFH 是分配给PC/AT机的。
程序如下:
MOV MOV MOV MOV MOV INT
AX,1000H DS,AX DX,2000H AL,31H AH,25H 21H
;DS←段基地址 ;DX←偏移地址 ;中断类型号N ;DOS功能号 ;设置中断向量量
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。
中断技术及8259A的使用
主8259
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 S7 S6 S5 S4 S3 S2 S1 S0
从8259
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 * * * * * ID2 ID1 ID0
业精于勤,荒于嘻
36
初始化控制字ICW(续)
ICW4
A0 D7 D6 D5 D4 D3 D2 D1 D0
• 级联缓冲/比较器 一片8259A只能接收8级中断,当超过8级时,可用多片
8259A级联使用,构成主从关系。对于主8259A,其级联信 号CACSA2~S2~CACSA0是S0输是SP入输信出号信。号,而对于S从P8259A,级联信号
此时,主8259A的 端为“1”,从8259A的 端为“0”, 且从8259A的INT输出接到主8259的中断输入端IR上,因而 可把中断扩展到64级。
业精于勤,荒于嘻
35
初始化控制字ICW(续)
ICW3 只在级联情况下使用,如果系统中只有1片8259,则 不使用ICW3, ICW3用来说明级联的详细情况。主8259与 从8259的ICW3不同。
主8259的ICW3表示那个引脚有级联,而从8259的ICW3则用
来说明,级联到主8259的那个引脚上。
应信号为两个负脉冲。第一个负脉冲作为中断应答信 号,第二个负脉冲到来时,8259从数据线D7~D0上发 出中断类型码。
业精于勤,荒于嘻
30
8259A的引脚信号
• :片选输入端。
•CAS2~CAS0:主8259与从8259间的级联线。主8259的
CAS2~CAS0为输出,从8259的CAS2~CAS0为输入。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物理与机电工程系
(2015——2016 学年第一学期)
中断响应—8259A芯片的使用
上机实验报告
专业:电子信息工程
学号: ************
姓名:与贸易
任课教师:不同一
实验地点:实验楼9727
项目编号:实验六
(2) 8086有16位数据总线,其低8位作为偶存储体来传输数据,8086的A0要一直为0,所以8259的A0要接8086的A1 8259的IR2端接开关,用来输入中断请求信号
(3) 74LS273的片选地址为8000H,且需要向其写入LED灯的状态,则Y0和WR经或非门后接入CLK。
注:实际实验中使用8088芯片,故8259的A0引脚与8088的A0端相连。
2、软件部分:
程序源代码见附录
3、链接好电路图如下:
3、利用Source->Add/Remove Source files中添加源程序EX-138.ASM(在实验包中已提供),
该程序向240H端口写任意数据。
如果是第一次运行,Source Code Filename这一项选New来调入源程序。
如图
4 .打开ISIS 7 Professional,在Source 菜单下点击“Define Code Generation Tools”,并单击“New”按钮;
5 .点击“Browse”按钮,找到masm32.bat 所在的位置;设置代码生成规则;
6 .添加源代码,选择对应的编译工具;
7 . 在Source 菜单下点击“Build All”,编译源代码;
8.运行仿真。
在Source菜单下点击“Build All”,汇编源代码(全部编译);执行程序,查看Y0~Y7中是否Y4#脚输出为有效(管脚出的有颜色的小方块为红色是高电平,蓝色为低电平)。
按下开关按键,LED等依次序第点亮,到最后一个等亮后,再继续按键,第一个LED灯又重复点亮,反复循环。
四、实验结论
1、通过本次实验,熟悉了8259A中断控制器编程方法和硬件的使用。
2、编写程序,进一步了解8259A的中断的原理和过程。
3、要多加练习,熟悉在汇编环境和实验箱硬件的使用的过程。