大三下-微机米么瑞chapter_第1页
大三下-微机米么瑞chapter_第2页
大三下-微机米么瑞chapter_第3页
大三下-微机米么瑞chapter_第4页
大三下-微机米么瑞chapter_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

20142014第6章20142014第三节可编程中断控制器1.设置中 2.发中断结束命令四、8259A在IBMPC/XT系统中的应用五、8259A在Pentium机中的应用20142014接口接口接口接口管理接口接口接口接口20142014中断申请管理接口的主要功能向CPU的引脚INTR发中断申请信当有多个外设同时发出中断请求能按照一定的优先级顺序,向CPU发出中断申使CPU能优先响应优先级最高的外部设备的中断申在CPU中断响应周期,针对不同外设的中断请求向CPU传送不同的中断类型使CPU执行相应的中断子程在IBMPC机由8259A可编程中断控制器(PIC)20142014二、8259A的引脚、编程结构和工作20142014可编程中断控制器8259A是一种可编程中断控制器,有如下功能 当CPU响应中断时,为CPU提供中断个外部中断的优先级排列方可以通过行指定。也可以通过编程 某些中断请,或者通过码。允许9片8259级联,构成64级中断系统器件用NMOS工艺制造,只需一组+5V电源,因电路是静态的,无需时钟输入在PC/AT系列微机中,使用两片8259级联,构成15级中 双列直插

2014~总~~片

(参 图6-+方波键盘保留串口2串口1用于多级连情20142014D7~D0:数据线。用于与CPU之间传送命令、状态、中断类型读出信号。通知8259把某个内部寄存器的值送数据线D7~D0。写入信号。通知8259把数据线D7~D0上的值写入内部某个寄存器。A0:选择内部寄存器的端口地在标准AT机中,使用两片8259构成主从式中断系主8259的端口地址:从8259的端口地址:INT:把IRQ7~IRQ0上的最高优先级请求传送到CPU的INTR引INTA:接收CPU的中断响应信号。CPU发出的中断响应信号为两个负脉冲。20142014SP/

片2.8259A的编程结处理部

中 寄存

2014总~数据~~片选

0 0 00

0 0 寄存器000

×1 控×1码 ICW2中断类

100110010100OCW1中 寄存器00 00OCW2优先级设置、发

1ICW4方式控1

001OCW3特 ,查询方式设01控制部

20142014中断请求寄存器~的Ii中断服务寄存器Ii中中 寄存器存放中 字,某位=1表示对应的IRi输入中断优先权判别电路

处理

0000000000

20148259A内部有94个初始化命令寄存

寄存器

00000000ICW1、ICW3、

控 3个操作命令寄存OCW2、当前中断服务寄存器中断申请寄存器

1×I3ICW2中断类型号ICW3主从片关系ICW4方式控制

10中

101000000101控制部2014初始化命令字(ICW12014决定8259A的工作方 开机后,BIOS将8259A初始化为①IR0~IR7②IR0~IR7对应的中断类型号分别为③优先级IR0最高IR7ISR和IRR存放当前8259A的状通 ISR和IRR的内容,可了解当前8259A工作情201420148259A的控制命令分初始化命令字向8259A写入ICW的过程称为初始化操作命令字向8259A写入OCW的过程称为操作方式20142014需要CS#、A0、RD#、WR#和D4、D3的配内部寄存器 方法如下表000010001写01x1xx00101xx读出20142014NYNY写NYNY写写写写20142014初始化8259A必须从ICW1开写ICW1意味着重新初始化写入ICW1后,8259A的状态如下清除ISR和IMR(全将中断优先级设成初始状态:IR0最高,IR7最低设定为一 方式采用非自动中断结束方式状态读出逻辑预置为读IRR2014ICW1——初始化 D6 ICW10 2014ICW1——初始化地址 特征0xxx1LTIM: =1 =0SNGL: =1 =0IC4:ICW4 =1要写 ICW2——中断向量2014 A15/T7A14/T6A13/T5A12/T4A11/T31xxxT7~T3:中断向量码的高5T2~T0:最低3位为中断源的序号000~111分别对应由8259A根据中断源的序号自动填例如20142014ICW3——ICW3用于级联工作方式。对于级联工作方式下要分别对主片、从片进行初化。对于主片、从片ICW3命令字分别为1主片的级联控制Si=1对应IRi线上连接了从100000从片的级联控制ID2~ID0标识码,说明本从片连接到主片的哪个IR引脚上。000~111应IR0~IR720142014ICW3——级连控制字(续ICW3必须与主从片的连接关系一例如,主片的INC=10,。C送出被允许中断CW3C2014201410001SFNM特殊全嵌1特殊全嵌套方0一般全嵌套方AEOI自动1自动EOI方0非自动EOI

BUF:缓冲方M/S主/从缓冲BUF 缓冲方式/主 缓冲方式/从 非缓冲方式/201420148259A的操作命令字OCW用于设置8259的工作状在初始化后OCW的写入顺序写入地址要OCW1必须写入奇地址端口OCW2,OCW3必须写入偶地址端口20142014OCW1——中 1Mi=1中断请求线IRi (不允许中断=0允许该IRi中OCW1将写入IMRA0=1时读OCW1可读出设置的IMR内容201420140R0R00R:优先级自动循环:R=1,使用循环优先级;R=0,固定优SL:指定优先级:SL1,指定优先级L2~L0SL0L2~L0EOI:结束中断命令:EOI=1,设置中断结束命 SL001非指定EOI命令(NSEOI),全嵌套方011指定EOI命令(SEOI),全嵌套方式,按L2-L0编码复位101NSEOI命令,优先级自动循100自动EOI,设置优先级自动000自动EOI,取消优先级自动循环(固定优先级111SEOI命令,按L2-L0编码循环优先级(L2-L0设为最低优先级110按L2-L0编码循环优先级(L2-L0设为最低优先级2014201489在上电初始之后,如未设定其它方式,则59自动▲中断请求优先级顺序是IR0~IR7,其中IR0IR7优先权最▲服务寄存器IS中得到响应的那一位被置“1”,且保持到中断服务程序在返回前发出的中断结束命令O殊的EOI命令为 其中,PORT为8259A的端口地址20142014利用非特殊EIS高的置“位。 方式和读出控000001P方RR选方RR选ESMM

11读11读10读0x

2014

P(Polling):=1查询方=0非查询方20142014OCW3(续查询方式允许8259A不工作于中断方式,而是以查询方式工CPU先写一个D2=1的OCW3,再对同一地址读入,即可得到如下状态节 I=1表示有中断请求,中断请求号为R2-此查询步骤可反复执行,以响应多个同时发生的中断20148259A编程 20148259A编程C化 ADI 接口地址为20H和中断为上升发;单片8259AICW4与IR0-IR3对应的中断向量码为08H- R4-

根据要求,各初始化参数及工作参数如ICW1 =ICW2=OCW1 =

中断向中 201420148259A编程举例(续初始化程序如;A0=0,写;上升沿触发,单片,不写;A0=1,写;OCW1:IR4-2014201420HMOV OUT ;I/OMOV OUTMOV OUTMOV OUT20142014例:使主8259的 ,程序为OCW1AEQU21H;主8259OCW1 AL,OCW1A;读出 B 20142014例:读OCW3EQUIRREQUISREQUOUTIN20142014例:读OCW3EQUIRREQUISREQUMOVOUTIN

;读出命令,P=0,RR=1,RIS=0,选;在AL中读得IRR201420148259A分两步(1)处理外设中断申请,决定是否向CPU发中断申请信号(2)若发中断申请信号,且CPU响应则在CPU20142014IR0~IR7引脚上有中断申请,则将IRR相应位置②中 是否进入优先级裁决器PRIMR对应位为0,允许中断申请进入为1,不允许进入,中断申请被 ③当前中断服务寄存器ISR记录CPU正在响应的中ISR中的某位为1,表示CPU正在响应此级中ISR中的某位为0,表示CPU没有或已响应完此优先级裁决器PR据新进入的中断申请和ISR的内容决定是否发中断申请如果进入的中断申请比ISR中记录的中断优先级则通过8259AINT引脚向CPU发出中断请求如果进入的中断申请不比ISR中记录的中断优先级同级或低级,则不向CPU发中断请求信20142014总 片 选1000010000001

00000000000000

10

1010

ICW2中断类型ICW4方式控ICW3ICW4方式控

OCW1中 寄存器 OCW2优先级、发

OCW3特 设②中 是否进入优先级裁决器PR

2014IMR对应位为0,允许中断申请进入优先级裁决器为1,不允许进入,中断申请被 总~~

数据 ~片选 控码W2W2中类号ICW4方式控ICW4方式控W3主片系

000000000000000

100100000010010100100OCW1中断 OCW2优先级、发EOI0010100100OCW3OCW3特 设

③当前中断服务寄存器ISR记录CPU正在响应的ISR中的某位为1,表示CPU正在响应此级中即正在执行此中断源ISR中的某位为0,表示CPU没有或已响应完此级中断即不在执行此中断源

2014总~~

数据 ~片选 控码W2W2中类号ICW4方式控ICW4方式控W3主片系

001000000100000

100100000011001010010010100OCW1中 寄存器0000OCW3OCW3特 设

2014④优先级裁决器PR据新进入的中断申请和ISR的内2014决定是否发中断申请如果进入的中断申请比ISR中记录的中断优先级高则通过8259AINT引脚向CPU发出中断请求信号总~~

数据 片选 控码W2W2中类号ICW4方式控ICW4方式控W3主片系

00100000100000

10100000010010100100OCW1中断 OCW2优先级、发EOI0010100100OCW3OCW3特 设

20142014CPU接收到INTR上的中断申请信号l如果IF标志为0,则CPU不响应此中断申请信号, lIF标志为1则处理完当前的指令后进入中断响应周通过INTA引脚发出两个负脉冲信从数据总线上获取中断类进入中断响应的过20148088CPU中断响应周2014第一第一第二向量类20142014①将ISR中相应位置CPUIRR中对应的位清0,清除IRR总 片

10100010100000

中断0

W2中类W2中类号

1001010

W3W3主片系

方式控

OCW1中 寄存器0000OCW3特殊 8259A在接收到第二个INTA中断响应信号通过数据线,将被响应申请的中断类型号送给CPU。②CPU获得中断类型号后,进入CPU响应中断的过程

2014总 片

101000010100000

中断0

W2中类W2中类号

1001010

W3W3主片系

方式控

OCW1中 寄存器0000OCW3特 设CPU响应中断过取中断类型号当前PSW清IF、TF标志为当前IP

20142014⑥取内存单元(0N4)字内容送⑦取内存单元(0N4+2字内容送

此时CS:IP指向中断程序 2014三、2014设置中

处理

0000000000

20148259A内部有9

0000000000

1×I3

10

1010

ICW2中断类型号中

ICW3主从片

00000101ICW4方式控

控制部

2014000000008259A有00000000

处理部

00000000000A0=0偶地址端A0=1奇地址端对9个寄存器的

均通过这两个端口实

A0 写入数据的特征1×1×

ICW2中断类型 中

101001010000写入的先后顺 00 区分是对哪个寄进行操

ICW3主从片

10 10ICW4方式控

1

控制20142.8259A的编程20148259A有多种工作方式这些工作方式均可编程选使用相当灵尤其要求掌握如下(1)通过中 寄存器IMR的读写,设置中 (2)通过OCW2操作命令寄存器,发中断结束EOI命设置中 10000001对10000001

2014总 片 选 控 控

000000000000000

寄存0010100寄存00101001

ICW2中断类ICW3主从片ICW4ICW4

OCW1中0000OCW3OCW3特 设2014例已知IBMPC/XT系统中2014l新增允许IR2 AL, 21H,AL

;D2=0,允许IR2的中断申 IR4 AL, ;读入原IMR的内 AL,0001 21H, 2014201410000001总 片 选 控 控

000000000000000

寄存0000100寄存00001001

ICW2中断类ICW3主从片ICW4ICW4

OCW1中0000OCW3OCW3特 设20142014由8259A的工作过程可知ISRCU响应某级中断后,859A自动将IR的对应位置1,如果CU已R 在中断响应后,对ISR中相应位的清0它是8259A认为中20142014总~

数据 片选 控 控W2W2中类号W3W3主片系ICW4ICW4方式控

10100010100000

100100000010010100100OCW1中断 OCW2优先级、发EOI0010100100OCW3OCW3特 设

2014ISR2014一、初始化8259A时,设置8259A工作方式为自动清0方式则在CPU响应中断后,硬件自动将ISR的对应位清0二、初始化8259A时,设置8259A工作方式为非自动清0方式需在中断子程中,通过软件方式清0方法是:通过往OCW2写入20H实现,即由偶地址端口写00100100000

0R00 已知IBMPC系统中,8259A的偶地址端口地址为

2014BIOS初始化8259A时,设置8259A工作方式为非自动清0IRET返回前,发中断结束命令EOIintsubPROC、、、、、、MOVAL,20HOUT20H,ALintsub

;写入OCW22014四、8259A在IBMPC/XT系统中20141.8259A与系统的连线2.BIOS初始化程序对8259A的设置

2014注意:8259A在连线中的CLKAD7~AD0CLKAD7~AD0内存地址锁存8282(两片

数据收 T 总 控制器

数据接接控制总

温馨提示

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

评论

0/150

提交评论