第6章输入输出技术_第1页
第6章输入输出技术_第2页
第6章输入输出技术_第3页
第6章输入输出技术_第4页
第6章输入输出技术_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 输入输出技术 2第6章 基本输入输出接口v教学重点教学重点 I/O接口电路的典型结构接口电路的典型结构 无条件传送方式无条件传送方式 查询传送方式查询传送方式 中断工作过程中断工作过程36.1 输入输出的基本方法输入输出的基本方法6.1.1 输入输出接口的概念及基本结构输入输出接口的概念及基本结构v为什么需要为什么需要I/O接口(电路)?接口(电路)?u微机的外部设备多种多样微机的外部设备多种多样u工作原理、驱动方式、信息格式、以及工作工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大速度方面彼此差别很大u它们不能与它们不能与CPU直接相连直接相连u必须经过中间电路再与系统相连

2、必须经过中间电路再与系统相连u这部分电路被称为这部分电路被称为I/O接口电路接口电路1. 接口电接口电路路46.1.1 输入输入/输出接口概述输出接口概述(续(续1)u什么是什么是I/O接口(电路)?接口(电路)?vI/O接口是位于系统与外设间、用来协助接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路完成数据传送和控制任务的逻辑电路vPC机系统板的可编程接口芯片、机系统板的可编程接口芯片、I/O总总线槽的电路板(适配器)都是接口电路线槽的电路板(适配器)都是接口电路56.1.1 输入输入/输出接口概述输出接口概述(续(续2)u什么是微机接口技术?什么是微机接口技术?v处理微机系

3、统与外设间联系的技术处理微机系统与外设间联系的技术v注意其软硬结合的特点注意其软硬结合的特点v根据应用系统的需要,使用和构造相应根据应用系统的需要,使用和构造相应的接口电路,编制配套的接口程序,支的接口电路,编制配套的接口程序,支持和连接有关的设备持和连接有关的设备62. 接口电路分类接口电路分类v 按接口电路的通用性按接口电路的通用性v 按数据传送格式按数据传送格式v 按接口是否可编程按接口是否可编程v 按时序控制方式按时序控制方式 专用接口 通用接口 并行接口 串行接口 可编程接口 不可编程接口 同步接口 异步接口 73. 接口的基本功能接口的基本功能 对输入输出数据进行缓冲和锁存对输入输

4、出数据进行缓冲和锁存输出接口有输出接口有锁存环节锁存环节输入接口有输入接口有缓冲环节缓冲环节 对信号的形式和数据的格式进行变换对信号的形式和数据的格式进行变换微机直接处理:微机直接处理:数字量数字量、开关量开关量、脉冲量脉冲量 对对I/O端口进行寻址端口进行寻址 与与CPU和和I/O设备进行联络设备进行联络 中断管理中断管理/DMA控制功能控制功能84. 接口电路的基本结构接口电路的基本结构控制总线控制总线CB地址总线地址总线ABI/O接口电路接口电路数据数据控制控制状态状态数据总线数据总线DBCPU外设外设控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器96.1.2 外设接口的编

5、址方式外设接口的编址方式接口电路占用的接口电路占用的I/O端口有两类编排形式端口有两类编排形式vI/O端口单独编址端口单独编址I/O地址空间地址空间独立独立于存储地址空间于存储地址空间如如8086/8088vI/O端口与存储器统一编址端口与存储器统一编址它们它们共享共享一个地址空间一个地址空间如如M6800、51单片机单片机101. I/O端口与存储器统一编址端口与存储器统一编址v优点:优点:不需要专门的不需要专门的I/O指令指令I/O数据存取与存储器数据数据存取与存储器数据存取一样灵活存取一样灵活v缺点:缺点:I/O端口要占去部分存储器端口要占去部分存储器地址空间地址空间程序不易阅读(不易分

6、清访程序不易阅读(不易分清访问存储器还是访问外设)问存储器还是访问外设)内存内存部分部分I/O部分部分存存储储空空间间00000HFFFFFH112. I/O端口单独编址端口单独编址v优点:优点:I/O端口的地址空间独立端口的地址空间独立控制和地址译码电路相对简控制和地址译码电路相对简单单专门的专门的I/O指令使程序清晰易指令使程序清晰易读读v缺点:缺点:I/O指令没有存储器指令丰富指令没有存储器指令丰富内存内存空间空间I/O空间空间FFFFF0FFFF080 x86采用采用I/O端口独立编址端口独立编址12补充补充: 8088/8086的输入输出指令的输入输出指令v输入指令输入指令IN AL

7、,i8/DX;字节输入字节输入IN AX,i8/DX;字输入字输入v输出指令输出指令OUT i8/DX,AL;字节输出字节输出OUT i8/DX;字输出字输出136.1.3 输入输出的基本方法输入输出的基本方法v1. 程序控制方式程序控制方式v2. 中断控制方式中断控制方式v3. 直接存储器存取控制方式直接存储器存取控制方式v4. 通道方式通道方式v5. 外围处理方式外围处理方式14数据传送方式数据传送方式v程序控制下的数据传送程序控制下的数据传送通过通过CPU执行程序执行程序中的中的I/O指令来完成传送,又分为:指令来完成传送,又分为: 无条件传送无条件传送 查询传送查询传送 中断传送中断传

8、送v直接存储器存取直接存储器存取(DMA)传送请求由外设传送请求由外设向向DMA控制器(控制器(DMAC)提出,后者向)提出,后者向CPU申请总线,最后申请总线,最后DMAC利用系统总线来完成外利用系统总线来完成外设和存储器间的数据传送设和存储器间的数据传送vI/O处理机处理机CPU委托专门的委托专门的I/O处理机来管处理机来管理外设,完成传送和相应的数据处理理外设,完成传送和相应的数据处理151. 无条件传送方式及其接口无条件传送方式及其接口v在在CPU与慢速变化的设备交换数据时,可以认为它与慢速变化的设备交换数据时,可以认为它们总是处于们总是处于“就绪就绪”状态,随时可以进行数据传送,状态

9、,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送这就是无条件传送,或称立即传送、同步传送v适合于简单设备,如适合于简单设备,如LED 数码管、按键数码管、按键/按纽等按纽等v无条件传送的接口和操作均十分简单无条件传送的接口和操作均十分简单v这种传送有前提:外设必须随时处于就绪状态这种传送有前提:外设必须随时处于就绪状态6.2. 程序控制方式程序控制方式16无条件传送:输入示例无条件传送:输入示例IOR三三态态缓缓冲冲器器OEI/O装装置置地地址址译译码码器器CSD7D0A15A1A00160HMOV DX, 160HIN AL, DX17无条件传送:输入实例无条件传送:输入实例

10、MOV DX, 160HIN AL, DX74LS244+5V10K x 8G1 G2数据总线数据总线CSRD18无条件传送:输出示例无条件传送:输出示例地地址址译译码码器器数数据据锁锁存存器器A15A0A14-IOWCS0160H输输出出设设备备D7D0MOV DX, 160HMOV AL, BXOUT DX, AL19无条件传送:输出实例无条件传送:输出实例MOV DX, 160HMOV AL, BXOUT DX, AL+5V74LS373300 x 8LE OE数据总线数据总线CSWR20K7K1K0+5VLED0无条件传送:输入输出接口无条件传送:输入输出接口+5VD0D7A0A15C

11、LKLS06反相反相驱动器驱动器LS2738D锁存器锁存器LS244三态三态缓冲器缓冲器8000H译码译码LED7-G-IOW-IOR21无条件传送:输入输出接口无条件传送:输入输出接口next:mov dx,8000h;DX指向数据端口指向数据端口in al, dx;从输入端口读开关状态从输入端口读开关状态not al;反相反相out dx, al;送输出端口显示送输出端口显示call delay;调子程序延时调子程序延时jmp next;重复重复222. 查询传送方式及其接口查询传送方式及其接口vCPU先先了解了解(查询)(查询)外设外设的工作的工作状态状态,在,在外设外设就绪就绪(可以交

12、换信息的情况下)实现(可以交换信息的情况下)实现数据的输入或输出数据的输入或输出v对多个外设的情况,则对多个外设的情况,则CPU按一定顺序依按一定顺序依次查询(次查询(轮询轮询)。先查询的外设将优先进)。先查询的外设将优先进行数据交换行数据交换v查询传送的特点是:工作可靠,适用面宽,查询传送的特点是:工作可靠,适用面宽,但传送效率低但传送效率低23查询传送的两个环节查询传送的两个环节v查询环节查询环节寻址状态口寻址状态口读取状态寄存器的标志位读取状态寄存器的标志位若不就绪就继续查询,直至就绪若不就绪就继续查询,直至就绪v传送环节传送环节寻址数据口寻址数据口是输入,通过输入指令从数据口读入数据是

13、输入,通过输入指令从数据口读入数据是输出,通过输出指令向数据口输出数据是输出,通过输出指令向数据口输出数据输入状态输入状态就绪?就绪?数据交换数据交换YN241位位三态三态缓冲器缓冲器查询输入接口查询输入接口-IOR+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器译码译码 A0A158000H8001HD0D7D0输入输入设备设备-IOR-STBRQDD0 =0,重复读取状态重复读取状态D0 =1,开始读取数据开始读取数据25查询输入接口查询输入接口 mov dx,8000h;DX指向状态端口指向状态端口status: in al,dx ;读状态端口读状态端口 test al,01h ;测试标

14、志位测试标志位D0 jz status ;D00,未就绪,继续查询,未就绪,继续查询 inc dx ;D01,就绪,就绪,DX指向数据端口指向数据端口in al,dx ;从数据端口输入数据从数据端口输入数据26查询输出接口查询输出接口8D锁存器锁存器译码译码1位位三态三态缓冲器缓冲器RQ A0A158000H8001HD0D7D7D+5V-ACK-IOW-IOR输出输出设备设备D7 =1,继续读状态,继续读状态D7 =0,开始写数据,开始写数据27查询输出接口mov dx,8000h ;DX指向状态端口指向状态端口status: in al,dx;读取状态端口的状态数据读取状态端口的状态数据t

15、est al,80h;测试标志位测试标志位D7jnz status;D71,未就绪,继续查询,未就绪,继续查询inc dx;D70,就绪,就绪,DX指向数据端口指向数据端口mov al,buf;变量变量buf送送ALout dx,al;将数据输出给数据端口将数据输出给数据端口286.3 中断传送方式中断传送方式程序程序断点断点主程序主程序中断请求中断请求为为外外设设继继续续执执行行返回断点返回断点vCPU在执行程序在执行程序中,被内部或外中,被内部或外部的事件所打断,部的事件所打断,转去执行一段预转去执行一段预先安排好的中断先安排好的中断服务程序;服务程序;v服务结束后,又服务结束后,又返回原

16、来的断点,返回原来的断点,继续执行原来的继续执行原来的程序程序提提供供服服务务中断服务程序中断服务程序入口入口6.3.1 中断的基本概念中断的基本概念1. 中断的概念中断的概念29 2. 中断控制方式中断控制方式v中断传送是一种效率更高的程序传送方式中断传送是一种效率更高的程序传送方式v进行传送的进行传送的中断服务程序是预先设计好的中断服务程序是预先设计好的v中断请求是外设随机向中断请求是外设随机向CPU提出的提出的vCPU对请求的检测是有规律的对请求的检测是有规律的:一般是在每:一般是在每条指令的最后一个时钟周期采样中断请求输条指令的最后一个时钟周期采样中断请求输入引脚入引脚v本书主要论述中

17、断在输入和输出方面的应用本书主要论述中断在输入和输出方面的应用v中断还有着非常广泛的应用中断还有着非常广泛的应用303. 中断源中断源v能够引发中断的事件被称为能够引发中断的事件被称为中断源中断源。通常,中断源。通常,中断源有两类:有两类:内部中断源内部中断源和和外部中断源外部中断源。v由处理机内部产生的中断事件称为由处理机内部产生的中断事件称为内部中断源内部中断源。常。常见的内部中断源有计算溢出、指令的单步运行、执见的内部中断源有计算溢出、指令的单步运行、执行特定的中断指令等。行特定的中断指令等。v由处理机之外的外围设备产生的中断事件由处理机之外的外围设备产生的中断事件称为外部称为外部中断源

18、中断源。常见的外部中断源有外设的输入。常见的外部中断源有外设的输入/输出请求、输出请求、定时时间到、电源掉电、设备故障等。定时时间到、电源掉电、设备故障等。 31三态三态缓冲器缓冲器中断传送与接口中断传送与接口(续)(续)+5V8D锁存器锁存器8位位三态三态缓冲器缓冲器RQ 译码译码8001H中断向量号中断向量号D0D7INTRD输入输入设备设备中断允许中断允许触发器触发器A0A15中断请求中断请求触发器触发器-IOR-INTA-STB该中断向量号是提该中断向量号是提前就确定,放在某前就确定,放在某个地方的个地方的根据中断向量号,根据中断向量号,转到中断服务程序,转到中断服务程序,开始读数据开

19、始读数据324. 中断处理过程中断处理过程v中断请求中断请求(外设)(外设)v中断响应(中断响应(CPU)v关中断(关中断(CPU)v断点保护(断点保护(CPU)v中断识别中断识别(硬件硬件/软件软件)v现场保护现场保护(用户)(用户)v中断服务中断服务(用户)(用户)v恢复现场恢复现场(用户)(用户)v开中断(开中断(CPU/用户)用户)v中断返回(用户中断返回(用户)中断服务是进行数据交中断服务是进行数据交换的实质性环节换的实质性环节335. 中断系统的功能中断系统的功能 v 能进入中断和退出中断,即完成上能进入中断和退出中断,即完成上述中断响应和中断返回的过程述中断响应和中断返回的过程.

20、v 能对某些中断进行屏蔽,并在必要能对某些中断进行屏蔽,并在必要时开放时开放.v 能进行优先权排队能进行优先权排队.v 提供中断嵌套能力提供中断嵌套能力. 346.3.2 8086中断系统中断系统v8086的中断系统采用的中断系统采用向量中断向量中断机制机制v一共可处理一共可处理256个中断个中断v采用中断向量编号采用中断向量编号0255,对,对256个中断加以个中断加以区别区别v可屏蔽中断需借助专用的中断控制器可屏蔽中断需借助专用的中断控制器 Intel 8259A对系统中的可屏蔽中断资源进行管理:对系统中的可屏蔽中断资源进行管理:扩充系统的可屏蔽中断资源,并管理它们:扩充系统的可屏蔽中断资

21、源,并管理它们:实现中断优先权比较实现中断优先权比较实现中断源的识别实现中断源的识别351. 8086中断类型中断类型v硬件中断硬件中断 软件中断软件中断 硬件中断硬件中断 硬件中断,又称硬件中断,又称外部中断外部中断,它是由处理器,它是由处理器外部的硬件、外围设备的请求而引起的中断。外部的硬件、外围设备的请求而引起的中断。8086有两条硬件中断请求信号线:有两条硬件中断请求信号线:NMI(非屏(非屏蔽中断)和蔽中断)和INTR(可屏蔽中断)。(可屏蔽中断)。368088的中断类型的中断类型中断逻辑中断逻辑INTO指令指令单步单步中断中断除法除法错误错误INT N指令指令CPUNMI8259A

22、中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 -INTA可屏蔽中断申请可屏蔽中断申请 INTR不可屏蔽中断申请不可屏蔽中断申请可屏蔽中断源可屏蔽中断源不可屏蔽中断源不可屏蔽中断源内部中断内部中断37 软件中断软件中断(内部中断内部中断)v内部中断内部中断内部机制产生内部机制产生除法错中断除法错中断(0号)号)除运算除运算结果溢出时产生结果溢出时产生指令中断指令中断(n号)号)执行执行int n指令后产生(操作码指令后产生(操作码CDH)断点中断断点中断(3号)号)执行执行int 3指令(单字节指令操作码指令(单字节指令操作码CCH )用于在调试中设置

23、断点,程序遇断点则中断用于在调试中设置断点,程序遇断点则中断溢出中断溢出中断(4号)号)执行执行into指令,且前面运算有指令,且前面运算有溢出溢出(OF=1)时产生)时产生单步中断单步中断(1号)号)TF标志置标志置1后,每执行一条子指令将发后,每执行一条子指令将发生一次生一次v外部中断外部中断外部引脚触发外部引脚触发可屏蔽中断可屏蔽中断(外设提供向量号)(外设提供向量号)触发触发INTR引脚产生引脚产生非屏蔽中断非屏蔽中断(2号)号) 触发触发NMI引脚产生引脚产生38 中断优先权中断优先权 v8086规定中断优先权从高到低的顺序为:规定中断优先权从高到低的顺序为: 除法错、溢出中断指令除

24、法错、溢出中断指令INTO、中断指、中断指令令INT n 。 非屏蔽中断非屏蔽中断NMI。 可屏蔽中断可屏蔽中断INTR。 单步中断。单步中断。 392. 8088的中断向量表的中断向量表v中断向量中断向量:指示中断服务程序的:指示中断服务程序的入口地址入口地址,该,该地址包括:地址包括:偏移地址偏移地址IP 、段地址段地址CS (共共32位位)v每个中断向量的低字是偏移地址、高字是段地每个中断向量的低字是偏移地址、高字是段地址,需占用址,需占用4个字节(低对低,高对高)。个字节(低对低,高对高)。v8088 微处理器从物理地址微处理器从物理地址000H开始到开始到3FFH(1KB),依次安排

25、各个中断向量,向量号从),依次安排各个中断向量,向量号从0到到255。v256个中断响亮所占用的个中断响亮所占用的1KB区域,称区域,称中断向量中断向量表表几个概念:向量号几个概念:向量号N/中断向量中断向量/中断服务程序的入口地址中断服务程序的入口地址中断向量的存放首址中断向量的存放首址N44B4B中断向量表1KB3FFH0H0号中断向量号中断向量IPCS255号中断向量号中断向量40v内部中断是由于内部中断是由于8086内部执行程序出现特殊情况内部执行程序出现特殊情况而引起而引起的中断的中断除法错中断:除法错中断:向量号为向量号为0指令中断(指令中断(int n):):向量号为向量号为n断

26、点中断(断点中断(int 3 ):):向量号为向量号为3溢出中断(溢出中断(into ) :向量号为向量号为4单步中断:单步中断:向量号为向量号为1内部中断的中断向量号已由内部中断的中断向量号已由Intel公司确定公司确定41v外部中断是由于外部中断是由于8086外部通过外部通过CPU引脚提出中断引脚提出中断请求而引起请求而引起的中断的中断非屏蔽中断非屏蔽中断(NMI):): 向量号为向量号为2v外部通过非屏蔽中断外部通过非屏蔽中断NMI请求,必须响应请求,必须响应v非屏蔽中断主要用于处理系统的意外或故障(如奇偶校验或非屏蔽中断主要用于处理系统的意外或故障(如奇偶校验或协处理器运算错误等)协处

27、理器运算错误等)可屏蔽中断可屏蔽中断(INTR):): 向量号向量号由中断控制器提供由中断控制器提供v外部通过可屏蔽中断外部通过可屏蔽中断 INTR 请求,由标志位请求,由标志位 IF 控制是否响应;控制是否响应;响应时将产生有效的响应时将产生有效的 INTA 信号信号v可屏蔽中断主要用于外设中断请求(请求交换数据等服务)可屏蔽中断主要用于外设中断请求(请求交换数据等服务)标志位标志位IF控制可屏蔽中断的响应控制可屏蔽中断的响应42中断标志中断标志IF的状态的状态vIF0:可屏蔽中断不会被响应(禁止中断,关中断,:可屏蔽中断不会被响应(禁止中断,关中断,中断屏蔽)中断屏蔽)系统复位,使系统复位

28、,使IF0任何一个中断被响应,使任何一个中断被响应,使IF0执行指令执行指令CLI,使,使IF0vIF1:可屏蔽中断会被响应(允许中断,开中断,中:可屏蔽中断会被响应(允许中断,开中断,中断开放)断开放)执行指令执行指令STI,使,使IF1v执行指令执行指令 IRET 后后IF 将恢复为中断前的状态将恢复为中断前的状态明确明确 IF 标志的状态是关键标志的状态是关键433. 8086中断处理过程中断处理过程 可屏蔽中断的中断过程可屏蔽中断的中断过程 v中断源通过中断控制器中断源通过中断控制器8259向向CPU发出中断请求信号发出中断请求信号 vCPU在每一个指令周期的最后一个时钟周期采样在每一

29、个指令周期的最后一个时钟周期采样INTR信信号线号线 v当当CPU响应响应可屏蔽级的中断请求可屏蔽级的中断请求时时,首先通过信号线向,首先通过信号线向8259连续发出连续发出两个两个负脉冲的负脉冲的中断响应信号中断响应信号。 vCPU暂停执行当前程序,而转去执行相应的中断处理程序暂停执行当前程序,而转去执行相应的中断处理程序 v CPU执行中断服务程序执行中断服务程序 v返回断点,继续执行被打断的程序返回断点,继续执行被打断的程序 44 非屏蔽中断和软件中断的执行过程非屏蔽中断和软件中断的执行过程v查询中断的先后顺序查询中断的先后顺序决定了各中断源的优先级别决定了各中断源的优先级别软件中断软件

30、中断v除法错中断除法错中断v指令中断指令中断v溢出中断溢出中断非屏蔽中断非屏蔽中断可屏蔽中断可屏蔽中断单步中断单步中断高高低低458086的中断响应过程的中断响应过程NMIN软件中断软件中断INTRTF=1中断响应周期中断响应周期读中断向量号读中断向量号下条指令下条指令现行指令现行指令IF1NNNNYYYYY执行中断服务执行中断服务468086的中断响应过程的中断响应过程(续)(续)Y还有还有NMIIF1标志寄存器入栈标志寄存器入栈TEMPTF,IFTF0CS:IP入栈入栈获取中断向量获取中断向量执行服务程序执行服务程序弹出弹出CS:IP弹出标志寄存器弹出标志寄存器返回被中断程序返回被中断程序

31、(1)保护标志位)保护标志位(2)保证转移不受影响)保证转移不受影响(3)保护断点的地址)保护断点的地址(4)获得中断程序地址)获得中断程序地址由中断号由中断号*4的地址单元开始连的地址单元开始连续续4字节内容为字节内容为IP、CS的值的值(5)中断真正要完成的任务)中断真正要完成的任务中断服务程序中断服务程序NNY(6)中断返回)中断返回还原转到中断服务程序前的还原转到中断服务程序前的状态状态单步中断单步中断中断嵌套中断嵌套478086的中断响应过程的中断响应过程(续)(续)v8088各种中断源的各种中断源的优先权优先权,实际上是,实际上是指指被识别的先后顺序被识别的先后顺序v多种中断同时请

32、求时,多种中断同时请求时,最先响应最先响应的则的则可能是可能是单步单步中断或中断或 NMI中断中断486.3.3 8259中断控制器中断控制器vIntel 8259A是可编程中断控制器是可编程中断控制器PICv可配合可配合CPU(I8080/85、I8086/88/286/386等)管等)管理可屏蔽中断理可屏蔽中断v8259A的基本功能的基本功能1片片8259A可以管理可以管理8级中断,经级联最多可扩展至级中断,经级联最多可扩展至64级级每一级中断都可单独被屏蔽或允许每一级中断都可单独被屏蔽或允许在中断响应周期,可提供相应的调用指令(配合在中断响应周期,可提供相应的调用指令(配合I8080/8

33、5 )或中断向量号(配合或中断向量号(配合I8086/88/286/386)8259A设计有多种工作方式,通过初始化编程进行设置设计有多种工作方式,通过初始化编程进行设置491. 8259A的内部结构和引脚的内部结构和引脚D7D0-INTAINT中断请求寄存器中断请求寄存器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器-RD-WRA0-CSCAS0CSA1CAS2-SP/-EN优先权判别电路优先权判别电路中断服务寄存器中断服务寄存器控制逻辑控制逻辑50 8259的内部结构的内部结构v中断请求寄存器中断请求寄存器IR

34、R保存保存8条外界中断请求信号条外界中断请求信号IR0IR7的请求状态的请求状态Di位为位为1表示表示IRi引脚有中断请求;为引脚有中断请求;为0表示无请求表示无请求v中断服务寄存器中断服务寄存器ISR保存正在被保存正在被8259A服务着的中断状态服务着的中断状态Di位为位为1表示表示IRi中断正在服务中;为中断正在服务中;为0表示没有被服务表示没有被服务v中断屏蔽寄存器中断屏蔽寄存器IMR保存对中断请求信号保存对中断请求信号IR的屏蔽状态的屏蔽状态Di位为位为1表示表示IRi中断被屏蔽(禁止);为中断被屏蔽(禁止);为0表示允许表示允许51v优先权判别器优先权判别器PR 优先权判别器(优先权

35、判别器(PR)用来识别各中断请求的优先级别)用来识别各中断请求的优先级别 v读读/写控制电路写控制电路 读读/写控制电路接收来自写控制电路接收来自CPU的读的读/写控制命令和片选控制写控制命令和片选控制信息信息 v数据总线缓冲器数据总线缓冲器 这是一个这是一个8位的双向三态缓冲器,使位的双向三态缓冲器,使8259和和CPU数据总线数据总线D7D0直接挂接,完成命令和状态信息的传送。直接挂接,完成命令和状态信息的传送。 52v控制电路控制电路 它是它是8259内部的控制器,内部的控制器,根据根据CPU对对8259编程设定的编程设定的工作方式产生工作方式产生内部内部控制信号控制信号,向,向CPU发

36、出中断请求信号发出中断请求信号INT,请求,请求CPU响应,同时产生与当前中断请求服务有关响应,同时产生与当前中断请求服务有关的控制信号,并的控制信号,并在接收到在接收到来自来自CPU的的中断响应信号中断响应信号后,后,将将中断类型号送到数据总线中断类型号送到数据总线。 v级联缓冲级联缓冲/比较器比较器 该功能部件用来实现多个该功能部件用来实现多个8259的级联连接及数据缓冲的级联连接及数据缓冲方式。方式。 53CAS0 IR0CAS1 IR1CAS2 IR2 IR3-INTA IR4 IR5INT IR6 IR7-SP/-EN CAS0-INTA CAS1 CAS2INT IR0 IR1-S

37、P/-EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3-INTA IR4 IR5INT IR6 IR7-SP/-EN-INTAINTR+5V8259级联工作示意图级联工作示意图8259A的级连的级连输出得到响应输出得到响应的从片编号的从片编号54中断级连中断级连v8259A可以可以级连级连,1个个主片主片最多可以级连最多可以级连8个个从片从片v级连时,级连时,主片主片的级连线的级连线CAS0CAS2连至每个从片连至每个从片的的CAS0CAS2,输出被选中的从片编号输出被选中的从片编号,v每个每个从片从片的中断请求信号的中断请求信号 INT,连至主,连至主8259A的一的一个

38、中断请求输入端个中断请求输入端IRx;主片;主片的的 INT 线连至线连至CPU的的中断请求输入端中断请求输入端INTRv在非缓冲方式下,引脚在非缓冲方式下,引脚-SP/-EN,通过接地指定该,通过接地指定该片充当从片(片充当从片(-SP0);反之若接高电平则该片充);反之若接高电平则该片充当主片(当主片(-SP1)。)。55 8259的引脚功能的引脚功能v8259芯片有芯片有28条引脚,双列条引脚,双列直插式封装,直插式封装,如图如图6.10所示。所示。图图6.10 8259芯片引脚定义芯片引脚定义562. 8259A的中断过程的中断过程CAS0CAS2D0D7-SP/-ENIR0IR7CP

39、U响应周期响应周期8259A工作波形工作波形INT第第1个总线周期个总线周期T1 T2 T3 T4ALECLK 第第2个总线周期个总线周期T1 T2 T3 T4第第1个个-INTA前保持高电平前保持高电平 -INTA-LOCK中断向量主片输出级联信号从片接收573. 8259A的工作方式的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式 设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方

40、式非自动中断结束方式 结束中断方式结束中断方式 中断屏蔽方式中断屏蔽方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式 中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式 数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式 与与CPU配合方式配合方式与与8080/8085 CPU配合配合与与8086/8088 CPU配合配合 级连方式级连方式级连级连不级连不级连58(1)中断结束处理方式)中断结束处理方式什么是什么是8259A的中断结束?的中断结束?8259A利用中断服务寄存器利用中断服务寄存器ISR判断:判断:n某位为某位为1,表示正在进行中断服务;,表

41、示正在进行中断服务;n该位为该位为0,就是该中断结束服务。,就是该中断结束服务。 这里说明如何使这里说明如何使ISR某位为某位为0,不反映,不反映CPU的工作状态。的工作状态。59(1)中断结束处理方式(续)中断结束处理方式(续)自动中断结束方式自动中断结束方式普通中断结束方式普通中断结束方式 配合全嵌套优先权方式使用配合全嵌套优先权方式使用 当当CPU用输出指令往用输出指令往8259A发出普通中断结发出普通中断结束束EOI命令命令时,时,8259A就会把所有正在服务的中就会把所有正在服务的中断中断中优先权最高的优先权最高的ISR位位复位复位。特殊中断结束方式特殊中断结束方式 配合循环优先权方

42、式使用配合循环优先权方式使用 CPU在程序中向在程序中向8259A发送一条特殊中断结发送一条特殊中断结束命令,这个束命令,这个命令命令中中指出指出了要了要清除哪个清除哪个ISR位。位。60(2) 缓冲方式缓冲方式v缓冲方式缓冲方式8259A的数据线需加缓冲器予以驱动的数据线需加缓冲器予以驱动8259A把把SP*/EN*引脚作为输出端,输出允许引脚作为输出端,输出允许信号,用以锁存或开启缓冲器信号,用以锁存或开启缓冲器v非缓冲方式非缓冲方式SP*/EN*引脚为输入端引脚为输入端若若8259A级连,由其确定是主片或从片级连,由其确定是主片或从片 61(3)嵌套方式)嵌套方式v普通全嵌套方式普通全嵌

43、套方式8259A的中断的中断优先权顺序固定不变优先权顺序固定不变,从高到低依次为,从高到低依次为IR0、IR1、IR2、IR7中断请求后,中断请求后,8259A对对当前请求中断中优先权最高的中当前请求中断中优先权最高的中断断IRi予以予以响应响应,将其向量号送上数据总线,对应,将其向量号送上数据总线,对应ISR的的Di位置位,至到中断结束(位置位,至到中断结束(ISR的的Di位复位)位复位)在在ISR的的Di位置位期间,位置位期间,禁止禁止再发生再发生同级同级和和低级低级优先权优先权的的中断中断,但允许高级优先权中断的嵌套,但允许高级优先权中断的嵌套v特殊全嵌套方式特殊全嵌套方式 只禁只禁止止

44、低级低级优先中断优先中断v优先权自动循环方式优先权自动循环方式v优先权特殊循环方式优先权特殊循环方式62(4) 中断屏蔽方式中断屏蔽方式v普通屏蔽方式普通屏蔽方式将将IMR的的Di位置位置1,则对应的中断,则对应的中断IRi被屏蔽被屏蔽,该中断请求不能从该中断请求不能从8259A送到送到CPU如果如果IMR的的Di位置位置0,则允许,则允许IRi中断产生中断产生v特殊屏蔽方式特殊屏蔽方式将将IMR的的Di位置位置1,对应的中断,对应的中断IRi被屏蔽的同被屏蔽的同时,使时,使ISR的的Di位置位置063 优先级的控制优先级的控制v 固定优先级 所谓固定优先级,即是指8259的8个中断源中,IR

45、0优先级最高,IR1优先级次之,依次降低,直到IR7优先级最低,这个顺序固定不变。v 循环优先级 8259将中断源IR0IR7按下标序号顺序构成一个环,有两种规定方式: 自动优先循环级。 该方式规定:刚被服务过的中断源,其优先级别被改为最低级,而将最高优先级赋给原来比它低一级的中断源,其它中断源的优先顺序依中断源顺序环确定。例如:CPU对IR3的中断服务刚结束时,IR3的优先级别变为最低,这时8259的8个中断源优先顺序由高到低为IR4,IR5,IR6,IR7,IR0,IR1,IR2,IR3。 指定优先循环级。 该方式规定:在OCW2中指定的中断源,其优先级别被设为最低级,其它中断源的优先顺序

46、依中断源顺序环确定。例如:CPU在对IR3的中断服务过程中,通过指令在OCW2中指定IR5具有最低优先级,则IR3中断服务结束时,2859A的8个中断源优先顺序由高到低为IR6,IR7,IR0,IR1,IR2,IR3,IR4,IR5。 64优先权方式优先权方式v普通全嵌套方式8259A的中断优先权顺序固定不变,从高到低依次为:IR0、IR1、IR2、IR7中断请求后,8259A对当前请求中断中优先权最高的中断 IRi 予以响应,将其向量号送上数据总线,对应ISR的 Di位置位,至到中断结束(ISR的 Di 位复位)在ISR的 Di 位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权

47、中断的嵌套v特殊全嵌套方式允许同级中断嵌套(用于级连主片)v优先权自动循环方式最高优先权自动转移到相邻的低优先级中断源v优先权特殊循环方式最高优先权转移到由指令指定的中断源65(6) 中断触发方式中断触发方式v边沿触发方式边沿触发方式8259A将中断请求输入端出现的将中断请求输入端出现的上升沿作为中断请求信号上升沿作为中断请求信号v电平触发方式电平触发方式中断请求端出现的高电平是有效中断请求端出现的高电平是有效的中断请求信号的中断请求信号66(7) 中断级连中断级连v一个系统中,一个系统中,8259A可以级连,有一个主可以级连,有一个主8259A,若干个(最多若干个(最多8个)从个)从8259

48、Av级连时,主级连时,主8259A的三条级连线的三条级连线CAS0CAS2作作为输出线,连至每个从为输出线,连至每个从8259A的的CAS0CAS2v每个从每个从8259A的中断请求信号的中断请求信号INT,连至主,连至主8259A的一个中断请求输入端的一个中断请求输入端IRv主主8259A的的INT线连至线连至CPU的中断请求输入端的中断请求输入端vSP*/EN*在非缓冲方式下,规定该在非缓冲方式下,规定该8259A是主片是主片(SP*1)还是从片()还是从片(SP*0)67级连方式级连方式v不级连不级连只用只用1片,如片,如 PC/XTv级连级连使用使用29片,如片,如 PC/AT(2片)

49、片)-INTAINTRIR0IR7IR7IR0CAS0CAS2=010INTINTD0D768初始化编程初始化编程 8259A开始工作前,开始工作前, 用户用户必须必须对对8259A进行进行初始化初始化编程。通过写入编程。通过写入初始化命令字初始化命令字ICW对对8259A进行初始化。进行初始化。工作方式编程工作方式编程在在8259A工作期间工作期间 可以可以随时随时向向8259A写入写入操作命令字操作命令字OCW,使之,使之按用户设置的新的工作方式进行工作,用户还可以按用户设置的新的工作方式进行工作,用户还可以通过写通过写操作命令字操作命令字OCW通知通知8259A,下面的操作,下面的操作要

50、读取要读取8259A中的状态信息,以便了解其工作情况。中的状态信息,以便了解其工作情况。4. 8259A的编程的编程69 8259的初始化编程的初始化编程v8259初始化编程的主要任务有:初始化编程的主要任务有:v 复位复位8259芯片。芯片。v 设定中断请求信号设定中断请求信号INT有效的形式,是高电平有有效的形式,是高电平有效,还是上升沿有效。效,还是上升沿有效。v 设定设定8259工作在单片方式还是多片级联方式。工作在单片方式还是多片级联方式。v 设定设定8259管理的中断类型号的基值,即管理的中断类型号的基值,即0级级IR0所对应的中断类型号。所对应的中断类型号。v 设定各中断级的优先

51、次序,设定各中断级的优先次序, IR0最高,最高,IR7最低。最低。v 设定一次中断处理结束时的结束方式。设定一次中断处理结束时的结束方式。70(1)初始化命令字)初始化命令字ICWv初始化命令字初始化命令字ICW最多有最多有4个个v8259A在开始工作前必须写入在开始工作前必须写入v必须按照必须按照ICW1ICW4顺序写入顺序写入vICW1和和ICW2是必须送的是必须送的vICW3和和ICW4由工作方式决定由工作方式决定流程流程D7D6D5D4D3D2D1D071ICW11LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意为为1为为0都可以(建议为都可以(建议为0

52、) 1只能为只能为1,作为标志,作为标志中断触发方式:中断触发方式:LTIM1,电平触发方式,电平触发方式LTIM0,边沿触发方式,边沿触发方式 规定单片或级连方式:规定单片或级连方式:SNGL1,单片方式,单片方式SNGL0,级连方式,级连方式是否写入是否写入ICW4IC41,要写入,要写入ICW4IC40,不写入,不写入ICW4,即,即ICW4规定的位全为规定的位全为0必须写入必须写入A0=0的地址的地址72ICW2T7T6T5T4T3D7D6D5D4D3D2D1D0设置中断向量号设置中断向量号nT7T3为中断向量号的高为中断向量号的高5位位n低低3位由位由8259A自动确定:自动确定:n

53、IR0为为000、IR1为为001、IR7为为111必须写入必须写入A0=1的地址,且一定紧跟在的地址,且一定紧跟在ICW1之后写入之后写入73ICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0级连命令字级连命令字n主片主片8259A:Si1对应对应IRi接有从片;接有从片;否则否则IRi没有连接从片没有连接从片n从片从片8259A:ID0ID2编码说明从片编码说明从片INT引脚接到主片哪个引脚接到主片哪个IR引脚引脚必须写入必须写入A0=1的地址,级连时紧跟在的地址,级连时紧跟在ICW2之后写入之后写入74ICW4000SFNMBUFM/SAEO

54、IPMD7D6D5D4D3D2D1D0嵌套方式:嵌套方式:n特殊全嵌套方式(特殊全嵌套方式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)数据线的缓冲方式:数据线的缓冲方式:n缓冲方式(缓冲方式(BUF1)n非缓冲方式(非缓冲方式(BUF0) 主片主片/从片选择:从片选择:n主片(主片(M/S=1)n从片(从片(M/S=0)中断结束方式:中断结束方式:n自动中断结束(自动中断结束(AEOI1)n非自动中断结束(非自动中断结束(AEOI0)微处理器类型:微处理器类型:n16位位80 x86( PM1)n8位位8080/8085( PM0)必须写入必须写入A0=1的地址,由的地址,由I

55、CW1最低位决定是否需要最低位决定是否需要758259芯片的初始化流程芯片的初始化流程 ICW4ICW4(A0=1A0=1)SNGL=0SNGL=0?ICW1ICW1的的IC4=1IC4=1?初始化完,准备接受中断请求输入初始化完,准备接受中断请求输入是是是是否否ICW1ICW1(A0=0A0=0,D4=1D4=1)ICW2ICW2(A0=0A0=0)ICW3ICW3(A0=0A0=0)否否76初始化主片8259Amov al,11h;写入写入ICW1out 20h,aljmp intr1intr1:mov al,08h;写入写入ICW2out 21h,aljmp intr2intr2:mov

56、 al,04h;写入写入ICW3out 21h,aljmp intr3intr3:mov al,1h;写入写入ICW4out 21h,al中断控制器的初始化程序段77初始化从片8259Amov al,11h;写入写入ICW1out 0a0h,aljmp intr5intr5:mov al,70h;写入写入ICW2out 0a1h,aljmp intr6intr6:mov al,02h;写入写入ICW3out 0a1h,aljmp intr7intr7:mov al, 01h;写入写入ICW4out 0a1h,al中断控制器的初始化程序段78 工作方式编程工作方式编程v8259工作方式编程主要完

57、成的任务是对中断请求的工作方式编程主要完成的任务是对中断请求的屏蔽、优先级循环控制、中断结束方式、内部控制屏蔽、优先级循环控制、中断结束方式、内部控制寄存器的查询等。寄存器的查询等。 v8259A工作期间,可以随时接受操作命令字工作期间,可以随时接受操作命令字OCWvOCW共有共有3个:个:OCW1OCW3v写入时没有顺序要求,需要哪个写入时没有顺序要求,需要哪个OCW就写入那个就写入那个OCWD7D6D5D4D3D2D1D079OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字屏蔽命令字内容写入中断屏蔽寄存器内容写入中断屏蔽寄存器IMRDiMi对应对应IRi,

58、为,为1禁止禁止IRi中断;中断;为为0允许允许IRi中断。各位互相独立。中断。各位互相独立。不是初始化的顺序写入不是初始化的顺序写入A0=1地址的就是地址的就是OCW180OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使配合使用用产生中断结束产生中断结束EOI命命令和改变优先权顺序令和改变优先权顺序L2L0的的3位编码位编码指定指定IR引脚引脚 必须写入必须写入A0=0的地址,由特征位与的地址,由特征位与ICW1区分区分81OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM设置中断屏蔽方式设置中断屏蔽方式P、R

59、R和和RIS规定随后读取的规定随后读取的状态字状态字含义含义必须写入必须写入A0=0的地址,由特征位与的地址,由特征位与ICW1、OCW2区分区分82读取状态字读取状态字vCPU可读出可读出IRR、ISR、IMR和查询字和查询字vA0为低,由为低,由OCW3中中RR和和RIS位设定读位设定读取取IRR或或ISR,由,由OCW3中中P位设定读取位设定读取查询字查询字v而而A0引脚为高电平时读取的都是引脚为高电平时读取的都是IMRv查询字反映查询字反映8259A是否有中断请求是否有中断请求83查询字查询字IW2W1W0D7D6D5D4D3D2D1D0中断位中断位I位为位为1,有外设请求中断有外设请

60、求中断W2W0的编码的编码当前中断请求的当前中断请求的最高优先级最高优先级84补充:补充: 命令字和状态字的区别方法命令字和状态字的区别方法 利用读写信号区别写入的控制寄存器和利用读写信号区别写入的控制寄存器和读出的状态寄存器读出的状态寄存器 利用地址信号区别不同利用地址信号区别不同I/O地址的寄存器地址的寄存器 由控制字中的标志位说明是哪个寄存器由控制字中的标志位说明是哪个寄存器 由芯片内顺序控制逻辑按一定顺序识别由芯片内顺序控制逻辑按一定顺序识别不同的寄存器不同的寄存器 由前面的控制字决定后续操作的寄存器由前面的控制字决定后续操作的寄存器接口电路中常用的方法接口电路中常用的方法85(1)与

温馨提示

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

评论

0/150

提交评论