1、实验三 8259 中断控制器实验
一、实验目的
1.掌握8259 中断控制器与微机的接口方法。
2.掌握8259 中断控制器的编程。
二、实验内容
1.硬件线路原理图如图。
2.编程提示
(1) 8259 芯片介绍
8259 是专用控制中断优先级而设计的集成电路,可对中断源的优先级排队、识别、及提供中断矢量。单块8259 可编程实现8 级中断管理,并可选择优先模式及中断请求方式。另外由多片8259 级联,可构成多达64 级的矢量中断系统。
中断序号
0
1
2
3
4
5
6
7
变量地址
20H
24H
28H
2CH
30H
34H
3
2、8H
3CH
23H
27H
2BH
2FH
33H
37H
3BH
3FH
(2) 程序方框图
主程序 IR3 中断服务程序 IR7 中断服务程序
(3)初始化编程:
由CPU向8259A送初始化命令字ICW。在8259A开始正常工作前,必须写初始化命令字使其处于开始状态。
操作命令编程:
由CPU向8259A送操作命令字OCW,可以在8259A初始化后,根据需要在程序的任
3、何地方写入。
用ICW1设置:是否级联?
请求信号的触发方式
后面是否用ICW4
用ICW2设中断类型码
是否为级联方式?
本片为主片吗?
设ICW3各位对应
IR0~IR 7 的连接状况
设ICW3 高5位为0;
低3位为标识码
用ICW4 吗?
用 ICW4 设:为特殊全嵌套方式?
为缓冲方式?
为自动EOI方式?
为8086/8088系统?
END
N
Y
N
N
Y
(4)初始化流程图
4. 硬件连线及实验结果
(1) 8259 的CS6 插
4、孔连线EX1 插孔。
(2) 8259 的INT 插孔连线INTR 插孔。
(3) 8259 的INTA 插孔连线INTA 插孔。
(4) 8259 的IR3 插孔连线 插孔。
(5) D0~7 数据线用扁平电缆连接数据总线。
本实验用 3 号中断源IR3,与 插孔线连,中断方式为边沿触发方式。程序每按一次AN 键产生一次中断,满5次中断,显示“8259 Good”。如果中断触发信号不符号要求,则自动转到7 号中断,显示“Err”,以示出错。
例 IBM PC/XT系统初始化中,设ICW1=13H,表示系统中8259A为单片方式,上升沿触发,要求设置ICW4。指令为:
5、MOV AL,13H
OUT 20H,AL
IC4
SNGL
0
LTIM
1
A5
A6
A7
0
D0
D1
D2
D3
D4
D5
D6
D7
A0
ICW1
的地址
1:需要ICW4
0:不设ICW4
1: 8259A单片方式
0: 8259A级联方式
ICW1 的标志位
8080/8085用
触发方式 1:高电平触发
0:上跳沿触发
中断类型号基值,即IR0的类型号。其中低3位初始时为0,高5位由用户设定。工作过程中,低3位值由IR
6、0~IR7中响应哪级中断(对应000~111)来确定。
在IBM PC/XT系统中,T7~T3=00001,所以对应8个中断的类型号为08H~0FH。端口地址为21H。设置ICW2的指令为: MOV AL,8
OUT 21H,AL
0
0
0
T3
T4
T5
T6
T7
1
D0
D1
D2
D3
D4
D5
D6
D7
A0
中断类型的高5位
8259A 主片格式:
S0
S1
S2
S3
S4
S5
S6
S7
1
D0
D1
D2
7、
D3
D4
D5
D6
D7
A0
0:表示IRi端上未接8259A从片
1:表示IRi端上接有8259A从片
Si=
8259A从片格式:
ID0
ID1
ID2
0
0
0
0
0
1
D0
D1
D2
D3
D4
D5
D6
D7
A0
从片8259A的识别地址
1:8086/8088方式
0: 8080/8085方式
1:中断自动结束
0:非自动结束
1 :特殊全嵌套方式
0:完全嵌套方式
PM
AEOI
M/S
BUF
SFNM
0
0
0
1
D0
D1
D2
D3
D4
D5
D6
D7
A0
非缓冲方式 0 ´
缓冲方式/从片 1 0
缓冲方式/主片 1 1