- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
试验六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内部寄存器的读出命令。
图6-18259内部构造和引脚图
图6-2(a)ICW1格式
图6-2(b)ICW2格式
图6-2(c)ICW3格式
图6-2(d)ICW4格式
图6-3OCW命令字格式
2.8259寄存器及命令的控制访问
在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表6-1所示。
表6-18259寄存器及命令的访问控制
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,ICW4
3.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机已经完毕,在使用时主要是将其中断屏蔽打开,修改中断向量。
表6-2PC微机系统中的硬件中断
中断号
功能
中断向量号
中断向量地址
主8259AIRQ0
日时钟/计数器0
08H
0020H~0023H
主8259AIRQ1
键盘
09H
0024H~0027H
主8259AIRQ2
接从片8259A
0AH
0028H~002BH
主8259AIRQ3
串行口2
0BH
002CH~002FH
主8259AIRQ4
串行口1
0CH
0030H~0033H
主8259AIRQ5
并行口2
0DH
0034H~0037H
主8259AIRQ6
软盘
0EH
0038H~003BH
主8259AIRQ7
并行口1
0FH
003CH~003FH
从8259AIRQ8
实时钟
70H
01C0H~01C3H
从8259AIRQ9
保存
71H
01C4H~01C7H
从8259AIRQ10
保存
72H
01C8H~01CBH
从8259AIRQ11
保存
73H
01CCH~01CFH
从8259A
文档评论(0)