《8259中断控制器实验》的实验报告.docx

上传人:b****1 文档编号:567875 上传时间:2022-10-11 格式:DOCX 页数:15 大小:229.72KB
下载 相关 举报
《8259中断控制器实验》的实验报告.docx_第1页
第1页 / 共15页
《8259中断控制器实验》的实验报告.docx_第2页
第2页 / 共15页
《8259中断控制器实验》的实验报告.docx_第3页
第3页 / 共15页
《8259中断控制器实验》的实验报告.docx_第4页
第4页 / 共15页
《8259中断控制器实验》的实验报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《8259中断控制器实验》的实验报告.docx

《《8259中断控制器实验》的实验报告.docx》由会员分享,可在线阅读,更多相关《《8259中断控制器实验》的实验报告.docx(15页珍藏版)》请在冰豆网上搜索。

《8259中断控制器实验》的实验报告.docx

《8259中断控制器实验》的实验报告

实验六8259中断控制器实验

实验目的

(1)学习中断控制器8259的工作原理。

(2)掌握可编程控制器8259的应用编程方法。

实验设备

PC微机一台、TD-PIT+实验系统一套。

实验内容

1.单中断应用实验

(1)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的

KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。

(2)编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的

KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示“Hello”,中断5次后

退出。

2•扩展多中断源实验

利用实验平台上8259控制器对扩展系统总线上的中断线INTR进行扩展。

编写程序对

8259控制器的IR0和IR1中断请求进行处理。

实验原理

1.8259控制器的介绍

中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。

它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,

只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。

同时,在不需增加其他电路的情况下,通过多片8259A的级

连,能构成多达64级的矢量中断系统。

它的管理功能包括:

1)记录各级中断源请求,2)

判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU专送中断类型号。

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

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

8259A的编程就

是根据应用需要将初始化命令字ICW1-ICW4和操作命令字0CW1-0CW3别写入初始化命令

寄存器组和操作命令寄存器组。

ICW1-ICW4各命令字格式如图6-2所示,0CW1-0CW各命

令字格式如图6-3所示,其中OCW用于设置中断屏蔽操作字,OCW用于设置优先级循环

方式和中断结束方式的操作命令字,OCW用于设置和撤销特殊屏蔽方式、设置中断查询方

式以及设置对8259内部寄存器的读出命令。

图6-18259内部结构和引脚图

 

爭魁>M9I(P)2-9®

IM

lOdV

o

0

□ataeci£acasc9a£aor

爭魁GMOI(□)2-9®

■fl打

OO.I

【口I

cai

QCFtf

oa

【口

ca

ra

txj

ra

9a

ta

|-

IS

ES

■ts

髓|

CZI

oa

[口

g

KI

ta

su

cv

爭魁乙MOI(q)2-9®

^^9808/9808

1

1

0□

0

rx

t-x

sx

£X

□ctia

la

tn

XI

sa

g

()V

爭魁IMOI(e)2-9®

gQ

ro=ea■Pld

=O-TC

A0

B7

D6

D5

IM

DG

D2

DI

DO

W4

Ml

―1ocm

I

1

1「允许中斷

i漂it中臨

AD

DT

D6

D5

D4

D3DCDI

DO

R

ZL

EM

0

0

|蔭

LI

|Tc―|0CW2

 

oof

TftEQI

中断錯束命會

Dll

特沫珀I

101

滙环优先祝的一殷萸工

目动循环

100

在自动EOT下冒循环忧先权

000

在目动下复位循环优先权

111

循环忧矩枚的特殊EDI命㊁

110

设晝忧先祝

特殊循环

Q1Q

无敢

 

A0

Iff

D&B5D4

E3D2

DlDO

0

託恤EMN0

11卜

RRRIE

]0CW3

1~~r

I

01:

无兔

10:

篁位特脏屏融

11;设意特审坛肝

[1:

i-5t

直询洋查询

Tm:

10:

可读IM

11;

图6-3OCW命令字格式

2.8259寄存器及命令的控制访问

在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻

址不同的寄存器和命令字。

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

表6-18259寄存器及命令的访问控制

A0

D4

D3

读信号

写信号

片选

操作

0

LJO

读^信号

0

写信号

1

0

操作丨

读出ISRIRR的内容

O

1,

0

0

1

1

0

0

读出ISR,IRR的内容・

读出IMR的內容,

0

0

0

1

0

0

写入OCW2

U

0

U

0

1

1

1

U

0

U

0

—J/V\^\Z7vv2Z

写入OCW/3

0

0

0

1

1

V

1

1

0

0

0

0

写丿、、OCVV3写入ICW/1

0—1

-^1—

1

V

V

1

1

0

——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

实验说明及步骤

1.单中断应用实验

本实验要求使用总线上INTR中断请求线完成一次单中断应用实验。

中断处理程序完

成在屏幕上显示字符“9”。

实验前先运行CHECK程序,得到INTR所对应的中断号、相应的初始化命令字寄存器ICW及操作命令字寄存器OCW勺地址、开屏蔽的命令字、中断矢量地址和PCI卡中断控制寄存器INTCSR的地址。

得到这些信息后就可以开始设计实验了。

参考程序流程如图6-5所示。

实验步骤如下。

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

⑵首先运行CHECKS序,查看INTR中断号及相关信息。

(3)参考实验流程图编写程序,然后编译链接。

⑷将单次脉冲单元的KK1琏接到系统总线上的INTR。

⑸运行程序,按动KK1+按键,观察中断是否产生。

2•扩展多中断源实验

利用实验平台上的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|

1

1

愴UFCI.INTUSR|

tttVENTK

中斷覧童1

卒1

II关中晰1

中惭姓泞

*1

V

4I濟P■匕1齟諒左位|

禅换FNIR中Hfr光■:

4

iI-]P€内恋刈发M慚粘朿询兮I

[JTJFettl中浙膚蔽程

4

~v

(屮惭理凹)

丨圧・|■断1

恢0NTR屮脯膳融孑

E

7

D5

M

D3

D2

DlDO

i

r

M[也

0:

S

1

丨厂

T

miwo:

谙威申斷申忧先级掾高的中斷源編码

图6-682590CW3查询命令字格式

本实验要求实现8259控制器IR0、IR1两路中断。

用KK1+和KK2+莫拟两个中断源,

在IR0对应的服务程序中显示字符“0”,在IR1对应的服务程序中显示字符“1”。

实验程

序参考流程如图6-7所示。

参考实验电路如图6-8所示。

实验步骤如下:

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

⑵首先运行CHECKS序,查看INTR中断号及相关信息。

(3)参考实验流程图编写程序,然后编译链接。

(4)参考实验接线图连接实验电路。

运行程序,按动KK1+KK2+按键,观察中断响应是否正常。

「入口】f

「关

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1