8259中断控制器实验:单中断、优先级与级联

版权申诉
0 下载量 164 浏览量 更新于2024-06-26 收藏 268KB DOCX 举报
"8259中断实验是一个关于学习和实践8259中断控制器的实验,涵盖了单中断请求、双中断优先级和级联中断三个子实验。实验通过连接不同的输入信号KK1+和KK2+来模拟中断请求,并通过8259的中断处理机制来显示不同中断级别。实验中使用的8259是一种中断控制器,常用于管理微处理器的中断系统,它可以处理多个中断源并设定中断优先级。" 在8259中断实验中,主要涉及以下知识点: 1. **8259中断控制器**:8259是一种可编程中断控制器,用于管理和调度微处理器的中断请求。它包含主片和从片,可以级联使用以支持更多的中断源。在实验中,主片8259的中断请求信号MIR6和MIR7,以及从片的SIR1被用于实现不同中断实验。 2. **中断请求信号**:MIR7(Master Interrupt Request 7)和SIR1(Slave Interrupt Request 1)是系统总线上的中断请求信号,它们被用来通知CPU有中断事件发生。在实验中,这些信号与KK1+和KK2+按键相连,模拟中断请求。 3. **中断处理**:8259能够设置中断优先级,例如,在双中断优先级实验中,KK1+触发的中断级别高于KK2+。当两个中断同时发生时,8259会根据预先设定的优先级进行处理。 4. **初始化命令字**:8259的初始化命令字用于配置中断控制器,包括确定中断类型(电平触发或边沿触发)、设置中断向量地址以及设定中断优先级等。 5. **操作命令字**:操作命令字则用于控制8259的运行状态,例如开启或关闭中断、设置特殊嵌套模式以及启用中断自动结束功能。 6. **中断向量**:中断向量是中断处理程序在内存中的地址,8259的初始化命令字1用于设置中断向量的基础地址,每个中断源有自己的向量地址,中断发生时,CPU会跳转到对应的中断处理程序执行。 7. **实验连线**:在实验中,KK1+和KK2+的单脉冲信号分别连接到8259的不同中断输入,通过实验板上的硬件连线实现中断请求的触发和处理。 8. **中断响应**:当CPU检测到中断请求并响应时,会暂停当前执行的任务,保存现场,然后调用中断处理程序。实验中,每次KK1+或KK2+被按下,会在屏幕上显示相应的中断级别,表明中断被正确处理。 通过这个实验,学生可以深入理解中断系统的运作机制,掌握8259中断控制器的配置和使用,以及如何通过硬件连接来模拟中断事件,这对理解和设计更复杂的中断系统有着重要的实践意义。
2023-03-10 上传
实验六 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进行扩展。编写程序对8 259控制器的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用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对82 59内部寄存器的读出命令。 图6-1 8259内部结构和引脚图 图6-2(a) ICW1格式 图6-2(b) ICW2格式 图6-2(c) ICW3格式 图6-2(d) ICW4格式 图6-3 OCW命令字格式 2.8259寄存器及命令的控制访问 在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址 不同的寄存器和命令字。对寄存器和命令的访问控制如表6-1所示。 表6-1 8259寄存器及命令的访问控制 "A0 "D4 "D3 "读信号 "写信号"片选 "操作 " "0 " " "0 "1 "0 "读出ISR,IRR的内容 " "1 " " "0 "1 "0 "读出IMR的内容 " "0 "0 "0 "1 "0 "0 "写入OCW2 " "0 "0 "1 "1 "0 "0 "写入OCW3 " "0 "1 "× "1 "0 "0 "写入ICW1 " "1 "× "× "1 "0 "0 "写入OCW1,ICW2,ICW3,IC" " " " " " " "W4 " 3. PC微机系统中的8259 在80x86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理1 5级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表6- 2示。两片8259A的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A 1H两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式 ,优先级的排列次序为0级最高,依次为1级、8级~15级,然后是3级~7级。 在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。对INTR中断的 初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。 表6-2 PC微机系统中的硬件中断 "中断号 "功能 "中断向量号 "中断向量地址 " "主8259A IRQ0 "日时钟/计数器"08H "0020H~0023H " " "0 " " " "主8259A IRQ1 "键盘 "09H "0024H~0027H " "主8259A IRQ2 "接从片8259A "0AH "0028H~002BH " "主8259A IRQ3 "串行口2 "0BH "002CH~002FH " "主8259A IRQ4 "串行口1 "0CH "0030H~0033H " "主8259A IRQ5 "并行口2 "0DH "0034H~0037H " "主8259A IRQ6 "软盘 "0EH "0038H~003BH " "主8259A IRQ7 "并行口1 "