实验5 8259A单级中断控制实验
实验十五 8259可编程中断控制器
实验十五 8259可编程中断控制器一、实验目的1、熟悉8259基本功能和初始化的命令方式。
2、掌握8259在8086/8088系统中的使用。
3、掌握中断服务程序的编写和中断服务程序电路的设计。
二、使用技术准备1、早期的PC/XT微机中只有一片8259A中断控制器,可接受并处理8级中断。
IBM-PC XT机外中断请求的设置XT机8级外中断表2、PC/AT微机系统的外中断286以上的(PC/AT)微机系统的CPU采用了更高配置的芯片,系统中有两个8259A芯片,接成级连方式,可管理15级中断。
主8259A的口地址为20H、21H,从8259A的口地址为A0H、A1H。
硬件中断源与中断类型对照表中断向量:中断服务程序的入口地址。
中断向量的作用:CPU响应中断后,中断向量将引导CPU去执行相应的中断服务序。
中断向量由两部分组成:1、中断服务程序所在代码段的段基地址(2个字节)。
2、中断服务程序入口的有效地址(2个字节)。
中断向量表我们给每一种中断都安排一个中断类型号。
IBM PC机的中断系统能处理256种类型的中断,类型号为0~0FFH。
每种类型的中断都由相应的中断服务程序来处理,中断向量表就是各中断服务程序的地址表。
PC机存储器最低的1K字节(地址从0~3FFH),存放中断向量,中断向量表中的256项中断向量对应256中断类型,每项占四个字节,其中二个高位字节存放中断服务程序的段地址(16位),二个低位字节存放偏移段地址(16位)。
因为各个服务程序的段地址和偏移地址在中断向量表中按中断类型号顺序存放,所以每类型中断向量的地址可由中断类型号乘以4得出.例如:中断类型4AH的中断向量地址为4AH×4=128H,既128H、129H两个字节存放中断服务程序的偏移地址IP, 12AH、12BH两个字节存放中断服务程序的段地址,取出段地址和偏移地址,CPU就可转入中断服务程序。
中断操作的5个步骤:(1)取中断类型号;(2)计算中断向量地址;(3)取中断向量,偏移地址送IP,段地址送CS;(4)根据CS:IP转入中断服务程序;(5)中断返回到INT指令的下一条指令。
微机原理与汇编语言_实验5_8259中断控制器实验概论
微机原理与汇编语言实验报告姓名x x x学号xxxxxx 专业班级计科x班课程名称微机原理与汇编语言实验日期2014.11.25 实验名称8259中断控制器实验成绩1、掌握8259A的工作原理。
2、掌握编写中断服务程序方法。
3、掌握初始化中断向量的方法。
二、实验内容1、实验原理本实验用到三部分电路:电平开关电路、简单I/O口扩展电路和8259中断控制器电路。
电平开关电路简单io扩展电路8259中断控制器电路1)电平开关电路开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。
对应的插孔是:K1~K8。
2)扩展输出口扩展输出接口由74LS273构成,74LS273的输出信号由插孔O0~O7输出,插孔CS273是其选通信号,其它信号线已接好。
3)8259中断控制电路CS8259是8259芯片的片选插孔,IR0~IR7是8259的中断申请输入插孔。
DDBUS是系统8位数据总线。
INT插孔是8259向8086CPU的中断申请线,INTA是8086的中断应答信号。
2、实验步骤1)实验接线CS0↔CS8259 CS1↔CS273 O0~O7↔LED1~LED8 K1~K8↔IR0~IR7 INT↔INTR INTA↔QINTACS0 片选信号,地址04A0~04AF 偶地址有效CS1 片选信号,地址04B0~04BF 偶地址有效CS2 片选信号,地址04C0~04CF 偶地址有效CS3 片选信号,地址04D0~04DF 偶地址有效CS4 片选信号,地址04E0~04EF 偶地址有效CS5 片选信号,地址04F0~04FF 偶地址有效CS6 片选信号,地址0000~01FF 偶地址有效CS7 片选信号,地址0200~03FF 偶地址有效关于偶地址有效当8259片选连接CS0时,因访问端口时地址位A0的值必须为1,由A1地址位来区分两个端口吗,因此,偶地址:04A0,04A4…奇地址:04A2,04A6…2)编译调试程序3)全速运行程序,拨动某一电平开关,观察LED的亮灭情况。
8259A可编程中断控制器实验
集美大学计算机工程学院实验报告课程名称微机系统与接口技术实验名称实验二8259A可编程中断控制器实验实验类型设计型姓名学号日期地点微机实验室成绩教师第1页共8页1. 实验目的及内容1.1实验目的1)了解8259A芯片的工作原理。
学会使用8259A中断控制芯片实现对外中断的响应和处理。
2)了解8259A内部结构和熟悉8086的接口逻辑。
3)掌握8259A的初始化编程方法和8086是如何响应中断、退出中断的。
1.2实验内容1)设计8259A与8086CPU的硬件连接图,分配8259A的端口地址为9000H,9001H。
2)设计8259A的外围连接,实现拨动单脉冲开关触发8259A中断,8086计数中断次数并显示于G5区的断码管LED上。
3)中断次数的显示需调用系统给定的显示子程序DISPLAY8。
程序开始处必须设置外部连接,告诉汇编程序该显示程序在何处;设置显示缓冲区及相应的入口参数:si——显示缓冲区首地址。
若要让LED无任何显示,即对应单元送10H,若要让它显示数字,则把数字值直接送到相应的显示缓冲区单元中就可以显示了。
4)要保证DISPLAY8能正常显示,必须使得8279键盘/LED控制器能正确运行。
此时要设置连线:①8279键盘/LED控制器的CLK应连接2MHz的时钟;②8279键盘/LED控制器的CS,A0连接到芯片组A3区的CS5,A0;③控制数码管LED亮灭的数据(段码,列码)由8279的键盘/LED控制器输出,应该把E5区中的B,C与G5区的B,C对应连接起来。
2. 实验环境星研电子软件,STAR系列实验仪一套、PC机一台、导线若干3. 实验方法8259A的中断引脚IRi与单脉冲连接,实现拨动单脉冲开关触发8259A中断,8086计数中断次数并显示于G5区的断码管LED上,此实验使用8259A的IR2中断,正脉冲触发中断,脉冲频率为2MHz.4.实验步骤MOV DX,9001HMOV AL,00001010B OUT DX,ALMOV AL,00001101B OUT DX,ALMOV AL,11111011B OUT DX,ALMOV CX,0000HMOV BL,00HMOV BH,11STI L1: MOV FLAG,0MOV AL,BLAND AL,0FHMOV BUF,ALMOV AL,BLSHR AL,4AND AL,0FHMOV BUF+1,ALMOV BUF+2,10HMOV BUF+3,10HMOV BUF+4,10HMOV BUF+5,10HMOV BUF+6,10HMOV BUF+7,10HLEA SI,BUFCALL DISPLAY8 CHECK:CMP FLAG,0JZ CHECK CMP BH,00HJZ ZEROJMP L1ZERO:MOV DX,9001HIN AL,DX OR AL,00000100 OUT DX,ALJMP ZEROIRQ2 PROC FARMOV AL,BLADD AL,01HDAAMOV BL,ALDEC BHMOV FLAG,1MOV DX,9000HMOV AL,00100000BOUT DX,ALIRETIRQ2 ENDPEND START4.4运行调试程序1)按要求设计的电路正确连接线路,检查完毕后打开电源。
8259中断控制器实验报告
竭诚为您提供优质文档/双击可除8259中断控制器实验报告篇一:8259中断控制器实验报告8259中断控制器实验报告作者:一实验目的1,掌握8259A的工作原理。
2,掌握编写中断服务程序方法。
3,掌握初始化中断向量的方法。
二,实验设备cpu挂箱,8086cpu模块图1-cpu挂箱三,实验内容用电平开关的输出作为中断源,每个开关对应于一个中断源。
在中断服务程序中,通过74Ls273输出一个数据,以点亮于中断源对应位置的LeD灯。
四,实验原理1.本实验用到三部分电路:电平开关电路、简单I/o扩展电路和8259中断控制器电路;2.8086的中断系统是向量中断方式,内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量,不同的中断向量对应不同的偏移地址;3.中断类型由8359通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断服务程序;4.中断类型的高5位由8359寄存器Icw2决定,低3位由中断源IRx的编码自动填充,IRo~IR7的编码分别是000,001,010,011,100,101,110,111。
五,实验步骤1,实验接线cs0-cs8259cs1-cs27300~07-LeD1~LeD8K1~K8-IR0~IR7InT-InT(8086cpu板)InTA-InTA(8086cpu板)2,编译调试程序3,全速运行程度,拨动某一电平开关,观察LeD的亮灭情况。
六,实验结果全速运行程序,由上向下拨动开关时,相应位置的LeD灯点亮,其余LeD灯全灭七,源代码Assumecs:coDecoDesegmenTpubLIcoRg100hsTART:moVcx,0sTART1:cLImoVDx,04A0hmoVAx,13houTDx,AxmoVDx,04A2hmoVAx,80h ouTDx,AxmoVAx,01houTDx,AxmoVAx,00houTDx,AxnopmoVAx,0moVDs,AxmoVADDDI,2DI,200hmoVDs:[DI],100h;初始化中断向量表moVAx,oFFseTint0moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint1moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint2moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint3moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint4moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint5moVDs:[DI],AxADDDI,2moVAx,oFFseTint6moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint7moVDs:[DI],AxADDDI,2;上述程序为芯片8259的初始化程序moVDs:[DI],100hmAIn:moVAx,0sTIwAITIng:cmpAx,0hJewAITIngmoVDx,04b0houTDx,AxmoVcx,0 DeLAY:LoopDeLAYJmpsTART1Int0:cLInopmoVAx,oFehIReTInt1:cLInopmoVAx,oFDhIReTInt2:cLInopmoVAx,oFbhIReTInt3:cLInopmoVAx,oF7hIReTInt4:cLInopmoVAx,oeFhIReTInt5:cLInopmoVAx,oDFhIReTInt6:cLInopmoVAx,obFhIReTInt7:cLInopmoVAx,o7FhIReT篇二:8259中断控制实验报告深圳大学实验报告班级:实验时间:实验报告提交时间:教务处制篇三:8259中断控制实验报告实验六8259中断控制一、实验目的1.学习8086/8088cpu中断系统的知识。
8259A中断控制器实现
一、实验目的与要求1、了解8259的内部结构,工作原理;了解8259A 与8088的接口逻辑;掌握对8259A 的初始化编程方法,了解8088是如何响应中断、退出中断的。
二、实验逻辑原理图与分析 2.1 画实验逻辑原理图AD0~AD15ALEWR#INTR INTA数据锁存器地址锁存器地址译码器D0~D7CS#A0WR#INT INTA#IR0A02.2 逻辑原理图分析8282地址锁存器,用于8086CPU 与8259A 芯片地址线的连接用于总线周期T1状态下发出的地址信号。
经锁存后的地址信号可以在整个周期内保持稳定不变,8286收发器用于8086CPU 与8259A 芯片数据线的连接,通过地址译码器实现片选信号(CS )的选通。
(1)、8086是Intel 系列的16为微处理器,芯片上有4万个晶体管,采用NMOS 工艺制造,用单一的+5V 电源,时钟频率为4.77MHZ~10MHZ.8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据,可寻址的内存空间为1MB 。
(2)、8282锁存器:用来锁存8086访问存储器或I/O 端口时,于总线周期T1状态下发出的地址信号。
经锁存后的地址信号可以在整个周期内保持稳定不变 (3)、8286收发器:可以进行双向数据锁存 (4)、8259A 可编程中断控制器主要功能:1)、 1片8259A 能管理8级中断,通过级联用9片8259A 可以构成64 级主从 式中断系统2)、每一级中断可以屏蔽或允许3)、在中断响应周期,8259A 可提供相应的中断类型号。
4)、 可编程使8259A 工作在多种不同的方式。
(5)、8259A 的内部结构:1)、IRR:当IR0-IR7某一个引脚上出现有效中断请求时,IRR对应位被置12)、IMR:当IR0-IR7中需要屏蔽的,IMR对应位置13)、ISR:是一个8位寄存器,通过8位二进制数的值纪录当前正在处理的中断请求。
微机原理8259中断控制完整实验报告
实验5 8259中断控制实验实验时间2019年11月27日
实验类型■验证性□设计性□综合性
1. 实验目的
掌握8259中断控制器的工作原理
2. 实验内容及过程(主要内容、操作步骤)
利用系统总线上中断请求信号MIR6,设计一个单一中断实验3. 测试数据及实验结果
4. 实验分析及总结(主要考察内容)
1.显示字符“7”时,前面的“0137H”中的“37H”是“7”的ASCII码,若要改变显示的字符,就更改ASCII码。
2.中断服务程序的入口地址有段基址和段内偏移,故有32位,一个中断在中断向量表里面占4个字节,这4个字节就是中断服务程序的入口地址。
实验第一步就是在初始化中断向量表,就是告诉系统中断服务程序在哪里,填上IQR6的段基址和段内偏移(38H-3BH)。
其次就是对8259A主从片进行初始化,很多东西可以不初始化,就用到了主片,8259A从片上也接了一个中断。
再下面就是中断服务程序,实验中中断服务程序有延时,但是在正常编程情况下中断服务程序决不允许有延时,中断服务程序要快进快出
教师评阅
评价指标:实验目的、操作步骤、设计、算法、程序结构、实验结果、实验分析、实验总结。
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中断控制器实验》的实验报告
实验六8259中断控制器实验6.1 实验目的(1) 学习中断控制器8259的工作原理。
(2) 掌握可编程控制器8259的应用编程方法。
6.2 实验设备PC微机一台、TD-PIT+实验系统一套。
6.3 实验内容1. 单中断应用实验(1)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。
(2)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示“Hello”,中断5次后退出。
2.扩展多中断源实验利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。
编写程序对8259控制器的IR0和IR1中断请求进行处理。
6.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内部寄存器的读出命令。
接口技术实验-8259中断控制器
接口技术实验报告实验四:8259中断控制器实验一、实验目的1、掌握8259中断控制器的接口方法。
2、掌握8259中断控制器的应用编程。
二、实验设备微机原理实验箱、8086CPU模块。
三、实验内容用脉冲发生器作为中断源,每按一次脉冲发生器的按键即产生一次中断。
在中断服务程序中,通过74LS273输出一个数据,以点亮与中断源相对应位置的LED。
四、实验原理介绍8259中断控制器电路本实验用到三部分电路:电平开关电路、简单I/O口扩展电路和8259中断控制器电路。
电平开关电路、简单I/O口扩展电路参看实验一。
8259中断控制器电路:如上图所示,其中:CS是8259芯片的片选插孔,IR0~IR7是8259的中断申请输入插孔。
DBUS是系统8位数据总线。
INT插孔是8259向8086CPU的中断申请线,INTA是8086的中断应答信号。
五、实验步骤1.断电连接导线,连好实验线路图。
1)8259的INT连8088的INTR;2)8259的INTA连8088的INTA;3)“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平;4)8259的CS端接FF80H孔,74LS273的CS端接FF90H孔。
5)Q0~Q7 L1~L82.编译调试程序3.全速运行,观察实验现象六、实验提示1、8259芯片介绍中断控制器8259A是专为控制优先级中断而设计的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。
因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。
即中断结构可以由用户编程来设定。
同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
2、8086的中断系统是向量中断方式。
内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量(中断入口地址)。
不同中断类型的中断向量在表内有对应的偏移地址,其计算方法是:中断类型*4。
微机实践报告——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。
8259中断实验报告
8259中断实验报告引言本实验旨在通过实践掌握8259中断控制器的工作原理和使用方法。
8259中断控制器是一种在计算机系统中用于管理和调度中断请求的硬件设备。
本实验将通过编写代码并进行实际测试,来展示8259中断控制器的功能和效果。
实验过程步骤一:准备工作在开始实验之前,我们需要准备以下材料和工具:•一台支持8259中断控制器的计算机•8259中断控制器的手册或技术资料•一份适用于目标计算机系统的编程环境步骤二:了解8259中断控制器在开始编写代码之前,我们需要对8259中断控制器有一定的了解。
查阅8259中断控制器的手册或技术资料,了解其工作原理、寄存器结构和编程方法。
步骤三:编写初始化代码在开始使用8259中断控制器之前,我们需要对其进行初始化配置。
根据目标计算机系统的要求,编写初始化代码,并将其加载到计算机系统中。
步骤四:编写中断处理程序中断处理程序是在发生中断请求时由8259中断控制器调用的代码段。
根据实际需求,编写中断处理程序,并将其加载到计算机系统中。
步骤五:测试代码在完成初始化和中断处理程序的编写后,我们需要进行代码测试。
通过触发中断请求,检查中断处理程序是否能够正确地被调用和执行。
步骤六:分析实验结果根据测试结果,分析实验中发生的问题和异常情况。
比较预期结果与实际结果之间的差异,并进一步优化代码和配置。
结果与讨论在本实验中,我们成功地使用了8259中断控制器,并编写了相应的初始化代码和中断处理程序。
经过测试,中断处理程序能够正确地被调用和执行。
然而,在实验过程中也遇到了一些问题。
例如,可能会出现中断处理程序无法正确响应中断请求的情况。
这可能是由于配置不当或代码逻辑错误所致。
在遇到问题时,我们可以通过查阅8259中断控制器的手册或技术资料,以及调试工具来进行排查和修复。
通过本实验,我们进一步加深了对8259中断控制器的理解,掌握了其工作原理和使用方法。
在实际应用中,8259中断控制器可以广泛应用于各种计算机系统,提供可靠的中断管理和调度功能。
8259中断实验报告
8259中断实验报告8259中断实验报告概述:8259中断控制器是一种重要的硬件设备,用于管理和处理计算机系统中的中断请求。
本实验旨在通过对8259中断控制器的实际应用,深入理解中断的概念、工作原理和实现方法。
实验目的:1. 了解中断的基本概念和作用;2. 掌握8259中断控制器的工作原理;3. 熟悉8259中断控制器的编程方法;4. 实现一个简单的中断处理程序。
实验设备:1. 计算机;2. 8259中断控制器;3. 开发工具。
实验步骤:1. 硬件连接:将8259中断控制器与计算机主板相连,确保连接正确稳定。
2. 编程准备:打开开发工具,创建一个新的工程,选择适当的编程语言。
3. 初始化8259中断控制器:在程序中调用相应的函数,设置8259中断控制器的工作模式、中断向量表等。
4. 编写中断处理程序:根据实际需求,编写一个简单的中断处理程序,例如键盘输入中断处理程序。
5. 编译、链接和调试:对程序进行编译、链接,生成可执行文件,并进行调试,确保程序的正确性和稳定性。
6. 实验结果分析:运行程序,观察中断处理程序的执行情况,分析中断的触发条件、处理过程和效果。
实验心得:通过本次实验,我深入了解了中断的概念和作用,掌握了8259中断控制器的工作原理和编程方法。
在实际操作中,我遇到了一些问题,例如连接错误、程序调试等,但通过不断尝试和调整,最终成功实现了一个简单的中断处理程序。
这次实验对我来说是一次很好的学习机会,不仅加深了对中断的理解,还提高了我的编程能力和问题解决能力。
总结:中断是计算机系统中一个重要的概念,对于提高系统的响应速度和处理效率具有重要意义。
8259中断控制器作为中断管理和处理的关键设备,其工作原理和编程方法需要我们深入了解和掌握。
通过本次实验,我对中断和8259中断控制器有了更深入的理解,并通过实际操作加深了对中断处理程序的编写和调试的经验。
这对我今后的学习和工作都具有重要的参考价值。
8259中断控制实验报告
8259中断控制实验一.实验目的1. 掌握8259 中断控制器的工作原理。
2. 掌握系统总线上IR1,IR2 中断请求的应用编程方法。
二.实验设备IA-32 架构的微机系统及应用教学平台一套。
三.实验原理3.1 中断控制器8259简介中断控制器8259 是Intel公司专为控制优先级中断而设计开发的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需增加其他电路的情况下,通过多片8259 的级连,能构成多达64 级的矢量中断系统。
它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。
8259 的内部结构和引脚如图1 所示。
图 1 8259 内部结构和引脚图8259 的命令共有7 个,一类是初始化命令字,另一类是操作命令。
8259 的编程就是根据应用需要将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器组和操作命令寄存器组。
ICW1-ICW4 各命令字格式如图2所示,OCW1-OCW3各命令字格式如图3 所示,其中OCW1 用于设置中断屏蔽操作字,OCW2 用于设置优先级循环方式和中断结束方式的操作命令字,OCW3 用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259 内部寄存器的读出命令。
图 2(a) ICW1格式图 2(b) ICW2格式图 2(c) ICW3格式图 2(d) ICW4格式图 3 OCW 命令字格式3.2 8259寄存器及命令的控制访问在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。
对寄存器和命令的访问控制如表1所示。
表 1 8259 寄存器及命令的访问控制3.3 EPC 微机系统中的8259在80x86 系列EPC 微机系统中,系统中包含了两片8259 中断控制器,经级连可以管理15 级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表2 示。
完整word版,8259A中断控制器实验
南京信息工程大学实验(实习)报告实验(实习)名称 8259A中断控制器实验实验(实习)日期 2015.5.12 得分指导教师朱节中计算机系专业网络工程年级 2012 班次 1 姓名学号一. 实验目的1.掌握8259A中断控制器工作原理,熟悉实验中涉及到的中断屏蔽寄存器IMR和中断服务寄存器ISR等的使用方法.2.学会中断处理程序的编写二. 实验内容用8259A的输出作为中断请求信号使8259A产生中断,进入中断后显示一个字符串.1.中断请求通过PC/XT62芯总线的IRQ2端输入,中断源可以是片外8253定时器输出的脉冲,也可以是其它脉冲,也可以是其它脉冲.现用8253做中断源,参看实验21连接8253的线路,并把8253的OUTO和总线槽IR02连接好.2.编写程序,要求每次主机响应外部中断IRQ2时,显示字符串“THIS IS A 8259A INTERRUPT!”(或其它串),中断十次后,程序退出。
三.编程提示1.本实验使用PC/XT机内的8259A芯片,主机启动实际时已奖8259A 中断寄存器前五位初始化为00001,因此,IRQ2的中断号应为0AH。
2.主机吧IRQ2保留给用户使用,而其他外中断已由系统时钟,键盘等占用,因此,编程时要注意系统中已使用的中断请求号。
只须将IMR寄存器中对应IRQ2的位清零,允许IRQ2中断即可。
3.机内8259A初始化为普通结束方式,因此,外中断结束时,必须使用中断结束命令清除中断服务寄存器ISR中的对应位。
4.程序退出时,关闭IRQ2中断,即给IMR中相应位置1,禁止中断。
5.PC 机系统中8259A地址:偶地址 20h奇地址 21h6. PC机系统中IRQ2硬中断为用户保留的。
编程时首先应将IRQ2对应的中断向量(中断号为0ah)保存起来,然后设置新的中断向量以指向中断处理程序。
另外,还要将中断屏蔽寄存器的相应位开放。
典型的程序段如下: MOV AH, 35HMOV AL, OAH ;取0AH号中向量送ES: BXINT 21HPUSH ES ;保存原中断向量PUSH BXPUSH DXMOV DX ,SEG ADINTMOV DS ,DXMOV DX ,OFFSET ADINT ;设置新的中断向量MOV AH ,25HMOV AL ,0AHINT 21HPOP DSIN AL ,21H ;取中断屛蔽寄存器的内容PUSH AX ;保存AND AL ,11111011B ;允许IRQ2中断OUT 21H ,AL7、PC机系统中的8259A工作在全嵌套方式下,在中断处理程序结束时,需要发中断结束命令。
8259A与8255A应用实验_2011
实验一8259中断控制器应用实验一、实验目的1. 学习可编程中断控制器8259的工作原理。
2. 掌握可编程中断控制器8259的应用编程方法。
二、实验内容1.单中断实验。
利用系统总线上中断请求信号INTR,设计一个单中断应用。
使用单次脉冲模拟中断产生。
编写中断处理程序,在显示器屏幕上显示一个字符。
2.扩展中断源查询方式应用实验。
利用实验平台上8259控制器对系统总线上的中断线INTR进行扩展。
编写程序对8259控制器的IR0和IRI中断请求进行处理。
三、实验所用仪表及设备1. PC机一台。
2. TD-PIT++实验系统一套。
四、实验原理与步骤1. 实验原理(1)PC微机系统中的8259介绍中断控制器8259 是Intel 公司专为控制优先级中断而设计开发的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需增加其他电路的情况下,通过多片8259 的级连,能构成多达64 级的矢量中断系统。
它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。
8259A的命令字共有7个,可分为两类。
一类是初始化命令字,另一类是操作命令字。
8259 的编程就是根据应用需要将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器组和操作命令寄存器组。
ICW1-ICW4各命令字格式如表2-1所示,OCW1-OCW3各命令字格式如表2-2所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和结束方式的操作命令字,OCW3用于设置和撤消特殊屏蔽方式,设置中断查询方式以及设置对8259A内部寄存器的读出命令。
表2-1初始化命令字表2-2操作命令字(2)PC微机系统中的8259A在80x86系列PC微机系统中,系统中包含了两片8259中断控制器,通过级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表2-3所示。
8259中断控制实验
8259中断控制实验8259是一种可编程中断控制器,它可以为CPU管理多个中断源,并将中断请求转换为优先级和中断屏蔽,从而保证CPU不会重复处理中断。
8259的工作原理是,由CPU发送中断请求信号给8259,8259从中断请求中选择最高优先级的请求并将其向CPU发出中断请求信号。
CPU接收到中断请求后,将中断处理程序存入中断向量表,并调用处理程序。
本实验的目的是熟悉8259的工作原理和接口,并学会使用它管理系统中的中断源。
实验设备:- 一台基于x86架构的计算机- 一块8259可编程中断控制器芯片- 一块串口编程板- 一根串口线实验步骤:1. 连接8259芯片到计算机,将8259连接到计算机的I/O总线上,连接好中断请求信号线和CPU的中断引脚INT引脚,将8259的中断输出线连接到CPU的从INT1到INT7的引脚,其中INT0引脚作为级联输出使用。
2. 配置8259芯片,使用8259的控制寄存器对中断源进行配置,包括优先级、中断屏蔽和中断触发方式等。
3. 编写8259驱动程序,使用8259的接口函数实现中断源的管理,包括中断请求、屏蔽、解除屏蔽和中断处理等操作。
4. 进行实验测试,编写测试程序,模拟多个中断源同时发送中断请求信号,测试8259是否可以正确选择最高优先级的中断源,并将中断请求信号发送给CPU。
5. 进行串口输出测试,使用串口编程板连接计算机的串口,编写串口中断程序,在数据接收时产生中断请求,测试8259是否可以正确处理串口中断请求,并将数据传输到CPU。
实验注意事项:1. 在配置8259时,需注意优先级和中断屏蔽的设置,以确保高优先级的中断源优先被处理,同时避免中断屏蔽导致的延迟。
2. 8259在进行中断信号转换时,需要与CPU进行同步,因此在编写驱动程序时,需注意中断处理的时机和中断向量表的设置。
3. 串口编程中使用的是异步通信方式,需要注意数据传输的时序和缓存管理,避免数据丢失或重复传输的情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五 8259中断控制器实验
一、实验目的
1、认识TDS86/88微机的中断特性。
2、掌握8259中断控制器的工作原理。
3、掌握8259中断控制器的应用编程。
4、学习并掌握8259中断控制器的级连方式的使用方法。
二、实验设备
1、TDS86/88实验箱一台。
2、排线、单导线若干。
3、微机一台。
三、实验内容
在实验箱上面,主片8259已被初始化,可直接使用,从片8259全开放给用户使用,但需用户根据实验要求自行设计连接线路个初始化编程。
1、单片单中断源8259实验
按图六所示实验线路,编写程序,使每响应外部中断IRQ7时,显示字符“7”,中断10次后,程序退出。
图六
实验参考程序如下:(P4.ASM)
code segment
assume cs:code,ds:code
org 100h
start: push cs
pop ds
cli
push ds
push ds
mov ax,0
mov ds,ax
mov dx, offset intserve
add dx,1000h
sub dx, 100h
mov bx, 003ch
mov word ptr[bx],dx
pop dx
mov word ptr[bx+2],dx
pop ds
in al, 21h
and al,7fh
out 21h,al
mov cx,10
ag: sti
jnz ag
hlt
intserve proc far
push ax
mov ah,01h
mov al,"7"
int 10h
mov al," "
int 10h
dec cx
mov al, 20h
out 20h,al
pop ax
iret
intserve endp
code ends
end start
运行程序,按动KK2微动开关键,显示器上将显示字符“7”,重复按动KK2直到中断10次后,程序退出。
2、单片多中断源8259应用实验
按图七所示连接实验线路,编写程序,完成下述功能。
当无中断请求时,执行主程序,延时显示“M”字符,若有中断号“7”或“6”,若正在执行较低级的中断服务子程序,则允许比它优先级高的中断被响应(IRQ6>IRQ7)。
程序在执行过程中,每显示一个字符,空一格以便于观察。
实验参考程序如下:(P5.ASM)
code segment
assume ds:code,cs:code
org 100h
start: push cs
pop ds
cli
push ds
push ds
mov ax,0
mov ds,ax
mov dx,offset int7
add dx,1000h
sub dx,100h
mov bx,003ch
mov word ptr[bx],dx
mov word ptr[bx+2],dx
pop ds
push ds
push ds
mov ax,0
mov ds,ax
mov dx,offset int6
add dx,1000h
sub dx,100h
mov bx,0038h
mov word ptr[bx],dx
pop dx
mov word ptr[bx+2],dx
pop ds
in al,21h
and al,3fh
out 21h,al
ag: sti
push cx
push ax
mov ah,01
mov al,"M"
int 10h
mov al," "
int 10h
mov ax,3h
ag2: mov cx,0ffffh
ag1: loop ag1
dec ax
jnz ag2
pop ax
pop cx
jmp ag
hlt
int6 proc far
push ax
mov ah,01h
mov al,"6"
int 10h
mov al," "
int 10h
push cx
mov ax,3h
int6ag2: mov cx,0ffffh
int6ag1: loop int6ag1
jnz int6ag2
pop cx
mov al,20h
out 20h,al
pop ax
iret
int6 endp
int7 proc far
push ax
mov ah,01h
mov al,"7"
int 10h
mov al," "
int 10h
push cx
mov ax,3h
int7ag2: mov cx,0ffffh
int7ag1: loop int7ag1
dec ax
jnz int7ag2
pop cx
mov al,20h
out 20h,al
pop ax
iret
int7 endp
code ends
end start
3、8259级连实验
将实验箱上的两片8259按图八所示,构成8259级连方式的实验线路,其中规定主片的IRQ7连接一片从片,从片上的IR7接外中断申请电平,并规定从片的中断矢量号为30H—37H,从片8259的CS端接I0Y0。
因此,从片的端口寄存器地址为00H和01H。
实验参考程序如下:
code segment
assume cs:code,ds:code
org 100h
start: push cs
pop ds
cli
mov al,11h
out 20h,al
mov al,08h
out 21h,al
mov al,80h
mov al,1dh
out 21h,al
mov al,7dh
out 21h,al
mov al,11h
out 00h,al
mov al,30h
out 01h,al
mov al,07h
out 01h,al
mov al,09h
out 01h,al
mov al,7fh
out 01h,al
push ds
push ds
mov ax,0
mov ds,ax
mov dx,offset intserve
add dx,1000h
sub dx,100h
mov bx,00dch
mov word ptr [bx],dx
pop dx
mov word ptr [bx+2],dx
pop ds
mov cx,10
ag: sti
cmp cx,0
jnz ag
hlt
intserve proc far
push ax
mov ah,01h
mov al,"7"
int 10h
mov al," "
int 10h
dec cx
mov al,20h
out 00h,al
pop ax
iret
intserve endp
code ends
按动KK1微动开关,观察屏幕显示情况。
在上述实验中,若将intsever的中断服务程序的入口地址改为添入主片的IRQ7所对应的矢量表格中,会有什么样的结果,编程序实验之。
图八。