实验六 8259中断控制(1)

合集下载

《微机原理及应用》实验6-8259中断控制器实验

《微机原理及应用》实验6-8259中断控制器实验

实验报告
一、实验目的
⑴掌握8259中断控制器的接口方法。

⑵掌握8259中断控制器的应用编程。

二、实验内容
编制程序,利用8259芯片的IR作为中断源,产生单一中断,系统显示中断号“7”。

三、实验过程
(1)实验连线
(2)实验步骤
编写源程序,编译、装载,连续运行程序,按动AN按钮,LED数码管从最高位开始依次显示“7”,显示满后,最高位显示“P.”,继续等待中断。

四、实验总结(不少于150字)
最高位显示“P.”:
LED数码管从最高位开始依次显示“7”:
心得体会:
这次试验是一次硬件的实验,与以前的实验有很大的不同(以前的是软件实验)。

硬件实验与软件实验最大的不同就是,硬件实验室需要连线,不管你的实验能不能成功,都要先把线连好,否则就没有成功一说
五、思考题
若改用其他中断源,应怎样修改连线及程序?(不少于100字)
试从端口地址、初始化工作方式、系统功能调用入口参数及出口参数设置以及硬件连线几个方面进行阐述。

8259中断实验报告

8259中断实验报告

8259中断实验报告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 2 TPCA 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中断控制 实验报告

深圳大学实验报告课程名称:微机原理与接口技术
实验项目名称:8259中断控制实验
学院:信息工程学院
专业:电子信息工程
指导教师:
报告人:学号:201019 班级:电子
实验时间:2012.5.18
实验报告提交时间:2012.6.9
教务处制
实验程序分析:一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序放入堆栈中进行保护,所以,PUSH DS就起到这样的作用.在中断程序结束后
程序入口,还得用POP DS 指令返回现场.
这个实验是关于8259的单中断,不牵涉级联问题,所以,8259的初始化只需要看主片就可以了
时候,一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化字
ICW1,ICW2,ICW3,ICW4,由于8259只有一根地址线,因此对各个控制字的操作是按照一定的顺序并结合某些数据位来进行寻址设置的.当初始化完成后,对8259的操作命令字的寻址是通过。

8259中断控制实验

8259中断控制实验

8259中断控制实验1 实验目的1. 掌握8259中断控制器的工作原理;2. 学习8259的应用编程方法;3. 掌握8259级联方式的使用方法。

2 实验设备PC机一台,TD-PITE实验装置一套。

3 实验内容及步骤1. 中断控制器8259简介在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。

该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。

从片的INT连接到主片的IR2信号上构成两片8259的级联。

在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。

8259的内部连接及外部管脚引出如图2-3-1所示。

INTR串口0MIR6MIR7SIR1图2-3-1 8259内部连续及外部管脚引出图表2-3-1列出了中断控制单元的寄存器相关信息。

表2-3-1 ICU寄存器列表初始化命令字1寄存器(ICW1)说明见图2-3-2所示。

ICW1图2-3-2 初始化命令字1寄存器初始化命令字2寄存器(ICW2)说明见图2-3-3所示。

7ICW2中断向量地址图2-3-3 初始化命令字2寄存器初始化命令字3寄存器(ICW3)说明,主片见图2-3-4,从片见图2-3-5。

7ICW3(主片)图2-3-4主片初始化命令字3寄存器7ICW3(从片)图2-3-5 从片初始化命令字3寄存器初始化命令字4寄存器(ICW4)说明见图2-3-6。

7ICW4图2-3-6 初始化命令字4寄存器操作命令字1寄存器(OCW1)说明见图2-3-7。

OCW1图2-3-7 操作命令字1寄存器操作命令字2寄存器(OCW2)说明如图2-3-8所示。

7OCW2图2-3-8 操作命令字2寄存器操作命令字3寄存器(OCW3)说明如图2-3-9所示。

7OCW3图2-3-9 操作命令字3寄存器查询状态字(POLL )说明如图2-3-10所示。

8259中断控制器实验报告

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中断系统的知识。

微机原理8259中断控制完整实验报告

微机原理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单级中断控制器实验内容

实验六8259单级中断控制器实验内容

实验六. 8259单级中断控制器实验内容一、8259单级中断控制器实验目的:1.掌握8259中断控制器的接口方法.2.掌握8259中断控制器的应用编程.二、实验内容:本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F,其和中断矢量关于如下表所示。

8259中断源中断类型号中断矢量表地址IR0 8 20H~23HIR1 9 24H~27HIR2 A 28H~2BHIR3 B 2CH~2FHIR4 C 30H~33HIR5 D 34H~37HIR6 E 38H~3BHIR7 F 3CH~3FH根据实验原理图5-14,8259A和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址,本系统中为20H、21H。

20H 用来写ICW1, 21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后,再写操作命令字。

OCW2、OCW3 用口地址20H,OCW1用口地址21H。

图5-14中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。

如果中断源电平信号不符规定要求则自动转到7号中断,显示"Err"。

CPU响应中断后,在中断服务中,对中断次数进行计数并显示,计满5次结束,显示器显示"8259Good"。

三、实验线路连接:8259A的IR3插孔和脉冲发生器单元SP插孔相连。

SP插孔初始电平置为低电平。

四、实验软件清单:见随机光盘,文件名为H8259-1.ASM五、实验步骤:1、按图5-14连好实验线路2、运行实验程序:在DVCC-8086JHN上显示"8259-1"。

3、按AN按键,每按二次产生一次中断,在显示器左边一位显示中断次数,满5次中断,显示器显示"8259 good"。

微机实验六- 8259外部中断实验

微机实验六- 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中断控制器一

实训六8259中断控制器一

第3章 单片机基本应用实训
在主菜单的下部为工具栏,自左至右为:新建C文件( )、 新建汇编文件( )、打开(文件)( )、文件保存(存盘)( )、 剪切( )、复制( )、粘贴( )、C程序编译命令 (Ctrl+F7)( )、C程序连接命令(Shift+F7)( )、C程序编译连 接命令(F3)( )、汇编命令(F3)( )、开始调试(F5)( )、 停止调试[Shift+F5]( )、程序复位[Ctrl+F2]( )、设置/清除 断点[Ctrl+F8]( )、跟踪调试[F7]( )、单步执行[F8]( )、 执行到光标行[F4]( )、运行[F9]( )、反汇编窗口 [Alt+5]( )、寄存器窗口[Alt+2]( )、内部数据存储器窗口 [Alt+3] ( )、外部数据存储器窗口[Alt+4]( )、步进电机实 验( )、炉温控制实验( )、电机调速实验( )、中止实验 ( )、帮助( ),这些工具并不是同时有效。
Windows版软件的安装。
图3-1-6 安装的第6步
第3章 单片机基本应用实训 (8) 单击“Finish”,如图3-1-7所示,完成MCS51 Windows
版软件的安装。
图3-1-7 安装的第7步
第3章 单片机基本应用实训
1.MCS51软件启动 在“开始”菜单“程序”中选择“MCS51”,进入 MCS51软件,如图3-1-8所示。此界面提示计算机系统正在 与实验系统建立连接,此时请按实验系统板上的“RESET” 按键,如果通信正常,则在计算机上提示“连接成功!”, 进入程序集成环境,否则提示“无法复位”,则在脱机模 式下进入程序集成环境主窗口。系统默认与实验系统的连 接方式为串口1连接。串口及通信参数的确定可在此窗口 下设定。

8259单级中断控制器试验[1]

8259单级中断控制器试验[1]

实验5 8259单级中断控制器试验一、实验目的:1.掌握8259中断控制器的接口方法2.掌握8259中断控制器的应用编程二、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。

要求:主程序在高四位七段码上显示8259,中断服务程序对中断次数计数,并在最低位七段码上显示,中断次数满5次后,显示输出“good”。

中断采用边沿触发,单片,中断类型08H—0FH,工作在非缓冲模式,非AEOI,普通全嵌套。

IR0中断类型好为8 三、实验连接图四、实验程序框图主程序中断服务程序五、实验步骤1.连接硬件电路(1)8259的INT接8088的INTR;(2)8259的INTA接8088的INTA;(3)接8259的IR3;(4)8259的CS接EX1;(5)JX4连JX17。

2. 编写源程序,编译装载并执行。

3. 拨动AN开关按钮,按满10次显示good。

4.若要求脉冲信号接8259的IR4,则程序该如何修改?五、实验报告整理完整的实验程序。

CODE SEGMENT ;H8259.ASMASSUME CS:CODEINTPORT1 EQU 0060HINTPORT2 EQU 0061HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7PA EQU 0FF21H ;字位口PB EQU 0FF22H ;字形口PC EQU 0FF23H ;键入口ORG 12D0HSTART: JMP STA R T0BUF DB ?,?,?,?,?,?intcnt db ?data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FHSTAR T0: CLDCA LL BUF1CA LL WRINTVER ;WRITE INTRRUPTMOV A L,13HMOV DX,INTPORT1OUT DX,A LMOV A L,08HMOV DX,INTPORT2OUT DX,A LMOV A L,09HOUT DX,A LMOV A L,0F7HOUT DX,A LMOV intcnt,01H ;TIME=1STIWATING: CA LL DISP ;DISP 8259-1JMP WATINGWRINTVER: MOV AX,0HMOV ES,AXMOV DI,002CHLEA A X,INTQ3STOSWMOV AX,0000hSTOSWMOV DI,003CHLEA A X,INTQ7STOSWMOV AX,0000hSTOSWRETINTREEUP3: CLIMOV A L,INTCNTCALL CONVERSMOV BX,OFFSET BUF ;077BHMOV A L,10HMOV CX,05HINTRE0: MOV [BX],A LINC BXLOOP INTRE0MOV A L,20HMOV DX,INTPOR T1OUT DX,A LADD INTCNT,01HCMP INTCNT,06HJNA INTRE2CALL BUF2 ;DISP:good INTRE1: CA LL DISPJMP INTRE1CONVERS: AND A L,0FHMOV BX,offset buf ;077A HMOV [BX+5],A LRETINTRE2: MOV A L,20HMOV DX,INTPOR T1OUT DX,A LSTIIRETINTREEUP7: CLIMOV A L,20HMOV DX,INTPORT1OUT DX,A Lcall buf3 ;disp:errINTRE3: CA LL DISPJMP INTRE3DISP: MOV A L,0FFH ;00HMOV DX,PAOUT DX,A LMOV CL,0DFHMOV BX,OFFSET BUF DIS1: MOV A L,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV A L,[BX]POP BXMOV DX,PBOUT DX,A LMOV AL,CLMOV DX,PAOUT DX,A LPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV A L,0FFHMOV DX,PBOUT DX,A LRETBUF1: MOV BUF,08HMOV BUF+1,02HMOV BUF+2,05HMOV BUF+3,09HMOV BUF+4,17HMOV BUF+5,01HRETBUF2: MOV BUF,09HMOV BUF+1,00HMOV BUF+2,00HMOV BUF+3,0dHMOV BUF+4,10HMOV BUF+5,10HRETBUF3: MOV BUF,0eHMOV BUF+1,18HMOV BUF+2,18HMOV BUF+3,10HMOV BUF+4,10HMOV BUF+5,10HRETCODE ENDSEND STA R T。

8259中断控制实验报告

8259中断控制实验报告

8259中断控制实验报告实验报告:8259中断控制实验一、实验目的:学习和掌握8259中断控制器的工作原理和使用方法。

二、实验设备:计算机、8259中断控制器芯片、连接线、示波器等。

三、实验原理:1.8259中断控制器简介8259是Intel公司推出的一个通用中断控制器芯片,它可以管理多种设备的中断请求,并对中断请求进行优先级排序和处理。

8259具有级联功能,可以通过级联实现更多的设备中断管理。

2.8259工作原理8259中断控制器有两个主要模块:中断请求译码器和中断向量地址寄存器。

中断请求译码器用于判断中断请求的优先级,按照优先级排序,将中断请求发送给CPU。

中断向量地址寄存器用于存储中断向量的地址,CPU根据中断向量的地址来执行相应的中断服务程序。

3.8259中断控制器的寄存器8259中断控制器有多个重要的寄存器,包括中断屏蔽寄存器、中断请求寄存器、中断服务地址寄存器等。

中断屏蔽寄存器用于屏蔽或打开特定中断请求。

中断请求寄存器用于存储当前的中断请求状态。

中断服务地址寄存器用于存储中断向量的地址。

四、实验内容:1.配置8259中断控制器将8259中断控制器连接到计算机,并通过连接线将适当的引脚连接到需要中断控制的设备上。

2.编写中断服务程序根据实验要求,编写相应的中断服务程序,并将其存储在中断服务地址寄存器指定的内存地址中。

3.设置中断向量地址将中断向量的地址存储在中断向量地址寄存器中,使CPU能够根据中断请求执行相应的中断服务程序。

4.测试中断控制功能通过测试设备向8259中断控制器发送中断请求,观察计算机是否能正确处理中断请求,并执行相应的中断服务程序。

五、实验结果与分析:经过以上实验步骤,我们成功配置了8259中断控制器,并编写了相应的中断服务程序。

在测试过程中,通过向8259中断控制器发送中断请求,我们观察到计算机正确地处理了中断请求,并执行了我们编写的中断服务程序。

这表明我们成功地完成了8259中断控制实验。

8259中断控制实验

8259中断控制实验
主片:IRQ0——T/C0
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中断操纵器实验实验报告】 8253操纵8259中断

【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中断控制器实验的实验报告

8259中断控制器实验的实验报告实验报告:8259中断控制器实验一、实验目的本实验的目的是通过对8259中断控制器的实验,掌握和理解8259中断控制器的原理、工作原理和使用方法。

通过实验能够进一步了解中断控制器的中断分配和中断处理等功能。

同时还能够通过实验,对中断优先级以及中断的屏蔽和响应进行深入了解。

二、实验原理1.8259中断控制器简介8259中断控制器是用于管理和控制多个硬件设备的中断请求的重要芯片。

它是一个具有8个中断请求输入和8个中断向CPU输出的优先级解码器。

中断控制器主要由两个部分组成:中断请求器部分和中断控制器部分。

中断请求器部分用于产生中断请求信号,而中断控制器部分用于优先级解码和中断分配。

2.8259中断控制器的工作原理8259中断控制器可以管理多个硬件设备的中断请求,同时对中断信号进行优先级判断和派发给CPU进行相应处理。

当一些硬件设备发生中断时,会发送中断请求信号给8259中断控制器,然后8259将根据中断请求的优先级判断是否屏蔽或者响应该中断请求。

3.8259中断控制器的使用方法在使用8259中断控制器时,首先需要设置中断控制器的工作模式和中断请求的优先级,然后对中断控制器的屏蔽和响应进行相应的配置。

使用中断控制器时,还需要对中断服务程序进行适当的编程,以实现中断的处理逻辑。

三、实验步骤1.实验前的准备工作(1)准备实验所需的开发板和8259中断控制器。

(2)将8259中断控制器与相应的硬件设备连接。

(3)准备PC机和开发板的通信线缆。

2.8259中断控制器的设置和初始化(1)通过编程方式将8259中断控制器设置为特定的工作模式。

(2)设置中断请求(IRQ)的优先级。

3.中断服务程序的编写(1)根据需求编写中断服务程序,即中断处理逻辑。

(2)将中断服务程序与8259中断控制器的相应中断请求进行关联。

4.实验结果的观察和分析(1)观察测试硬件设备的输出结果。

(2)分析实验结果,判断是否成功实现中断控制和处理。

实验六 8259中断控制器实验

实验六 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中断控制器实验

实验五、8259中断控制器实验和作业实验题目:8259中断控制器点亮LED灯实验一、实验目的了解8259中断控制器的基本使用,掌握中断程序编程技术。

二、实验内容使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,每按一次单脉冲按键,触发一次中断,通过8255 PC0驱动LED交替亮和灭,硬件连接如题图所示。

基础三题图、8259中断控制器实验连线示意图三、实验提示MIR5是接到PC的主8259A中断控制器的IR5端,因此不需要对8259A初始化(ICW1-ICW4),但要进行设置中断矢量和打开中断等操作;注意:TPC实验平台中采用的是非自动结束,则需要在中断结束前(中断服务程序的最后)发中断结束命令。

另外、写入中断屏蔽字应采用“读—修改—写”过程,如下所述:IN AL,21HAND AL,0DFH软件实现流程图.MODEL SMALL.386CODE SEGMENTASSUME CS:CODESTART: MOV DX,203HMOV AL,90H ;设置8255控制字,OUT DX,ALMOV CL,0CLI ;关386 CPU中断;写入中断屏蔽字OCW1时,采用读取-修改-写入的顺序IN AL,21HAND AL,11011111B ;MASK BYTEOUT 21H,AL;将中断入口地址写入中断向量表PUSH DSMOV BX,0MOV DS,BXLEA AX,CS:INT_PROC ;将中断程序的入口地址给AXMOV BX,5 ;N=IRX 中断IR5MOV SI,30H ;BASE =30H 基址ADD SI,BX;基址+IR5=中断类型号为35HSAL SI,2 ; 中断类型号为35H X 4=中断向量存于SIMOV DS:[SI],AX ;将入口地址AX送到中断向量表中PUSH CSPOP AXMOV DS:[SI+2],AXPOP DSSTI ;开386 CPU中断LLL: JMP LLLINT_PROC PROC FARPUSH AXCMP CL,0JZ SET0MOV DX,203H ;PC0=1MOV AL,01OUT DX,ALMOV CL,0JMP ENDINTSET0: MOV DX,203H ;PC0=0MOV AL,00OUT DX,ALMOV CL,1ENDINT:MOV AL,20HOUT 20H,ALPOP AXSTIIRETINT_PROC ENDPCODE ENDSEND START。

实验六 8259中断控制器实验

实验六 8259中断控制器实验

实验六 8259中断控制器实验实验项目名称:8259中断控制器实验实验项目性质:普通所属课程名称:微机原理与应用实验计划学时:2一、实验目的1、熟悉并且理解中断技术,体验中断技术对于实时的可编程系统的意义。

2、掌握中断技术所涉及的线路连接、初始化、优先级、屏蔽、中断响应、转入中断服务程序、中断结束、反复接收中断的过程与参数设置,尤其是硬件处理与软件处理的交汇点——中断向量表。

3、掌握中断控制各参数的初始化和更新方法。

二、实验内容和要求1、用单脉冲发生器(P0)作中断源,每按一次产生一次中断申请,改变一个发光二极管的亮灭状态。

如果没有中断源,则不产生中断,发光二极管的亮灭状态保持不变。

2、实验原理图三、实验主要仪器设备和材料1、EL实验箱2、计算机3、中断控制板四、实验方法、步骤及结果测试1、将中断控制板插入EL实验箱左上角的40针插座上;2、将单脉冲发生器的输出P0与8259A中断控制板的中断源IR0相连;3、将8259中断控制板的片选信号CS59与CS7相连;4、从CS0~CS7片选信号中选一个信号CS1(04b0h)与输出接口芯片74LS273的片选信号CSU8相连,74LS273的输出信号SO0接一个发光二极管L1;5、编程并调试,在中断服务程序设置断点,按下PUL键、产生单脉冲后,能够观察到发光二极管亮灭控制器的状态翻转,以及相应的发光二极管的亮灭;6、实验源程序(实验程序名T4.ASM)Assume cs:codeCode segment publicOrg 100hStart:Mov dx,3f0h ;8259初始化Mov al,13h ;ICW1设置Out dx,alMov dx,3f2hMov al,80hOut dx,al ;ICW2设置中断类型为80HMov al,03hOut dl,al ;ICW4设置Mov ax,00hOut dx,al ;OCW1设置,允许所有8个中断Mov ax,00h ;设置中断向量表OUT DX,AXMOV AX,00hMov ds,axMov si,200hMov ax,offset hintMov ds:[si],axAdd si,2Mov ds:[si],0100h ;设置中断服务程序入口地址XOR AL,AL ;初始化发光二极管亮灭控制器STI ;IF<-1,开中断Waiting:NOPJMP waiting ;在主程序无限循环Hint: ;中断服务子程序XOR AL,1 ;每响应中断、进入中断服务程序,发光二极管状态翻转一次MOV DX,04B0HOUT DX,ALIRETCode endsEnd start说明:8086的中断系统是向量中断方式,不同类型的中断向量存于不同的位置,其计算方法是:中断类型N*4中断类型的高5位由8259读出,低3位有IR的编码确定,IR0=000IR1=001...IR7=111五、实验报告要求1、试说明本实验中8259A中断控制器各寄存器ICW1、ICW2、ICW4、OCW1的初始化设置含义。

8259中断控制实验

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

星期二1-2节序号:1
实验六8259中断控制(1)
12120771 易远明
一、电路图
二、程序框图
三、实验程序及注释
ASSUME CS:CODE
INTPORT1 EQU 0060H
INTPORT2 EQU 0061H
INTQ3 EQU INTREEUP3
INTCNT DB ?
ORG 1200H
START: CLD
MOV DX,0FF2BH
MOV AL,80H ;设置8255方式字:A口出
OUT DX,AL
CALL WRINTVER ;WRITE INTRRUPT
MOV AL,13H ;ICW1=00010011B,边沿触发、单8259、需ICW4
MOV DX,INTPORT1
OUT DX,AL
MOV AL,08H
MOV DX,INTPORT2
OUT DX,AL
MOV AL,09H ;ICW4=00001001B,非特殊全嵌套方式、缓冲/从、正常EOI
OUT DX,AL
MOV AL,0F7H ;OCW1=11110111B
OUT DX,AL
MOV INTCNT,01H ;延时
STI
WATING: MOV DX,0FF28H ;主程序绿灯亮(低四位为0则绿灯亮,高四位为1故红灯灭)MOV AL,0F0H
OUT DX,AL
JMP WA TING
WRINTVER:
MOV AX,0H
MOV ES,AX
MOV DI,002CH ;中断向量地址2CH=0BH*4
LEA AX,INTQ3
STOSW ;送偏移地址
MOV AX,0000h
STOSW ;送段地址
RET
INTREEUP3:CLI ;中断服务子程序开始
MOV DX,0FF28H ;中断服务子程序执行红灯亮
MOV AL,0FH ;低四位为1则绿灯灭,高四位为0故红灯亮
OUT DX,AL
CALL DELAY1S
MOV AL,20H ;OCW2=001 00 000B非特殊EOI命令,结束命令,用于完全嵌套方式的中断结束
MOV DX,INTPORT1
OUT DX,AL
STI ;开系统中断
IRET
DELAY1S:
MOV CX,0FFFFH
MOV BX,5
L:DEC CX
JNZ L
DEC BX
JNZ L
RET
CODE ENDS
END START
四、实验结果
运行程序后,绿色LED灯点亮,按下AN开关按钮,应当红色LED灯亮,绿色LED 灯灭,过一会儿红灯熄灭了,绿灯又亮了起来。

六、调试过程:
1. 按连线图连接好,检查无误后打开实验箱电源。

2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。

3. 运行程序后,绿色LED灯点亮表面程序运行在主程序。

按下AN开关按钮,应当红色LED灯亮,绿色LED灯灭,表明在执行中断服务程序;过一会儿红灯熄灭了,绿灯又亮了起来,表明中断服务程序已返回了主程序。

4. 如果运行不正常就要检查连线,程序。

排查错误,修改程序,直到运行程序正常。

七、心得体会:
通过本次实验,我对中断的的过程有了更加深入的认识,清楚了8259中断控制的原理。

编程能力也有了一些提高。

相关文档
最新文档