《8259中断控制器实验》的实验报告Word文档下载推荐.docx
《《8259中断控制器实验》的实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《8259中断控制器实验》的实验报告Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
![《8259中断控制器实验》的实验报告Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/9/a5f1b9dc-c6dd-4d60-a821-2c64a7418e3e/a5f1b9dc-c6dd-4d60-a821-2c64a7418e3e1.gif)
方式和中断结束方式的操作命令字,OCW用于设置和撤销特殊屏蔽方式、设置中断查询方
式以及设置对8259内部寄存器的读出命令。
图6-18259内部结构和引脚图
爭魁>
M9I(P)2-9®
IM
lOdV
o
□
□ataeci£
acasc9a£
aor
爭魁GMOI(□)2-9®
■fl打
OO.I
【口I
cai
QCFtf
oa
【口
ca
ra
txj
9a
ta
|-
IS
ES
■ts
髓|
CZI
[口
g
KI
su
cv
爭魁乙MOI(q)2-9®
^^9808/9808
1
0□
rx
t-x
sx
£
X
□ctia
la
tn
XI
sa
()V
爭魁IMOI(e)2-9®
gQ
ro=ea■Pld
=O-TC
A0
B7
D6
D5
DG
D2
DI
DO
W4
Ml
―1ocm
I
1「允许中斷
i漂it中臨
AD
DT
D4
D3DCDI
R
ZL
EM
|蔭
LI
|Tc―|0CW2
oof
TftEQI
中断錯束命會
Dll
特沫珀I
101
滙环优先祝的一殷萸工
目动循环
100
在自动EOT下冒循环忧先权
000
在目动下复位循环优先权
111
循环忧矩枚的特殊EDI命㊁
110
设晝忧先祝
特殊循环
Q1Q
无敢
Iff
D&
B5D4
E3D2
DlDO
託恤EMN0
11卜
RRRIE
]0CW3
1~~r
01:
无兔
10:
篁位特脏屏融
11;
设意特审坛肝
[1:
不
i-5t
直询洋查询
Tm:
魏
可读IM
11;
图6-3OCW命令字格式
2.8259寄存器及命令的控制访问
在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻
址不同的寄存器和命令字。
对寄存器和命令的访问控制如表6-1所示。
表6-18259寄存器及命令的访问控制
D3
读信号
写信号
片选
操作
LJO
读^信号
操作丨
读出ISRIRR的内容
O
1,
读出ISR,IRR的内容・
读出IMR的內容,
写入OCW2
U
—J/V\^\Z7vv2Z
写入OCW/3
V
写丿、、OCVV3写入ICW/1
0—1
-^1—
1
0
——0——
——0—
1'
J丿入1VV1
写入OCW,1ICW2,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
Ii-yl-1—
0020H〜0023H
主8259AIRQ1
键盘
09H
0024H〜0027H
主8259AIRQ2
1111,
接从片8259A
0AH
0028H〜002BH
主8259AIRQ3
串行口2
0BH
002CH—002FH
主8259AIRQ4
串行口1
0CH
0030H〜0033H
主8259AIRQ5
并行口2
0DH
0034H〜0037H
主8259AIRQ6
丿IIJ£
-
软盘
0EH
111WOf11
0038H〜003BH
主8259AIRQ7
并行口1
0FH
003CH—003FH
从8259aIRQ8
丿11」~11
实时钟
70H
01C0H〜01C3H
从8259AIPQ9
保留
run
71H
u1nu1n
01C4H〜01C7H
从8259AIRQ10
保留保留
72H
01C8H—01CBH
从Q2C9AIRQ11
1小
73H
01CCL〜01CFH
从V8259丿\II{QL从8259AIRQ12
保留
73H
74H
uiCCrruicfh
01D0H〜01D3H
从V8259/\II\Ql2
从8259AIRQ13
协处理器中断
74H
75H
UIDUH^UID3H
01D4H—01D7H
HQOMCAIOC仃
人口l-T丁四1
硬盘控制器
■ZQLI
njnQJ-i—ruu^DLj
从8259AIRQI4—
从8259AIRQ15
'
硬盘控制1器—
保留
—76H—
-0ID8H〜0IDBH—
01DCH-01DFH
实验说明及步骤
本实验要求使用总线上INTR中断请求线完成一次单中断应用实验。
中断处理程序完
成在屏幕上显示字符“9”。
实验前先运行CHECK程序,得到INTR所对应的中断号、相应的初始化命令字寄存器ICW及操作命令字寄存器OCW勺地址、开屏蔽的命令字、中断矢量地址和PCI卡中断控制寄存器INTCSR的地址。
得到这些信息后就可以开始设计实验了。
参考程序流程如图6-5所示。
实验步骤如下。
(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
⑵首先运行CHECKS序,查看INTR中断号及相关信息。
(3)参考实验流程图编写程序,然后编译链接。
⑷将单次脉冲单元的KK1琏接到系统总线上的INTR。
⑸运行程序,按动KK1+按键,观察中断是否产生。
利用实验平台上的8259控制器,可以对总线上的INTR进行扩展。
将8259的INT连
接到INTR,8259的8路中断请求线IR0〜IR7就成了单一INTR中断请求线的扩充。
这8路中断源共用INTR的中断矢量,共用INTR的中断服务线程。
在INTR的中断服务线程中通过对8259OCW3勺查询,以确定是IR0〜IR7中哪个产生中断,然后转到相应的服务线程进行处理。
将8259的OCW中P位置1即可执行查询,查询字格式如图6-6所示。
IX'
PlUr|
愴UFCI.INTUSR|
tttVENTK
中斷覧童1
卒1
II关中晰1
中惭姓泞
*1
4I濟P■匕1齟諒左位|
禅换FNIR中Hfr光■:
4
iI-]P€内恋刈发M慚粘朿询兮I
[JTJFettl中浙膚蔽程
~v
(屮惭理凹)
丨圧・|■断1
恢0NTR屮脯膳融孑
E
7
M
i
r
一
吃
M[也
0:
S
丨厂
T
miwo:
谙威申斷申忧先级掾高的中斷源編码
图6-682590CW3查询命令字格式
本实验要求实现8259控制器IR0、IR1两路中断。
用KK1+和KK2+莫拟两个中断源,
在IR0对应的服务程序中显示字符“0”,在IR1对应的服务程序中显示字符“1”。
实验程
序参考流程如图6-7所示。
参考实验电路如图6-8所示。
实验步骤如下:
(4)参考实验接线图连接实验电路。
运行程序,按动KK1+KK2+按键,观察中断响应是否正常。
「入口】f
「关