中断控制器实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验5 8259单级中断控制器实验
一、实验目的
⒈掌握8259中断控制器的接口方法。
⒉掌握8259单级中断控制器的应用编程。
二、实验内容
利用8259实现对外部中断的响应和处理,要求按键以后使发光二极管按照每次加1的方式进行亮灭。
三、实验接线图
四、编程指南
⑴8259芯片介绍
中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路的情况下,通
过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵本实验中使用3号中断源IR3,
“”插孔和IR3相连,中断方式为全
嵌套、边沿触发、非级联、普通中断结束,中断类型码根据上表分析,每按一次开关触发一次中断请求。此时发光二极管按照加1方式亮灭,延时用软件延时的方式。端口地址见连线图。
五、实验程序框图
IR3中断服务程序:
六、实验步骤
1、按图连好实验线路图。
⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA
;⑶“”插
孔和8259的3号中断IR3
插孔相连,“”端初始为低电平;⑷8259的CS
端接FF80H孔;⑸8255A芯片的PA0-PA7依次和发光二极管L1~L8相连。
2、运行实验程序并观察结果。
CODE SEGMENT
ASSUME CS: CODE START: JMP START0
PA EQU 0FF28H
PB EQU 0FF29H
PC EQU 0FF2AH
CTL EQU 0FF2BH
START0: xor ax,ax
mov es,ax
cld
mov di, 002ch
mov ax, offset int_2
stosw
mov ax, seg int_2
stosw
mov al,13h
mov dx,0ff80h
out dx,al
mov al,08h
mov dx,0ff81h
out dx,al
mov al,01h
out dx,al
mov al, 0f7h
out dx,al
mov al,80h
mov dx,0ff2bh out dx,al
mov al,0ffh
mov dx,0ff28h
out dx,al
mov bl,0
sti
jmp $
int_2: push ax
sti
inc bl
mov al,bl
not al
mov dx,0ff28h
out dx,al
mov al,20h
mov dx, 0ff80h
out dx,al
pop ax
iret
CODE ENDS
END START
七、思考题
1、改为AEOI方式,如何编程。
2、每按一次键LED左移一位,如何编程。