微机原理第七章1_第1页
微机原理第七章1_第2页
微机原理第七章1_第3页
微机原理第七章1_第4页
微机原理第七章1_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第一节中断的基本概念一、什么是中断二、中断源和中断优先权三、中断服务程序四、断点和中断现场五、硬件中断和软件中断第二节8088CPU的中断系统一、8088CPU的中断分类二、8088CPU的中断优先权三、8088CPU响应中断的过程四、8088CPU如何获取中断类型号第三节可编程中断控制器8259A一、引言二、8259A的引脚、编程结构和工作过程三、8259A的编程1.设置中断屏蔽字2.发中断结束命令EOI四、8259A在IBMPC/XT系统中的应用五、8259A在Pentium机中的应用第四节中断程序设计一、中断向量的保存、设置和恢复二、软中断程序设计三、可屏蔽硬中断程序设计四、问题讨论1.中断嵌套问题2.中断向量的保存、恢复问题第七章中断技术2听课思考

1、中断类型

3、内部(软)和外部(硬)中断类型号怎样取得?

2、内部(软)和外部(硬)中断执行过程不同点与相同点;

4、CPU在响应中断自动完成哪几件事?5、中断向量如何设置?

6、从外设的中断请求到CPU响应中断,有哪两个控制条件?

7、每次硬中断结束后为什么要发中断结束命令字?软中断需要吗?8、屏蔽字的作用是什么?3第七章中断技术第一节中断的基本概念第二节8088CPU的中断系统第三节可编程中断控制器8259A第四节中断程序设计4第一节中断的基本概念一、什么是中断二、中断源和中断优先权三、中断服务程序四、断点和中断现场五、硬件中断和软件中断5一、什么是中断在CPU正常运行程序时,由于内部或外部某个非预料事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。6中断服务程序1中断服务程序

2非预料事件1CPU执行流程非预料事件

27二、中断源和中断优先权

引起中断的因素很多,将发出中断申请的外设或内部原因,称为中断源给每个中断源指定一个优先权,称为中断优先权当多个中断源同时发出中断请求时,

CPU按照中断优先权的高低顺序,依次响应。8三、中断服务程序

处理中断源,完成其所要求功能的程序,称中断服务程序(中断例行程序、中断子程)。CPU执行流程中断服务程序1中断服务程序2非预料事件2非预料事件19非预料事件是指事件发生的时间无法预知,即中断源何时产生中断不确定,是随机的。但事件的性质及处理方法则是已知的,

确定的,

即中断服务程序是事先编写好的,

只是何时执行未知。中断源产生中断的随机性,使中断服务程序的执行也具有随机性,即何时执行中断服务程序不是在程序中安排好的。10四、断点和中断现场断点:

是指CPU执行的现行程序被中断时的下一条指令的地址,又称断点地址。中断现场:

是指CPU转去执行中断服务程序前的运行状态,包括CPU内部各寄存器、断点地址等。111000:150H

、、、、、、、、、、MOVAX,0ADDAX,DXMOV[DI],AX、、、、、、、、、、

PUSHAX

、、

、、

IRETCPU在执行此指令时,某中断源发申请中断;CPU在执行完该指令后,转去执行中断子程地址1000:150H为断点断点概念:12早期中断概念的引入,是为解决CPU与外设间的速度匹配问题,提高CPU的工作效率。

中断源主要是由外部硬件产生。当今的中断技术,不再限于外部硬件产生中断(称硬件中断或外中断),还可由CPU内部产生(如被零除操作),或者由程序预先安排,即由指令调用中断服务程序。(称软件中断或内中断)五、硬件中断和软件中断131000:150H

、、、、、、、、、、MOVAH,01INT21HCMPAL,0Dh、、、、、、、、、、

PUSHAX

、、、、IRET用指令调用中断程序软件中断用指令调用中断程序14第二节8088CPU的中断系统一、8088CPU的中断分类二、8088CPU的中断优先权三、8088CPU响应中断的过程四、8088CPU如何获取中断类型号15一、8088CPU的中断分类按中断源的不同,中断分为内中断和外中断。1、内中断(软中断)指CPU执行某些特殊操作或由INT指令引起的中断①

被零除操作或OF=1时执行INTO指令引起②使用DEBUG中的单步或断点设置操作引起③执行INTn指令引起16指外部芯片通过CPU的INTR引脚或NMI引脚发出中断申请引起的中断。当INTR上有高电平信号当NMI上有上升沿信号2、外中断(硬中断)8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND最大组态(最小组态)VCCA15A16/S3A17/S4A18/S5A19/S6(HIGH)(SSO)MN/MXRDRQ/GT0(HOLD)RQ/GT1(HLDA)LOCK(WR)S2(IO/M)S1(DT/R)S0(DEN)QS0(ALE)QS1(INTA)TESTREADYRESET17

可屏蔽中断

由INTR引脚引起的中断,称可屏蔽中断。

CPU是否响应INTR引脚上的中断请求取决于IF标志:

IF=1,CPU响应INTR引脚上的中断请求

IF=0,CPU不响应INTR引脚上的中断请求 即当IF=0时,将INTR引脚上的中断申请屏蔽。

非屏蔽中断

由NMI引脚引起的中断,称非屏蔽中断。当NMI引脚上产生上升沿信号,CPU必响应此中断请求,即NMI引脚上的中断请求不受IF标志的控制,

IF不能屏蔽NMI引脚上的中断请求。但在系统通电瞬间或屏蔽寄存器最高位置“0”可屏蔽NMI。将最高位置“1”又可以开放NMI。MOVDX,A0H;A0H~BFH为屏蔽寄存器MOVDX,A0HMOVAL,00H MOVAL,80HOUTDX,AL;屏蔽NMI OUTDX,AL;开放NMI18保留(ALT打印机)中断逻辑INTn指令INTO指令除法错误单步TF=1非屏蔽中断请求IR0IR6IR5IR4IR3IR2IR1IR7可编程中断控制器(PIC)8259AINTn4012CPUINTRNMI08090A0B0C0D0E0F系统定时器键盘保留(打印机)软盘串行通信接口保留(通信)彩色/图形接口8086/8088中断源19当有多个中断源同时产生中断申请时,CPU先响应优先权最高的中断源,再响应优先级较低的中断源。二、8088CPU的中断优先权优先级

内中断(除零,INT指令,断点,INTO指令)

非屏蔽中断可屏蔽中断

低内中断(单步)

20三、8088CPU响应中断的过程当中断源产生中断申请(INTR)后,不论是内中断、非屏蔽中断,还是可屏蔽中断,只要满足响应条件,在执行完当前指令后,响应中断,给出INTACPU内部硬件会自动完成下列响应中断的过程:①

取中断类型号N②

当前PSW的内容入栈③

清IF、TF标志为0④当前CS的内容入栈⑤当前IP的内容入栈⑥

取内存单元(0:N×4)字内容送IP⑦

取内存单元(0:N×4+2)字内容送CS

此时,CPU中的指令地址寄存器CS:IP指向中断程序的入口,在下一个总线周期,开始执行中断程序。保存现场中断服务程序入口地址

21当前指令执行完的含义CPU正在执行一条指令,执行完本条指令,响应中断;

对于带重复前缀的串指令(如REPMOVSB),执行一次重复和串指令即可响应中断;

对MOV和POP指令,处理对象为段寄存器,以及STI和IRET指令执行完本条指令后,再执行一条指令才响应中断。22内存中断向量表0:0~3FFH1000:150h3000:200h0:N×40:N×4+20:0000

、、、、、、

0200h3000h

、、、、、、、、、

MOVAX,0ADDAX,DXMOV[DI],AX、、、、、、、、、、、、

MOVBX,CX、、、、、、

IRET、、、类型N中断子程

某中断源发申请中断,申请执行类型号为N的中断子程响应中断前

SS:SP响应中断后SS:SP

堆栈执行IRET后

(IP)(CS)(PSW)01501000(PSW)SS:SP(IP)=0200h(CS)=3000h0:3FFH0:023从中断子程返回断点处,靠的是执行中断子程最后的指令IRET,从堆栈中取出断点地址给CS:IP,继续执行被中断的程序。故中断子程最后应安排IRET指令。1000:150h3000:200h0:N×40:N×4+20:0000

、、、、、、

0200h3000h

、、、、、、、、、

MOVAX,0ADDAX,DXMOV[DI],AX、、、、、、、、、

MOVBX,CX、、、

IRET、、、响应中断前

SS:SP响应中断后SS:SP

堆栈执行IRET后

(IP)(CS)(PSW)01501000(PSW)SS:SP(IP)=0200h(CS)=3000h24四、8088CPU如何获取中断类型号由前面介绍知,当中断源产生中断请求后,不论是内中断、非屏蔽中断,还是可屏蔽中断,只要满足响应条件,在执行完当前指令后,CPU内部硬件会自动完成响应中断的过程,共七个步骤而第一步就是获取中断类型号。不同的中断源,8088CPU获取中断类型号的方法不同。25根据8088CPU对中断的分类,各中断获取类型号的方法26向量类型

INTACLKAD7~AD0T1T2T3T4第一个中断响应周期T1T2T3T4第二个中断响应周期

中断响应周期时序

CPU从引脚INTA发中断响应信号,接口芯片接收此信号,把中断类型号准备好;同时ISRi=1,IRRi=0。

CPU再从引脚INTA发中断响应信号,接口芯片接此信号后,将中断类型号送至数据总线上;

CPU从数据总线获取中断类型号。27第三节可编程中断控制器8259A

一、引言

二、8259A的引脚、编程结构和工作过程

三、8259A的编程

1.

设置中断屏蔽字

2.

发中断结束命令EOI

四、8259A在IBMPC/XT系统中的应用五、

8259A在Pentium机中的应用28一、引言中断申请管理接口INT中断申请接口1网络接口2硬盘接口3软盘接口4打印机8088CPUINTRIF291.

向CPU的引脚INTR发中断申请信号当有多个外设同时发出中断请求时,能按照一定的优先级顺序,向CPU发出中断申请,使CPU能优先响应优先级最高的外部设备的中断申请。2.

送中断类型号在CPU中断响应周期,针对不同外设的中断请求,向CPU传送不同的中断类型号,使CPU执行相应的中断子程。中断申请管理接口的主要功能:在IBMPC机由8259A可编程中断控制器(PIC)来完成。30二、8259A的引脚、编程结构和工作过程1.

8259A的引脚

2.

8259A的编程结构

3.

8259A的工作过程311.

8259A的引脚

双列直插式芯片,28个引脚

(参看教材图6-37)方波键盘保留串口2

硬盘软盘打印机IOW18.2HzA0CS8259A总线A0数据线IORRDWR片选译码IR0IR1IR2IR3IR4IR5IR6IR7A5~A9D0~D7D0~D7VccSP/ENCA0CA1CA2GND+5V20~3FH用于多片8259A级连情况INTAINTINTAINTR串口1

定时器322.8259A的编程结构(参看教材图6-36)SP/ENCA0CA1CA2IORIOW总线D0~D7数据线D0~D7INTAINTRA0片选译码A5~A9CSA0RD

INTAWRINT

I3I4ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片连接关系

ICW4

方式控制0111A010010100OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级设置、发EOI

01

OCW3特殊屏蔽,查询方式设置处理部分控制部分00000000

ISR当前中断服务寄存器PR优先级裁决器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断申请寄存器00000000

334个初始化命令寄存器

ICW1、ICW2ICW3、ICW4

3个操作命令寄存器

OCW1(IMR)

OCW2、OCW3当前中断服务寄存器ISR中断申请寄存器IRR

8259A内部有9个可读写的寄存器8259A的编程结构

I3I4ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制处理部分控制部分00000000

ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器00000000

中断屏蔽寄存器IMROCW2

10010100

00

01

OCW3OCW18259A中断控制器34(1)初始化命令字(ICW1-ICW4)

决定8259A的工作方式

通常是在计算机系统启动时在初始程序设置,一旦设定,一般在系统工作过程不再改变。例开机后,BIOS将8259A初始化为:①

IR0~IR7中断申请信号为上升沿触发方式;②

IR0~IR7对应的中断类型号分别为08H~0FH;③优先级IR0最高,IR7最低;(2)操作命令字(OCW1,OCW2,OCW3)

在应用程序中设定,动态地控制CPU处理中断的过程(3)ISR和IRR存放当前8259A的状态

通过读取ISR和IRR的内容,可了解当前8259A工作情况35分两步:

(1)处理外设中断申请,决定是否向CPU发中断申请信号。(2)若发中断申请信号,且CPU响应,则在CPU中断响应周期送出中断类型号。3.8259A的工作过程36(1)处理外设中断申请,决定是否向CPU发中断申请信号②

中断屏蔽寄存器IMR决定IRR中的中断申请是否进入优先级裁决器PR。

IMR对应位为

0,允许中断申请进入优先级裁决器,为1,不允许进入,中断申请被IMR屏蔽。①

中断申请寄存器IRR锁存外部的中断申请。

若IR0~IR7引脚上有中断申请,则将IRR相应位置1③

当前中断服务寄存器ISR

记录CPU正在响应的中断。

ISR中的某位为1,表示CPU正在响应此级中断,

ISR中的某位为0,表示CPU没有或已响应完此级中断,

优先级裁决器PR据新进入的中断申请和ISR的内容,

决定是否发中断申请信号。

如果进入的中断申请比ISR中记录的中断优先级高,则通过8259A的INT引脚向CPU发出中断请求信号;如果进入的中断申请不比ISR中记录的中断优先级高,同级或低级,则不向CPU发中断请求信号。37①

中断申请寄存器IRR锁存外部的中断申请。若IR0~IR7引脚上有中断申请,则将IRR相应位置1IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制00000000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器00000000

10010100INTR1138②中断屏蔽寄存器IMR决定IRR中的中断申请是否进入优先级裁决器PR。

IMR对应位为

0,允许中断申请进入优先级裁决器,

为1,不允许进入,中断申请被IMR屏蔽。IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制00000000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器10000001

10010100INTR39③

当前中断服务寄存器ISR

记录CPU正在响应的中断。ISR中的某位为1,表示CPU正在响应此级中断,即正在执行此中断源的中断子程;ISR中的某位为0,表示CPU没有或已响应完此级中断,即不在执行此中断源的中断子程IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制001

00000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器10000001

10010100INTR40④优先级裁决器PR据新进入的中断申请和ISR的内容,

决定是否发中断申请信号。

如果进入的中断申请比ISR中记录的中断优先级高,则通过8259A的INT引脚向CPU发出中断请求信号;如果进入的中断申请不比ISR中记录的中断优先级高,同级或低级,则不向CPU发中断请求信号。IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制001

00000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器10000001

10010100INTR41(2)若发中断申请信号,且CPU响应,则在CPU中断响应周期送出中断类型号

CPU接收到INTR上的中断申请信号后:如果IF标志为0,则CPU不响应此中断申请信号,

即中断申请被IF屏蔽。如果IF标志为1,则处理完当前的指令后,进入中断响应周期通过INTA引脚发出两个负脉冲信号,从数据总线上获取中断类型号,进入中断响应的过程。42向量类型

INTACLKAD7~AD0T1T2T3T4第一个中断响应周期T1T2T3T4第二个中断响应周期

8088CPU中断响应周期时序43①将ISR中相应位置1,表示CPU响应此级中断,执行此中断源的中断子程。8259A在接收到第一个INTA中断响应信号后:001

00000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级裁决器IRR中断申请寄存器10000001

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置10010100IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RDWR

INTAINTD0~D7INTR01②

把IRR中对应的位清0,清除IRR中锁存的中断申请信号。44①

通过数据线,将被响应申请的中断类型号送给CPU。类型号由ICW2提供,在初始化8259A时已设定好。8259A在接收到第二个INTA中断响应信号后:001

00000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR优先级裁决器IRR中断申请寄存器10000001

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置10010100IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RDWR

INTAINTD0~D7INTR01②

CPU获得中断类型号后,进入CPU响应中断的过程,

执行中断子程,处理中断源申请的功能。45①

取中断类型号N②

当前PSW的内容入栈③清IF、TF标志为0④当前CS的内容入栈⑤当前IP的内容入栈⑥

取内存单元(0:N×4)字内容送IP

取中断子程⑦

取内存单元(0:N×4+2)字内容送CS

入口地址此时CS:IP指向中断程序的入口,开始执行中断程序。保存现场CPU响应中断过程:

执行完中断子程中最后一条指令IRET后,返回被中断处,继续执行被中断的程序。46三、8259A的编程1.8259A的编程2.8259A的编程方法

(1)设置中断屏蔽字

(2)发中断结束命令EOI474个初始化命令寄存器

ICW1、ICW2ICW3、ICW4

3个操作命令寄存器

OCW1(IMR)

OCW2、OCW3当前中断服务寄存器ISR中断申请寄存器IRR

8259A内部有9个可读写的寄存器1.8259A的编程

I3I4ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制处理部分控制部分00000000

ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器00000000

中断屏蔽寄存器IMROCW2

10010100

00

01

OCW3OCW18259A中断控制器488259A有两个I/O端口地址A0=0

偶地址端口A0=1

奇地址端口

9个寄存器的读写均通过这两个端口实现写入数据的特征位写入的先后顺序

区分是对哪个寄存器进行操作根据

I3I4ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制处理部分控制部分00000000

ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器00000000

中断屏蔽寄存器OCW2

10010100

00

01

OCW3OCW18259A中断控制器D0~D7A0CSRDWR80111A0100A049(1)通过中断屏蔽寄存器IMR的读写,设置中断屏蔽字(2)

通过OCW2操作命令寄存器,发中断结束EOI命令由于课时所限,只要求掌握如下编程:2.8259A的编程方法8259A有多种工作方式,这些工作方式均可编程选择,使用相当灵活。50通过往寄地址端口写入IMR内容实现对应位为0,允许该级中断申请进入对应位为1,禁止该级中断申请进入(1)设置中断屏蔽字IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制00000000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器10000001

10010100INTR51

新增允许IR2的中断申请

INAL,21H;读入原IMR的内容

ANDAL,11111011B;D2=0,允许IR2的中断申请

OUT21H,AL;写入IMR

禁止IR4的中断申请

INAL,21H;读入原IMR的内容

ORAL,00010000B;D4=1,禁止IR4的中断申请

OUT21H,AL;写入IMR例

已知IBMPC/XT系统中

8259A的奇地址端口地址为21H52设置完成后的结果:IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制00000000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器10000001

10010000INTR53(2)发中断结束命令EOI由8259A的工作过程可知:ISR中的内容是优先级裁决器进行裁决的重要依据

CPU响应某级中断后,8259A自动将ISR的对应位置1,如果CPU已执行完中断子程,而ISR中的对应位仍为1,8259A的优先级裁决器仍会据ISR的内容做裁决,从而会屏蔽同级或低级的中断申请。在中断响应后,对ISR中相应位的清0很重要,它是8259A认为中断结束的标志。54IORIOW总线数据线D0~D7INTAA0片选译码A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中断类型号

ICW3

主从片关系

ICW4

方式控制101

00000

ISR当前中断服务寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中断屏蔽寄存器IMR

00

OCW2

优先级、发EOI

OCW3特殊屏蔽设置PR优先级裁决器IRR中断申请寄存器10000001

10010100INTR55一、初始化8259A时,设置8259A工作方式为自动清0方式,

则在CPU响应中断后,硬件自动将ISR的对应位清0。清ISR内容的方法有两种:二、初始化8259A时,设置8259A工作方式为非自动清0方式,

需在中断子程中,通过软件方式清0。方法是:通过往OCW2写入20H实现,即由偶地址端口写入:

EOI00100000特征位,表示对OCW2操作20H56编程在中断子程IRET返回前,发中断结束命令EOI例

已知IBMPC系统中,8259A的偶地址端口地址为20H;

BIOS初始化8259A时,设置8259A工作方式为非自动清0方式。intsubPROC

、、、、、、、、、

MOVAL,20H;将中断结束命令字20H送AL

OUT20H,AL;写入OCW2中

IRET;中断返回

intsubENDP57四、8259A在IBMPC/XT系统中的应用1.8259A与系统的连线。2.BIOS初始化程序对8259A的设置。581.与系统的连线+5V

CLKRESETREADYMN/MXVCCRDQS0QS1LOCKTESTHIGHNMIGNDGND地址锁存器8282(两片)STB

数据收发器OE8286T

MRDC8288MWTC

总线IORC控制器IOWCINTA8259A及有关电路DT/RDENALE地址总线数据总线控制总线PC总线A15~A8S6~S3/A19~A16AD7~AD08088CPUS0S1S2INTRRQ/GT0RQ/GT1内存I/O接口注意:8259A在连线中的位置59①

8259A的片选地址范围为20~3FH

偶、奇端口地址通常取用20H、21H方波键盘保留串口2

硬盘软盘打印机IOW18.2HzA0CS8259A总线A0数据线IORRDWR片选译码IR0IR1IR2IR3IR4IR5IR6IR7A5~A9D0~D7D0~D7VccSP/ENCA0CA1CA2GND+5V20~3FH用于多片8259A级连情况INTAINTINTAINTR串口1

60IR0接一个频率为18.2Hz的方波;

若CPU对该申请给予响应,

则每秒执行18.2次该申请对应的中断子程。

IR1接键盘接口发出的中断申请;每按下一键,若CPU对该申请给予响应,

则执行一次该申请对应的中断子程。

IR2~IR7通过系统总线引出,

对应引脚信号为IRQ2~IRQ7。18.2Hz时钟信号

②8259A的8个中断申请与外设的连接618088INTR主板IF键盘18.2Hz方波8259AINT中断屏蔽寄存器键盘中断申请IR1IR2~IR7IR0当前中断服务寄存器键盘接口IRQ2~IRQ7PC总线外设接口外设08h09h0Ah~0FhIBMPC/XT微机可屏蔽中断响应过程示意图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论