8259中断控制器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
code end
mov mov out sti iret ends start
al,20h dx,04a0h dx,al
九、思考题
如果源接 IR2 程序应如何编写? assume cs:code code segment public org 100h start: cli mov dx,04a0h mov ax,13h out dx,ax ;ICW1, ICW4 NEEDED mov dx,04a2h mov ax,82h ;改为 82H out dx,ax ;ICW2 中断类型 80h mov ax,01 out dx,ax ;ICW4 mov ax,00h out dx,ax ;OCW1, 开放所有中断 mov ax,0 mov ds,ax mov si,200h ;初始化中断向量表 mov ax,offset hint mov ds:[si],ax add si,2 mov ds:[si],100h mov si,204h ;初始化中断向量表 mov ax,offset hint1 mov ds:[si],ax add si,2 mov ds:[si],100h sti mov bl,0feh waiting: mov al,bl ror bl,1 mov dx,04b0h out dx,al mov cx,0 loop $ jmp waiting
三、实验内容
用脉冲发生器作为中断源,每按一次脉冲发生器的按键即产生一次中断。 在中断服 务程序中,通过 74LS273 输出一个数据,以点亮与中断源相对应位置的 LED。
四、实验原理介绍
8259 中断控制器电路
本实验用到三部分电路:电平开关电路、简单 I/O 口扩展电路和 8259 中断控制器电 路。 电平开关电路、简单 I/O 口扩展电路参看实验一。 8259 中断控制器电路: 如上图所示, 其中: CS8259 是 8259 芯片的片选插孔, IR0~IR7 是 8259 的中断申请输入插孔。DDBUS 是系统 8 位数据总线。INT 插孔是 8259 向 8086CPU 的中断申请线,INTA 是 8086 的中断应答信号。
hint:
li mov bh,0ah mov al,0feh mov dx,04b0h out dx,al mov cx,0 loop $ xor al,01 out dx,al mov cx,0 loop $ xor al,01 dec bh jnz l1 mov al,20h mov dx,04a0h out dx,al sti iret cli mov bh,0ah mov al,0fdh mov dx,04b0h out dx,al mov cx,0 loop $ xor al,02 dec bh jnz l2 mov al,20h mov dx,04a0h out dx,al sti iret ends start
;ICW1, ICW4 NEEDED
;ICW2 中断类型 80h ;ICW4 ;OCW1, 开放所有中断
;初始化中断向量表
waiting:
hint:
l1:
hint1:
l2:
add si,2 mov ds:[si],100h mov si,204h ;初始化中断向量表 mov ax,offset hint1 mov ds:[si],ax add si,2 mov ds:[si],100h sti mov bl,0feh mov al,bl ror bl,1 mov dx,04b0h out dx,al mov cx,0 loop $ jmp waiting cli mov bh,0ah mov al,0feh mov dx,04b0h out dx,al mov cx,0 loop $ xor al,01 out dx,al mov cx,0 loop $ xor al,01 dec bh jnz l1 mov al,20h mov dx,04a0h out dx,al sti iret cli mov bh,0ah mov al,0fdh mov dx,04b0h out dx,al mov cx,0 loop $ xor al,02 dec bh jnz l2
七、实验程序框图 八、参考程序
主程序 开 始 关中断 8259 初始化 开中断 初始化中断向量表 设置一个指示灯 点亮相应指示灯
服务程序 关中断 设置闪烁次数 设置相应指示灯状态 延 时 熄灭相应指示灯 延 时 N
闪烁结束 移位设置的指示灯 开中断 延 时 返 回 程序框图
assume cs:code code segment public org 100h start: cli mov dx,04a0h mov ax,13h out dx,ax mov dx,04a2h mov ax,80h out dx,ax mov ax,01 out dx,ax mov ax,00h out dx,ax mov ax,0 mov ds,ax mov si,200h mov ax,offset hint mov ds:[si],ax
接口技术
专业班级 计算机 1208 实验题目 姓名
实验报告
刘正皓 日 期 学 号 20124729 2014.12
8259 中断控制器实验
实验八:8259 中断控制器实验
一、实验目的
1、掌握 8259A 的工作原理。 2、掌握编写中断服务程序方法。 3、掌握初始化中断向量的方法。
二、实验设备
MUT—Ⅲ型实验箱、8086CPU 模块。
五、实验步骤
1、实验接线 CS0 CS8259 INTINT 2、编译调试程序 3、全速运行程序,按下单脉冲发生器按键,观察LED的亮灭情况。 CS1 CS273 O0~O7LED1~LED8 单脉冲输出 P+IR0 INTA INTA
六、实验提示
1、8259 的使用说明请详细阅读教科书。 2、8086 的中断系统是向量中断方式。内存中特定位置有一中断向量表,表内存有不 同中断类型的中断向量(中断入口地址) 。不同中断类型的中断向量在表内有对应的偏移 地址,其计算方法是:中断类型*4。 3、中断类型由 8259 通过数据总线送给 8086,8086 内部电路会将该类型值自动乘 4, 而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断 服务程序。请仔细研读教材 8259 的工作时序。 4、中断类型的高 5 位由 8259 寄存器 ICW2 决定,低 3 位由中断源 IRx 的编码自动填 入。IR0~IR7 的编码分别为 000,001,010,011,100,101,110,111。