8259中断实验报告

合集下载

8259、8253实验报告

8259、8253实验报告

数字逻辑与CPU实验报告实验内容:8259中断控制器、8253可编程定时/计数器接口实验姓名:班级:学号:实验一8259中断控制器实验一、实验目的1、掌握8259的工作原理。

2、掌握编写中断服务程序的方法。

3、掌握初始化中断向量的方法。

二、实验内容用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。

三、实验方法(1)连线1、单脉冲发生器输出P+与8259的IR0相连;2、8259的片选CS8259与CS0相连;3、8259的INT与8086的INT相连;4、CS273与CS1相连;5、00与LED1相连;其他线均已连好。

(2)在8086实验系统软件中编辑程序,编译链接后,调试程序,程序流程图如图2。

(3)调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。

四、程序源代码CODE SEGMENT PUBLICASSUME CS:CODEORG 100H;设置堆栈起点0100HSTART: 图2 程序流程图 MOV DX,4A0HMOV AX,13H ;写ICW1,单片8259,要写ICW4OUT DX,AXMOV DX,4A2HMOV AX,80H ;写入ICW2,设定IR0中断类型吗为80HOUT DX,AXMOV AX,01 ;写入ICW4,设定一般嵌套,非自动EOI方式 OUT DX,AXMOV AX,0 ;写入OCW1,设定允许中断。

OUT DX,AXMOV AX,0MOV DS,AXMOV SI,200H ;中断向量预存放在0100:0200H(向量码80H) MOV AX,OFFSET HINT;取中断服务程序的入口地址MOV DS:[SI],AXADD SI 2MOV AX,CSMOV DS:[SI],AXSTI;开中断JMP $;原地跳转HINT:;中断服务程序XOR CX,0FFH;CX全部取反(8位)MOV DX,4B0H;CS273接口的地址,与8个LED灯相连MOV AX,CX;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的的地址MOV AX,20H;写入OCW2,一般EOI命令,全嵌套方式OUT DX,AXIRET;中断返回CODE ENDSEND START五、实验结果程序调试通过后,当我们按一次单脉冲发生器的输出开关,对应连好的灯就会亮。

实验三中断特性及8259的简单中断应用

实验三中断特性及8259的简单中断应用

实验三中断特性及8259的简单中断应用【实验目的】1.认识微机系统的中断特性。

2.学习8259中断控制器的工作原理。

3.学习8259中断控制器的应用编程。

4.掌握使用PC机内8259的方法5.掌握修改中断向量的方法。

【实验内容】编写一个键盘中断处理程序,每中断一次,显示一个字符串。

用该程序替换系统键盘中断处理程序,使当键盘中断产生10次后,结束应用。

【实验原理】介绍PC微机系统中的8259在80x86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表6-2示。

两片8259A的端口地址为:主片8259使用020H和021H 两个端口;从片使用0A0H和0A1H两个端口。

系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级~15级,然后是3级~7级。

在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。

对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。

表1 PC微机系统中的硬件中断【实验步骤】1、按实验内容要求编写试验程序。

2、编译连接试验程序。

3、运行试验按键盘若干次。

【实验程序】DATA SEGMENTDATA1 DW ?DATA2 DW ?DATA3 DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARMOV AX,DATAMOV DS,AXIN AL,21H ;保留8259 初始屏蔽字的状态MOV DATA3,ALCLI ;关中断AND AL,11111101B ;打开键盘屏蔽OUT 21h,ALMOV AX,0 ;修改键盘中断的中断矢量MOV ES,AXMOV DI,24H ;IRQ1,09H,24H=09H*4 MOV AX,ES:[DI]MOV DATA2,AX ;写入IPMOV AX,OFFSET MYINTCLDSTOSWMOV AX,ES:[DI] ;写入CSMOV DATA1,AXMOV AX,SEG MYINTSTOSWXOR DX,DX ;清计数器AAA: STI ;开中断CMP DX,05H ;是否按了5 次键JZ AA ;是,结束程序运行JMP AAA ;否则继续等待键盘中断AA: PUSH DX ;保存计数值CLI ;关中断MOV AX,0 ;恢复系统中断矢量MOV ES,AXMOV DI,24H ;IRQ1,09HMOV AX,DATA2CLDSTOSWMOV AX,DATA1STOSWMOV AL,DATA3 ;恢复系统8259 屏蔽字OUT 21H,ALSTI ;开中断POP DX ;显示计数值CALL SHWORDMOV AX,4C00HINT 21HRETSTART ENDPMYINT PROC FAR ;自定义键盘中断处理程序STI ;开中断INC DX ;计数加一IN AL,60H ;读入扫描码(用户可对此键值进行处理)IN AL,61H ;读入控制字节MOV AH,ALOR AL,80HOUT 61H,AL ;复位键盘CLI ;关中断MOV AL,61H ;中断结束命令送中断控制器OUT 20H,ALIRET ;中断返回MYINT ENDPSHWORD PROC NEAR ;2→16 进制显示MOV CX,4AGA: MOV CL,4ROL DX,CLMOV AL,DLAND AL,0FHCMP AL,10JC NEXT2ADD AL,7NEXT2: ADD AL,30HMOV AH,0EHINT 10HLOOP AGARETSHWORD ENDPCODE ENDSEND START【实验心得和体会】通过本次实验我认识到了微机系统的中断特性,对8259中断控制器的工作原理进行了认真的学习。

实验报告四 中断系统实验

实验报告四 中断系统实验

信息工程学院实验报告课程名称:微机原理与接口技术Array实验项目名称:中断系统实验实验时间:班级:姓名:学号:一、实验目的1. 掌握8259 中断控制器的工作原理。

2. 掌握系统总线上中断请求的应用编程方法。

二、实验设备PC 微机一台、TD-PITD+实验系统一套。

三、实验原理1. 中断控制器8259 简介中断控制器8259 是Intel 公司专为控制优先级中断而设计开发的芯片。

它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259 进行编程,就可以管理8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。

同时,在不需增加其他电路的情况下,通过多片8259 的级连,能构成多达64 级的矢量中断系统。

它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU 传送中断类型号。

8259 的内部结构和引脚如图4-1 所示。

8259 的命令共有7 个,一类是初始化命令字,另一类是操作命令。

8259 的编程就是根据应用需要将初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分别写入初始化命令寄存器组和操作命令寄存器组。

ICW1-ICW4 各命令字格式如图4-2 所示,OCW1-OCW3各命令字格式如图4-3 所示,其中OCW1 用于设置中断屏蔽操作字,OCW2 用于设置优先级循环方式和中断结束方式的操作命令字,OCW3 用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259 内部寄存器的读出命令。

2.8259 寄存器及命令的控制访问在硬件系统中,8259 仅占用两个外设接口地址,在片选有效的情况下,利用A0 来寻址不同的寄存器和命令字。

对寄存器和命令的访问控制如表4-1 所示。

图 4-1 8259内部结构和引脚图图 4-2 (a) ICW1格式图 4-2 (b) ICW2格式图 4-2 (c) ICW3格式图 4-2 (d) ICW4格式D0=0 :不需要ICW4 D0=1 :需要 ICW4D1=0 :多片级联D1=1 :单片使用 D3=0 :边沿触发图 4-3 OCW 命令字格式表4-1 8259 寄存器及命令的访问控制3.PC 微机系统中的8259在 80x86 系列 PC 微机系统中,系统中包含了两片 8259 中断控制器,通过级连可以管理 15 级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表 4-2 示。

实验一8259单级中断控制器实验

实验一8259单级中断控制器实验

实验一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孔;⑸连JX4→JX17。

2、DJ-8086k软件启动和联机⑴启动和联机。

双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件;⑵新建文件:单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序编辑窗口,此时可在此窗口编辑、输入源程序(注:新建文件扩展名为 .ASM)。

或打开文件F3:单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。

;3、调试程序⑴编译装载F9:打开源文件,依次单击:调试”\“编译装载F9”或工具栏上的编译装载图标,状态栏会提示正在编译、编译成功、正在装载数据、装载数据结束,几秒钟后便会弹出‘源文件调试窗口’,如编译出错,会提示错误信息,待修改源文件正确后,重新编译装载即可;⑵连续运行;单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即全速连续运行程序,系统显示8259-1。

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所示。

实验七 8259A中断实验

实验七  8259A中断实验

实验七8259A中断实验一、实验目的:1、了解8259A中断控制器的工作原理;2、了解8259A中断控制器的接口方法;3、掌握中断处理程序的编写。

二、实验原理:1、8259A是Intel公司专为控制优先级中断而设计的NMOS芯片。

它集中断源优先级排队、中断源识别、中断向量提供和中断屏蔽等功能电路于一体,因而中断系统无需附任何电路,只需对8259A进行编程,就可管理8级优先中断,且中断请求方式和优先级模式等中断结构可通过编程设定或变更,中断入口地址也可由用户任意指定。

图2.1 8259芯片的内部结构图图2.2 8259芯片引脚定义2、对8259A的编程分为两步:初始化编程和工作方式编程。

(1)初始化编程:初始化编程用来建立8259的基本工作条件。

在系统加电和复位后,通过写入初始化命令字ICW1~ICW4来实现对8259的初始化操作,初始化命令字一经确定,以后不再改变。

(2)工作方式编程:工作方式编程用来完成对中断过程的动态控制。

在8259的工作阶段,CPU随时向8259写入工作命令字OCW1~OCW3,以规定或改变8259的工作方式,实现对8259的工作状态、中断方式和中断响应次序等的控制和管理。

工作命令字在初始化后的任何时刻均可写入或改变。

表2.1 IBM-PC中各命令字的地址分配A0命令字ICW1,OCW2,OCW3(20H)1ICW2,ICW3,ICW4,OCW1(21H)3、8259A的初始化编程:(1)8259初始化编程的主要任务有:①复位8259芯片。

②设定中断请求信号INT有效的形式,是高电平有效,还是上升沿有效。

③设定8259工作在单片方式还是多片级联方式。

④设定8259管理的中断类型号的基值,即0级IR0所对应的中断类型号。

⑤设定各中断级的优先次序,IR0最高,IR7最低。

⑥设定一次中断处理结束时的结束方式。

(2)初始化命令字ICW1:ICW1用于规定8259的连接方式(单片或级联)和中断源请求信号的有效形式(电平触发或边沿触发)。

实验二:8259 中断控制器实验

实验二:8259 中断控制器实验

实验二 8259A中断控制器实验1、编制程序:拨动单脉冲开关,“”送给8259A的IR0,触发中断, 8088计数中断次数,显示于G5区的数码管上2、运行程序3、上下拨动单脉冲开关,拨动二次,产生一个“”,观察结果,数码管上显示的次数与拨动开关次数是否对应。

.MODEL TINYEXTRN DISPLAY8:NEARIO8259_0 EQU 0F000HIO8259_1 EQU 0F001H.STACK 100.DATABUFFER DB 8 DUP(?)COUNTER DB ?REDISPLAYFLAG DB 0.CODESTART: MOV AX,@DATAMOV DS,AXMOV ES,AXNOPCALL INIT8259CALL WRIINTVERMOV COUNTER,0MOV REDISPLAYFLAG,1STI ;¿ªÖжÏSTART1: CMP REDISPLAYFLAG,0JZ START1CALL LEDDISPLAYMOV REDISPLAYFLAG,0JMP S TART1INIT8259 PROC NEARMOV DX,IO8259_0MOV AL,13HOUT DX,ALMOV DX,IO8259_1MOV AL,08HOUT DX,ALMOV AL,09HOUT DX,ALMOV AL,0FEHOUT DX,ALRETINIT8259 ENDPWRIINTVER PROC NEARPUSH ESMOV AX,0MOV ES,AXMOV DI,20HLEA AX,INT_0STOSWMOV AX,CSSTOSWPOP E SRETWRIINTVER ENDPLEDDISPLAY PROC NEARMOV AL,COUNTERMOV AH,ALAND AL,0FHMOV BUFFER,ALAND AH,0F0HROR A H,4MOV BUFFER + 1,AHMOV BUFFER + 2,10H ;¸ßÁùλ²»ÐèÒªÏÔʾMOV BUFFER + 3,10HMOV BUFFER + 4,10HMOV BUFFER + 5,10HMOV BUFFER + 6,10HMOV BUFFER + 7,10HLEA SI,BUFFERCALL DISPLAY8RETLEDDISPLAY ENDPINT_0: PUSH DXPUSH AXMOV AL,COUNTERADD AL,1DAAMOV COUNTER,ALMOV REDISPLAYFLAG,1MOV DX,IO8259_0MOV AL,20HOUT DX,AL POP A XPOP D XIRET ENDSTART。

实验六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"。

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

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中断控制器有了更深入的理解,并通过实际操作加深了对中断处理程序的编写和调试的
经验。

这对我今后的学习和工作都具有重要的参考价值。

相关文档
最新文档