第五章数字量输入输出_第1页
第五章数字量输入输出_第2页
第五章数字量输入输出_第3页
第五章数字量输入输出_第4页
第五章数字量输入输出_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

1、1 5.1 5.1 概述概述 5.2 5.2 系统总线及接口系统总线及接口 5.3 5.3 中断控制系统中断控制系统 5.4 5.4 计数定时接口计数定时接口 5.5 5.5 并行输入输出接口并行输入输出接口 25.1 概述 5.1.1 I/O5.1.1 I/O信号的形式信号的形式1、开关量:只有两种稳定的信号,可以用两个最基本的逻辑符号表示、开关量:只有两种稳定的信号,可以用两个最基本的逻辑符号表示2、数字量:多位、数字量:多位0和和1按一定规则组合所表示的信号按一定规则组合所表示的信号3、脉冲量:两种稳态之间的变化、脉冲量:两种稳态之间的变化l 正跳变正跳变:由:由0变到变到1l 负跳变负

2、跳变:由:由1变到变到0 4、模拟量:数值和时间上都能连续变化的信号、模拟量:数值和时间上都能连续变化的信号 35.1.2 I/O5.1.2 I/O接口接口 接口的含义:接口的含义:l 狭义上:连接计算机和狭义上:连接计算机和I/O设备的部件;设备的部件;l 广义上:还包括接口电路的管理驱动程序;广义上:还包括接口电路的管理驱动程序;1、 I/O接口的功能接口的功能(1)信号的形式变换:非数字信号变换成二进制数字信号;)信号的形式变换:非数字信号变换成二进制数字信号;(2)电平转换和放大)电平转换和放大(3)锁存及缓冲)锁存及缓冲(4) I/O定向定向(5)并行及串行)并行及串行I/O的转换的

3、转换l 并行方式:接口和并行方式:接口和I/O设备之间以并行方式传送;设备之间以并行方式传送;l 串行方式:一位一位地进行传送;串行方式:一位一位地进行传送;42、 I/O的内容分类的内容分类(1)数据信息:数据信息可分为数字量、模拟量和开关量。数据信息:数据信息可分为数字量、模拟量和开关量。 (2)状态信息:状态信息是状态信息:状态信息是CPU与外设之间交换数据时的联络信息。与外设之间交换数据时的联络信息。(3)控制信息:控制信息用来设置控制信息:控制信息用来设置I/O外设外设(包括包括I/O接口接口)的工作模式、的工作模式、 命令字等有关信息。如命令字等有关信息。如“启动启动”,“停止停止

4、”信息。信息。3、 I/O接口的构成接口的构成(1)端口:构成)端口:构成I/O接口的基本单元。接口的基本单元。较低地址端口存放较低字节内容,较高端口存放较高字节的内容较低地址端口存放较低字节内容,较高端口存放较高字节的内容(2)端口的分类:)端口的分类:数据端口:单向输入、单向输出、双向数据端口:单向输入、单向输出、双向状态端口状态端口控制端口:输入、输出指令控制端口:输入、输出指令55.1.3 I/O编址两种两种I/O编址方式:编址方式:存储器映象和存储器映象和I/O端口寻址端口寻址 1、存储器映象编址:从存储器地址中分出存储器映象编址:从存储器地址中分出一部分一部分给给I/O端口使用,每

5、个端口使用,每个 I/O端口被看成一个存储器单元,用访问存储器的方法访问端口被看成一个存储器单元,用访问存储器的方法访问I/O端口端口优点:优点:无无须专门的须专门的I/O指令和专门的指令和专门的I/O控制信号也能完成控制信号也能完成I/O;2、 I/O端口单独编址:使用专门的端口单独编址:使用专门的I/O指令和控制信号进行指令和控制信号进行I/O;优点:优点:I/O指令和存储器分别编址,各自都有完整的地址空间;指令和存储器分别编址,各自都有完整的地址空间;两种方式优缺点互补;两种方式优缺点互补;65.1.4 I/O的控制方式1. 无条件传送方式无条件传送方式 无条件传送方式是假设输入接口数据

6、已经准备好,或者输出设备是无条件传送方式是假设输入接口数据已经准备好,或者输出设备是空闲的,此时空闲的,此时CPU无需查询状态,直接用无需查询状态,直接用IN和和OUT指令完成与接口之指令完成与接口之间的数据传送。间的数据传送。 2. 查询传送方式查询传送方式 利用查询方式输入数据之前,利用查询方式输入数据之前,CPU要查询输入数据是否准备好;利要查询输入数据是否准备好;利用查询方式输出数据之前,用查询方式输出数据之前,CPU要查询输出设备是否空闲。只有确认外要查询输出设备是否空闲。只有确认外设已经具备了传送条件后,才能用设已经具备了传送条件后,才能用IN和和OUT指令完成数据传送。指令完成数

7、据传送。 73、中断控制传送方式、中断控制传送方式 中断控制的输入和输出方式,也成中断传送方式。当外设的输入中断控制的输入和输出方式,也成中断传送方式。当外设的输入数据准备好或接受数据的锁存器空时,主动向数据准备好或接受数据的锁存器空时,主动向CPU发出中断请求,使发出中断请求,使CPU中断原来执行的程序(主程序),转去执行为外设服务的输入或输中断原来执行的程序(主程序),转去执行为外设服务的输入或输出操作,服务完毕出操作,服务完毕CPU再继续执行原来的程序。再继续执行原来的程序。4、直接存储器访问方式、直接存储器访问方式DMA5、其他方式:、其他方式:如如I/O处理机方式处理机方式85.2

8、系统总线及接口 5.2.1 5.2.1 总线概述总线概述1 1、总线的特性总线的特性(1 1)多信号源)多信号源 (2 2)被分时使用)被分时使用 (3 3)由主设备控制)由主设备控制2 2、总线的分级、总线的分级(1 1)片内总线)片内总线 (2 2)系统级总线:计算机机箱内部,插卡与插卡之间的连接总线;)系统级总线:计算机机箱内部,插卡与插卡之间的连接总线;(3 3)设备级总线:计算机机箱外部,)设备级总线:计算机机箱外部,I/OI/O设备和计算机之间的连接总线;设备和计算机之间的连接总线; 95.2.2 5.2.2 系统总线标准系统总线标准1 1、PC/XTPC/XT及及ISAISA总线

9、总线(1 1)总线信号)总线信号(2 2)总线周期:)总线周期:CPUCPU执行一条指令的时间称为指令周期。执行一条指令的时间称为指令周期。系统的总线周期分为系统的总线周期分为CPUCPU驱动和驱动和DMACDMAC驱动驱动CPUCPU驱动的总线周期驱动的总线周期l存储器读总线周期存储器读总线周期 l存储器写总线周期存储器写总线周期lI/OI/O读总线周期读总线周期I/OI/O写总线周期写总线周期 DMAC驱动的总线周期驱动的总线周期l DMA存储器读周期存储器读周期l DMA存储器写周期存储器写周期105.3 中断控制系统1、中断及返回、中断及返回 所谓所谓“中断中断”是指是指CPU在正常执

10、行程在正常执行程序序的过程中,由于的过程中,由于内部内部/外部事件外部事件或由程序或由程序的预先安排的预先安排,引起,引起CPU暂时中断当前程序暂时中断当前程序的运行而转去的运行而转去执行为内部执行为内部/外部事件或预外部事件或预先安排的事件服务的子程序先安排的事件服务的子程序,待中断服务待中断服务子程序执行完毕后,子程序执行完毕后,CPU再返回到暂停处再返回到暂停处(断点)继续执行原来的程序(断点)继续执行原来的程序,这一过程,这一过程称为中断,其示意图如图称为中断,其示意图如图5-1所示。所示。 现行程序 断点 中断服务程序 图5-1 中断过程示意图 5.3.1 中断的基本概念中断的基本概

11、念112 2、中断系统的功能、中断系统的功能(1 1)发出中断请求信号:原始信号、经过管理后输往)发出中断请求信号:原始信号、经过管理后输往CPUCPU的信号的信号(2 2)定向中断服务程序)定向中断服务程序(3 3)主程序的暂停及返回)主程序的暂停及返回断点的保护和返回断点的保护和返回现场的保护和返回现场的保护和返回3、中断技术的优点、中断技术的优点(1)并行操作)并行操作(CPU与外设与外设)(2)实时处理)实时处理(测控信号测控信号)(3)故障处理)故障处理(掉电保护等掉电保护等)(4)分时操作)分时操作(多任务或多用户系统多任务或多用户系统)124、中断源:、中断源:能引起中断的设备或

12、事件称为中断源。能引起中断的设备或事件称为中断源。(1) 中断源种类中断源种类l设备中断(设备中断(硬中断硬中断)l指令中断(指令中断(软中断软中断) l故障中断(故障中断(状态中断状态中断)l实时时钟中断(实时时钟中断(定时中断定时中断) lCPU内部运算产生的内部运算产生的某些错误所引起的中断某些错误所引起的中断 13(2) 中断源识别中断源识别通常有两种方法:通常有两种方法:查询中断和矢量中断查询中断和矢量中断。查询中断查询中断 查询中断时采用软件或硬件查询技术来确定发出中断请求的中断源。查询中断时采用软件或硬件查询技术来确定发出中断请求的中断源。 多个中断源共用一个中断服务入口程序,进

13、入中断服务程序后查询多个中断源共用一个中断服务入口程序,进入中断服务程序后查询方式有:方式有:l软件查询:软件查询:首先读取中断源状态并查询检测,然后根据状态检测情首先读取中断源状态并查询检测,然后根据状态检测情况作相应的中断处理。况作相应的中断处理。l硬件查询硬件查询1:通过串行顺序链电路端口读取引起中断的最高优先级:通过串行顺序链电路端口读取引起中断的最高优先级中断源的编码,然后根据该编码(计算出入口地址)转入相应的处中断源的编码,然后根据该编码(计算出入口地址)转入相应的处理程序。理程序。l硬件查询硬件查询2:中断相应信号:中断相应信号-INTA触发从串行顺序链电路中获取终触发从串行顺序

14、链电路中获取终端类信号。根据类型号转入相应的处理程序(硬件查询端类信号。根据类型号转入相应的处理程序(硬件查询2类似矢量类似矢量中断)中断) 14l矢量中断矢量中断 矢量中断又称矢量中断又称向量中断向量中断,通常是,通常是由中断向量来指示中断服务程序由中断向量来指示中断服务程序的入口地址的入口地址。每个中断源都预先指定一个矢量标志,要求。每个中断源都预先指定一个矢量标志,要求外设在提出中外设在提出中断请求时提供该中断矢量标志断请求时提供该中断矢量标志。当。当CPU响应某个中断源的中断请求时响应某个中断源的中断请求时,控制逻辑就将该控制逻辑就将该中断源的矢量标志送入中断源的矢量标志送入CPU,C

15、PU根据矢量标志自动指根据矢量标志自动指向相应的中断服务程序的入口地址向相应的中断服务程序的入口地址,转入中断服务程序。,转入中断服务程序。 每个每个中断源中断源对应一个对应一个中断服务入口程序,中断服务入口程序,CPUCPU响应中断时,响应中断时,通过中通过中断电路获取中断矢量断电路获取中断矢量(或中断类型号),(或中断类型号),根据中断矢量根据中断矢量转入该中断源的转入该中断源的中断服务程序。中断服务程序。155、中断的分类、中断的分类 内部中断也称内部中断也称软件中断软件中断,是由处理器,是由处理器检测到异常情况检测到异常情况或或执行软件执行软件中断指令中断指令所引起的一种中断。所引起的

16、一种中断。(1)内部中断)内部中断除法出错中断除法出错中断(除法指令除法指令操作结果溢出操作结果溢出(除数位除数位0),引起,引起0号中断号中断);INTO溢出中断溢出中断(当当OF=1,并且执行,并且执行INTO指令,引起指令,引起4号中断号中断);INT nINT n中断中断(执行执行INT n中断指令中断指令(相当于子程序调用指令相当于子程序调用指令),引起的中,引起的中断断);断点中断断点中断(在程序某断点在程序某断点插入插入单个字节单个字节的的INT3指令代码指令代码,当执行到,当执行到INT3,引发的,引发的3号中断号中断类型类型);单步中断单步中断(当当TF=1时,每执行一条指令

17、,自动转入时,每执行一条指令,自动转入1号中断号中断类型的服务类型的服务 程序程序)。 16(2) 外部中断外部中断硬件中断硬件中断 外部中断也称外部中断也称硬件中断硬件中断,是由,是由CPU的的外部中断请求信号触发的一外部中断请求信号触发的一种中断种中断,分为不可屏蔽中断,分为不可屏蔽中断NMI和可屏蔽中断和可屏蔽中断INTR。(1)非屏蔽中断请求非屏蔽中断请求NMI ( (上升沿触发上升沿触发) ) 非屏蔽中断请求由不受中断允许标志位非屏蔽中断请求由不受中断允许标志位IF的影响,的影响,中断类型码为中断类型码为2 2。(2 2)可屏蔽中断可屏蔽中断INTR (INTR (高电平触发高电平触

18、发) ) 若若CPUCPU发现有可屏蔽中断请求,发现有可屏蔽中断请求,CPUCPU将将根据中断允许标志位根据中断允许标志位IFIF的状态的状态决定是否响应决定是否响应。如果。如果IF=0IF=0,表示,表示CPUCPU处于关中断状态,屏蔽处于关中断状态,屏蔽INTRINTR线上的中线上的中断,断,CPUCPU不理会该中断请求而继续执行下一条指令;不理会该中断请求而继续执行下一条指令;如果如果IF=1IF=1,表示,表示CPUCPU处于开中断状态,允许处于开中断状态,允许INTRINTR线上的中断,线上的中断,CPUCPU执行完现行指令后转入中断执行完现行指令后转入中断响应周期响应周期。 17(

19、3 3)中断处理顺序)中断处理顺序 中断处理顺序即中断处理顺序即按中断优先权按中断优先权从高到低从高到低的排队顺序对中断源的排队顺序对中断源进行响应进行响应,80868086系统的中断处理次序如下:系统的中断处理次序如下:(1 1)除法错误中断、溢出中断、)除法错误中断、溢出中断、INT nINT n指令中断、断点中断。指令中断、断点中断。(2 2)非屏蔽中断)非屏蔽中断NMINMI。(3 3)可屏蔽中断)可屏蔽中断INTRINTR。(4 4)单步中断。)单步中断。 186 6 中断向量表中断向量表 中断向量中断向量就是中断服务程序的就是中断服务程序的入口地址表入口地址表。把系统中的所有中断向

20、把系统中的所有中断向量集中起来放到存储器的某一区域量集中起来放到存储器的某一区域(03ffH)内,这个存放中断向量的内,这个存放中断向量的存存储区就叫中断向量表储区就叫中断向量表(或中断矢量表),即(或中断矢量表),即每一个中断服务程序与表内每一个中断服务程序与表内的中断向量具有一一对应关系的中断向量具有一一对应关系。 中断向量表分为三部分:中断向量表分为三部分:专用中断专用中断、备用中断备用中断和和用户中断用户中断。(1 1)专用中断专用中断:类型类型0 0类型类型4 4,共有,共有5 5种类型。专用中断的中断服务程种类型。专用中断的中断服务程序的入口地址由系统负责装入,用户不能随意修改。序

21、的入口地址由系统负责装入,用户不能随意修改。(2 2)备用中断备用中断:类型类型5 5类型类型3FH3FH,这是,这是IntelIntel公司为软、硬件开发保留公司为软、硬件开发保留的中断类型,一般不允许用户改作其他用途。的中断类型,一般不允许用户改作其他用途。(3 3)用户中断用户中断:类型类型40H40H类型类型FFHFFH,为用户可用中断,其中断服务程,为用户可用中断,其中断服务程序的入口地址由用户程序负责装入序的入口地址由用户程序负责装入19 除 法 中 断 入 口 单 步 中 断 入 口 N M I 中 断 入 口 断 点 中 断 入 口 溢 出 中 断 入 口 类 型 5 中 断

22、入 口 IP C S 0 0 0 0 H 0 0 0 4 H 0 0 0 8 H 0 0 0 C H 0 0 1 0 H 0 0 1 4 H 类 型 3 1 H 中 断 入 口 类 型 3 2 H 中 断 入 口 0 0 C 4 H 0 0 C 8 H 类 型 0 F F H 中 断 入 口 0 3 F C H 8 0 8 6 的 中 断 向 量 表 专 用 中 断 备 用 中 断 用 户 中 断 205.3.2 可编程中断控制电路可编程中断控制电路Intel 8259A可编程外部中断控制器的功能可编程外部中断控制器的功能可对可对8个中断源实现个中断源实现优先级优先级控制控制 可扩展至对可扩展

23、至对64个中断源实现优先级控制个中断源实现优先级控制 可编程设置不同工作方式可编程设置不同工作方式根据中断源向根据中断源向x86提供不同中断类型码提供不同中断类型码 218259A引脚及功能引脚及功能 见见P297的图的图5.19数据线数据线D7D0-8位;位;片选信号片选信号-低电平有效;低电平有效;A0-地址引脚;地址引脚;读写信号读写信号-低电平有效;低电平有效;INT-中断请求信号;中断请求信号;IR7IR0-外部中断请求外部中断请求8个;个;CAS2CAS0-多片多片8259A的级联的级联2218259A的内部结构的内部结构 -中断请求寄存器中断请求寄存器IRR 保存从保存从IR0I

24、R7来的中断请求信号,来的中断请求信号,某位某位=1表示对应的表示对应的IRi有中有中断请求断请求 中断服务寄存器中断服务寄存器ISR 保存所有正在服务的中断源,保存所有正在服务的中断源,某位某位=1表示对应的表示对应的IRi中断正在被中断正在被服务服务 中断屏蔽寄存器中断屏蔽寄存器IMR 存放中断屏蔽字,存放中断屏蔽字,某位某位=1表示对应的表示对应的IRi输入被屏蔽输入被屏蔽 中断优先权判别电路中断优先权判别电路 确定是否向确定是否向CPU发出中断请求,中断响应时确定发出中断请求,中断响应时确定ISR的哪位应置的哪位应置位及把相应中断的类型码放到数据总线上位及把相应中断的类型码放到数据总线

25、上 232、 8259A的工作过程的工作过程8259A对中断请求的处理过程如下:对中断请求的处理过程如下: 当某当某IRi有效时,有效时,IRR相应位置相应位置1 若有效的若有效的IRi未被屏蔽,则向未被屏蔽,则向CPU发出中断请求发出中断请求 检测到检测到第第1个个INTA信号信号后,后,置置ISRi=1,IRRi=0 检测到检测到第第2个个INTA信号信号后,后,把把ISRi=1中最高优先级的中断中最高优先级的中断类型码放到类型码放到DB上上 若工作在若工作在AEOI方式,在第方式,在第2个个INTA#结束时,使结束时,使ISRi复位;复位;否则由否则由CPU发出发出EOI命令使命令使IS

26、Ri复位复位243、 8259A的工作方式的工作方式8259A的工作方式有如下几类:的工作方式有如下几类: 中断优先方式与中断嵌套中断优先方式与中断嵌套 中断结束处理方式中断结束处理方式 屏蔽中断源的方式屏蔽中断源的方式 中断触发方式中断触发方式 级联工作方式级联工作方式25(1)中断优先方式与中断嵌套)中断优先方式与中断嵌套中断优先方式中断优先方式 两类优先级控制方式:两类优先级控制方式:固定优先级和循环优先级固定优先级和循环优先级固定优先级方式固定优先级方式 所有中断请求所有中断请求IRi的中断优先级固定不变的中断优先级固定不变 优先级排列顺序可编程改变优先级排列顺序可编程改变 加电后加电

27、后8259A的默认方式,默认优先级顺序从高到低为的默认方式,默认优先级顺序从高到低为IR0IR7最低级IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最高级最高级最低级优先级优先级IR7IR6IR5IR4IR3IR2IR1IR0默认优先级默认优先级优先级可编程改变优先级可编程改变26(1)中断优先方式与中断嵌套(续)中断优先方式与中断嵌套(续) 循环优先级方式循环优先级方式 中断源轮流处于最高优先级,即自动中断优先级循环中断源轮流处于最高优先级,即自动中断优先级循环 初始优先级顺序可用编程改变初始优先级顺序可用编程改变 某中断请求某中断请求IRi被处理后,被处理

28、后,其优先级别自动降为最低,原来比它其优先级别自动降为最低,原来比它低一级的中断上升为最高级低一级的中断上升为最高级 IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低级最低级最高级最高级最高级最高级最低级最低级ISR内容内容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服务结束以前的服务结束以前0101000001000000IR4的服务结束以后的服务结束以后ISRi27(1)中断优先方式与中断嵌套(续)中断优先方式与中断嵌套(续)中断嵌套方式中断嵌套方式 在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套。在中断处理过程中允许被更高优先级的

29、事件所中断称为中断嵌套。8259A有两种中断嵌套方式:有两种中断嵌套方式:普通全嵌套方式(默认方式)普通全嵌套方式(默认方式) 中断正被处理时,只有更高优先级的事件可以打断当前的中中断正被处理时,只有更高优先级的事件可以打断当前的中断处理过程而被服务。断处理过程而被服务。特殊全嵌套方式特殊全嵌套方式 中断正被处理时,允许同级或更高优先级的事件可以打断当中断正被处理时,允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务。前的中断处理过程而被服务。注注: 特殊全嵌套仅用于多个特殊全嵌套仅用于多个8259A级连时的主级连时的主8259A,而,而不不能用能用于从属于从属8259A或单或单82

30、59A系统。系统。28D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:从片的从片的INT被主片封被主片封锁,故更锁,故更高高级别的级别的IR0-IR2中断也无法中断也无法得到响应得到响应特殊嵌套方式:特殊嵌套方式:因主片不封锁从片的因主片不封锁从片的INT,故级别高的,故级别高的IR0-IR2中断可以得到响应。中断可以得到响应。( (但但IR3-IR7仍被本从仍被本从片封锁片封锁) )C.假定假定IR3发生中发生中断断,并获得服务并获得服务一般嵌套方式:一般嵌套方式:IR4的中断被服务的中断被服务时,这些中断将时,这些中断将被封锁。被封锁。B.特殊

31、嵌套方式:特殊嵌套方式:IR4的中断被服的中断被服务 时 , 只 封 锁务 时 , 只 封 锁IR5-IR7。A.INTE.从从8259AINTIR0IR1IR2IR3IR4IR5IR6IR7n一般全嵌套方式与特殊全嵌套方式的区别一般全嵌套方式与特殊全嵌套方式的区别 去去CPU29(2)中断结束处理方式)中断结束处理方式当某一当某一IRi中断被服务时,中断被服务时,ISR中的相应位中的相应位ISRi=1。当服务结束后,。当服务结束后,则必须清零该则必须清零该ISRi位。使位。使ISRi=0是通过向是通过向8259A发出中断结束命令发出中断结束命令(EOI命令)实现的。命令)实现的。三种三种EO

32、I命令命令 自动自动EOI(AEOI)(自动(自动EOI方式)方式) 非指定非指定EOI(NSEOI)(正常(正常EOI方式)方式) 指定指定EOI(SEOI)(特殊(特殊EOI方式)方式) AEOI:在第:在第2个个INTA结束时,由结束时,由8259A使使ISRi自动复位;自动复位; 因不保留当前正在服务的中断的状态,故因不保留当前正在服务的中断的状态,故AEOI不能用于中断不能用于中断嵌套方式嵌套方式30(2)中断结束处理方式)中断结束处理方式 SEOI:由:由CPU发出一条发出一条SEOI命命令,该令,该EOI命令中指出了所要复命令中指出了所要复位的位的ISR的位号。的位号。 用于特殊

33、屏蔽方式用于特殊屏蔽方式 NSEOI:由:由CPU发出正常发出正常EOI命命令,该令,该EOI命令使命令使ISRi=1的位中的位中优先级最高的那一位复位。优先级最高的那一位复位。 用于普通全嵌套方式用于普通全嵌套方式特殊全嵌套方式下的特殊全嵌套方式下的EOI处理处理只有当从只有当从PIC的中断全部的中断全部处理完后,才能向主处理完后,才能向主PIC发发EOI命令命令IRET中断服务程序向从PIC发EOI命令读从PIC的ISR全0?向主PIC发EOI命令Y恢复现场N31(3)屏蔽中断源的方式)屏蔽中断源的方式IMR屏蔽字决定了允许或禁止某位屏蔽字决定了允许或禁止某位IRi所对应的中断:所对应的中

34、断:IMi=1 禁禁止,止, IMi=0 允许。允许。特殊屏蔽方式:特殊屏蔽方式: 提供了允许较低优先级的中断能够得到响应的特殊手段。提供了允许较低优先级的中断能够得到响应的特殊手段。 原理原理:假定当前正在处理:假定当前正在处理IR6,先,先进入特殊屏蔽方式,然后进入特殊屏蔽方式,然后设置设置IM6=1。这时,除。这时,除IR6外的所有中断请求均能得到响应。外的所有中断请求均能得到响应。 特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令结束中断。命令结束中断。32(4)中断触发方式)中断触发方式边沿触发:边沿触发:IRi出现上升沿表示有中断请求出现上升沿表示有中断请求 电平触发:电平触发

35、:IRi出现高电平表示有中断请求出现高电平表示有中断请求在第在第1个个INTA#结束前,结束前,IRi必须保持高电平必须保持高电平 (5)级联工作方式)级联工作方式单片单片8259A可支持可支持8个中断源;个中断源;采用多片采用多片8259A级连,可最多支持级连,可最多支持64个中断源。个中断源。n片片8259A可支持可支持7n+1个中断源;个中断源;级连时只能有一片级连时只能有一片8259A为主片,其余的均为从属片;为主片,其余的均为从属片;涉及到的涉及到的8259A引脚包括:引脚包括: CAS0-CAS2 SP/EN IRi INT33级连电路连接方法344、 8259A的编程使用的编程使

36、用8259A的控制命令分为:的控制命令分为: 初始化命令字初始化命令字ICW ICW1ICW4 向向8259A写入写入ICW的过程称为的过程称为初始化编程初始化编程 操作命令字操作命令字OCW OCW1OCW3 向向8259A写入写入OCW的过程称为的过程称为操作方式编程操作方式编程35(1)8259A内部寄存器的寻址方法内部寄存器的寻址方法CSRDWRA0D4D3读写操作010000写写OCW2写写OCW3写写ICW1写写ICW2,ICW3,ICW4,OCW1(顺序写入顺序写入)00101x1xx00101xx读出读出IRR、ISR读出读出IMRn需要需要CS#、A0、RD#、WR#和和D4

37、、D3的配合的配合n内部寄存器的访问方法如下表:内部寄存器的访问方法如下表: 36(2)8259A的初始化顺序的初始化顺序 8259的初始化流程如图的初始化流程如图 注意次序不可颠倒注意次序不可颠倒 写写ICW1写写ICW2级连?级连?写写ICW3需需ICW4?写写ICW4NNYY(3)8259A的控制命令字的控制命令字初始化初始化8259A必须从必须从ICW1开始开始 写写ICW1意味着重新初始化意味着重新初始化8259A 写入写入ICW1后,后,8259A的状态如下:的状态如下: 清除清除ISR和和IMR(全全0); 将中断优先级设成初始状态:将中断优先级设成初始状态:IR0最高,最高,I

38、R7最低;最低; 设定为一般屏蔽方式;设定为一般屏蔽方式; 采用非自动中断结束方式;采用非自动中断结束方式; 状态读出逻辑预置为读状态读出逻辑预置为读IRR。37ICW1初始化字初始化字LTIM: 触发方式触发方式 =1 高电平触发高电平触发 =0 上升沿触发上升沿触发SNGL: 级连控制级连控制 =1 单片单片 =0 级连级连IC4: ICW4控制控制 =1 要写要写ICW4 =0 不写不写ICW4(默认(默认ICW4为全为全0)A0 D7D6 D5 D4 D3 D2 D1 D0 0 x x x 1 LTIM x SNGL IC438ICW2中断向量码中断向量码T7T3: 中断向量码的高中断

39、向量码的高5位位T2T0: 最低最低3位为中断源的序号位为中断源的序号IRn 000111分别对应分别对应IR0IR7 由由8259A根据中断源的序号自动填入根据中断源的序号自动填入 例如:例如:若若ICW2命令字为命令字为48H=0100 1000B,则,则IR0的中断向量码的中断向量码为为48H=0100 1000B,IR7的中断向量码为的中断向量码为4FH=0100 1111B,等等。,等等。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x x39ICW3级连控制字级连控制字 主片的级联控制字主片的级联控制字 Si=1 对应对应IRi线上连接

40、了从片线上连接了从片 A0 D7D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0从片的级联控制字从片的级联控制字 ID2ID0 标识码,说明本从片连接到主片的哪个标识码,说明本从片连接到主片的哪个IR引脚上。引脚上。 000111分别对应分别对应IR0IR7。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 0 ID2 ID1 ID040ICW3级连控制字(续)级连控制字(续)ICW3必须与主从片的连接关系一致:必须与主从片的连接关系一致:例如,主片的例如,主片的IR4与从片的与从片的INT线连接,则主片的线连接,则主片的IC

41、W3=10H,从片的从片的ICW3=04H。中断响应时,主片通过级连线中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从送出被允许中断的从片标识码,各从片用自己的片标识码,各从片用自己的ICW3与与CAS2-CAS0比较,二者一比较,二者一致的从片才可发送中断向量码。致的从片才可发送中断向量码。41ICW4中断结束方式字中断结束方式字 SFNM: 特殊全嵌套特殊全嵌套1 特殊全嵌套方式特殊全嵌套方式0 一般全嵌套方式一般全嵌套方式 AEOI: 自动自动EOI1 自动自动EOI方式方式0 非自动非自动EOI方式方式A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 S

42、FNMBUF M/S AEOI 1 BUF: 缓冲方式缓冲方式 M/S: 主主/从缓冲选择从缓冲选择BUF M/S 1 1 缓冲方式缓冲方式/主主PIC 1 0 缓冲方式缓冲方式/从从PIC 0 x 非缓冲方式非缓冲方式/正常正常42(4)8259A的操作命令字的操作命令字OCW OCW用于设置用于设置8259的工作状态的工作状态在初始化后写入在初始化后写入OCW的写入顺序可任意的写入顺序可任意写入地址要求:写入地址要求: OCW1必须写入奇地址端口必须写入奇地址端口(A0=1) OCW2,OCW3必须写入偶地址端口必须写入偶地址端口(A0=0) 43OCW1中断屏蔽字中断屏蔽字 Mi=1 中

43、断请求线中断请求线IRi被屏蔽被屏蔽(不允许中断不允许中断) =0 允许该允许该IRi中断中断 OCW1将写入将写入IMR寄存器。寄存器。A0=1时读时读OCW1可读出设置的可读出设置的IMR内容。内容。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 M7 M6 M5 M4 M3 M2 M1 M044OCW2中断结束和优先级循环中断结束和优先级循环 L2L0: 优先级编码优先级编码R: 优先级自动循环优先级自动循环SL: 指定优先级指定优先级EOI: 结束中断命令结束中断命令 A0 D7D6 D5 D4 D3 D2 D1 D0 0 R SL EOI 0 0 L2 L1 L0R SL

44、EOI0 0 1 非指定非指定EOI命令命令(NSEOI), 全嵌套方式全嵌套方式0 1 1 指定指定EOI命令命令(SEOI),全嵌,全嵌 套方式,按套方式,按L2-L0编码复位编码复位ISR 1 0 1 NSEOI 命令,优先级自动循环命令,优先级自动循环1 0 0 自动自动EOI,设置优先级自动循环,设置优先级自动循环0 0 0 自动自动EOI,取消优先级自动循环,取消优先级自动循环 (固定优先级固定优先级) 1 1 SEOI命令,按命令,按L2-L0编码循环编码循环 优先级优先级(L2-L0设为最低优先设为最低优先级级)1 1 0 按按L2-L0编码循环优先级编码循环优先级(L2-L0

45、 设为最低优先级设为最低优先级) 45OCW3屏蔽方式和读出控制字屏蔽方式和读出控制字 ESMM: 允许使能特殊屏蔽方式允许使能特殊屏蔽方式SMM: 特殊屏蔽方式特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位特殊屏蔽方式置位1 0 特殊屏蔽方式复位特殊屏蔽方式复位0 x 非特殊屏蔽方式非特殊屏蔽方式P(Polling): =1 查询方式查询方式 =0 非查询方式非查询方式A0 D7D6 D5 D4 D3 D2 D1 D0 0 0 ESMM SMM 0 1 P RR RISRR: 读寄存器读寄存器RIS: ISR/IRR选择选择RR RIS1 1 读读ISR1 0 读读IRR0 x 无效无

46、效46OCW3(续)(续)查询方式允许查询方式允许8259A不工作于中断方式,而是以查询方式工作。不工作于中断方式,而是以查询方式工作。 CPU先写一个先写一个D2=1的的OCW3,再对同一地址读入,即可得到,再对同一地址读入,即可得到如下状态字节:如下状态字节: I x x x x R2 R1 R0 I=1表示有中断请求,中断请求号为表示有中断请求,中断请求号为R2-R0 此查询步骤可反复执行,以响应多个同时发生此查询步骤可反复执行,以响应多个同时发生 的中断。的中断。 读读IRR/ISR:写入此命令后,随后再对同一地址读,即可得到:写入此命令后,随后再对同一地址读,即可得到IRR或或ISR

47、的内容。的内容。475、8259A编程举例编程举例按以下要求初始化按以下要求初始化8259A: 接口地址为接口地址为20H和和21H; 中断为上升沿触发;单片中断为上升沿触发;单片8259A;不写;不写ICW4; 与与IR0-IR3对应的中断向量码为对应的中断向量码为08H-0BH; IR4-IR7不使用。不使用。根据要求,各初始化参数及工作参数如下:根据要求,各初始化参数及工作参数如下: ICW1 = 0001 0010 = 12H ICW2 = 08H 中断向量码中断向量码 OCW1 = 1111 0000 = 0F0H 中断屏蔽字中断屏蔽字 48 5、8259A编程举例(续)编程举例(续

48、)初始化程序如下:初始化程序如下:INIT8259A:MOVDX,20H;A0=0,写,写ICW1MOVAL,12H;上升沿触发,单片,不写;上升沿触发,单片,不写ICW4OUTDX,ALMOVDX,21H;A0=1,写,写ICW2,OCW1MOVAL,08H;ICW2OUTDX,ALMOVAL,0F0H;OCW1:屏蔽:屏蔽IR4-IR7OUTDX,AL49 特殊屏蔽例:特殊屏蔽例: CLI ;IR4中断处理程序中断处理程序CLIMOV AL,68H ;OCW3:0 1 1 0 1 0 0 0OUT 0C0H,AL ;设置特殊屏蔽方式;设置特殊屏蔽方式IN AL,0C2H OR AL,10H

49、 ;屏蔽;屏蔽IR4;10H0001 0000OUT 0C2H,AL STI ;IR7请求,响应,返回请求,响应,返回50 CLIIN AL,0C2H ;读出屏蔽字;读出屏蔽字AND AL,0EFH ;EFH=1110 1111清除清除IMR4OUT 0C2H,ALMOV AL,48H ;OCW3:0 1 0 0 1 0 0 0OUT 0C0H,AL ;取消特殊屏蔽;取消特殊屏蔽STI ;继续;继续IR4中断服务中断服务MOV AL,20H ;OCW2:0 0 1 0 0 0 0 0 (EOI)OUT 0C0,ALIRET516、 PC机中断程序设计机中断程序设计1)主程序)主程序保存原中断向

50、量保存原中断向量设置自己的中断向量设置自己的中断向量初始化堆栈指针初始化堆栈指针设置设置8259A的中断屏蔽字(其他的已由操作系统设置)的中断屏蔽字(其他的已由操作系统设置)STI2)中断服务程序)中断服务程序保存所用到的寄存器内容保存所用到的寄存器内容中断服务程序主体中断服务程序主体恢复进入时保存的寄存器内容恢复进入时保存的寄存器内容发发EOI命令(必要时可提前)命令(必要时可提前)STI(必要时可提前)(必要时可提前)IRET52中断程序举例中断程序举例PC机中主机中主8259A的的I/O地址为地址为20H和和21H,中断向量码为,中断向量码为08H;中断请求从中断请求从IR6引入,故中断

51、类型号为引入,故中断类型号为0EH;主程序如下:主程序如下:;保存原来的中断向量;保存原来的中断向量movah,35hmoval,0eh;中断类型码;中断类型码int21h;取原中断向量(在;取原中断向量(在es:bx中)中)movsave_ip,bx;保存原来的中断向量;保存原来的中断向量movsave_cs,es53;设置自己的中断向量设置自己的中断向量pushdsmovdx,offset my_intmovax,seg my_intmovds,ax;DS:DX的内容为的内容为my_int的首地址的首地址movah,25hmoval,0ehint21h ;设置自己的中断向量;设置自己的中断

52、向量popds;初始化堆栈指针初始化堆栈指针movsp,my_stack_top ;设置设置8259A的中断屏蔽字的中断屏蔽字inal,21handal,10111111b;开放;开放IR6中断中断out21h,alsti 54 子程序如下:子程序如下:my_int proc farpusha popamoval,20h;EOI命令,命令,00100000B out20h,al;写;写OCW2stiiretmy_int endp55实验安排(14周和16周) 周三上午周三上午08:3012:00 自动化自动化C072+C073(半半) 周四上午周四上午08:3012:00 自动化自动化C071

53、+C073(半半) 周四下午周四下午14:3018:00 生医生医C071+C072565.4 计数/定时接口5.4.1 基本概念基本概念计数定时接口电路需要讨论的问题:计数定时接口电路需要讨论的问题:1、计数容量、计数容量 2、计数频率、计数频率3、计数过程、计数过程4、输出信号、输出信号572、定时功能的实现方法、定时功能的实现方法:(1)软件延时)软件延时利用微处理器执行一个延时程序段实现利用微处理器执行一个延时程序段实现不用硬件,但占用不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率改变时间、定时精度不高,随系统时钟频率改变(2)不可编程的硬件定时)不可编程的硬件定时采用分频器

54、、单稳电路或简易定时电路控制定时时间采用分频器、单稳电路或简易定时电路控制定时时间定时电路简单、定时时间可以在一定范围改变定时电路简单、定时时间可以在一定范围改变(3)可编程的硬件定时)可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路具有多种工作方式、能够输出多种控制信号具有多种工作方式、能够输出多种控制信号585.4.2 计数/定时器 82531、 8253的结构和工作原理 1 8253 图 2-1 8253 的 引 脚 图 GATE1 GATE2 OUT2 (M SB ) D0 OUT1 GND C S

55、 W R 2 3 4 OUT0 5 6 7 8 9 10 11 23 22 21 20 19 18 17 16 15 VCC D7 24 12 14 13 D6 D5 D4 D3 D2 D1 GATE0 R D A1 C LK1 C LK2 A0 C LK0 591)D0-D7:计算机总线;:计算机总线; :计算机写命令:计算机写命令OUT有效;有效; :计算机读命令:计算机读命令IN有效;有效; :由地址总线高位(比如:由地址总线高位(比如A2-A9)通过)通过138译码器和与非门等组合而成译码器和与非门等组合而成WR_RD_CS_CS A1 A0I/O地址地址读操作读操作RD写操作写操作W

56、R0 0 00 0 10 1 00 1 140H41H42H43H读计数器读计数器0读计数器读计数器1读计数器读计数器2无操作无操作写计数器写计数器0写计数器写计数器1写计数器写计数器2写控制字写控制字602)A0,A1:分别对应:分别对应3个计数器和控制字寄存器;个计数器和控制字寄存器;3)三个独立的十六位计数器:)三个独立的十六位计数器:CPU可对其进行工作方式设定、计数次可对其进行工作方式设定、计数次数的预置。每当对数的预置。每当对CLK口的计数结束时,口的计数结束时,OUT口会有一个结束标志。口会有一个结束标志。GATE门控信号,用于控制计数的进行。门控信号,用于控制计数的进行。4)计

57、数启动:)计数启动:8253计数器的计数过程,可以直接用程序来启动,也可以设计数器的计数过程,可以直接用程序来启动,也可以设置成接在置成接在GATE口外部电路的信号启动,分别称为软件启动和硬件启动。口外部电路的信号启动,分别称为软件启动和硬件启动。预置寄存器预置寄存器OUT减减1计数器计数器输出锁存器输出锁存器GATECLK61计数器的计数器的3个引脚说明:个引脚说明:q CLK时钟输入信号时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(在计数过程中,此引脚上每输入一个时钟信号(下降沿下降沿),计数器的计数),计数器的计数值减值减1q GATE门控输入信号门控输入信号控制计数器工作,可分

58、成控制计数器工作,可分成电平控制电平控制和和上升沿控制上升沿控制两种类型两种类型q OUT计数器输出信号计数器输出信号当一次计数过程结束(计数值减为当一次计数过程结束(计数值减为0),),OUT引脚上将产生一个输出信号引脚上将产生一个输出信号q计数初值存于预置寄存器;计数初值存于预置寄存器;q在计数过程中,减法计数器的值不断递减,在计数过程中,减法计数器的值不断递减,q而预置寄存器中的预置不变。而预置寄存器中的预置不变。q输出锁存器用于写入锁存命令时,锁定当前计数值输出锁存器用于写入锁存命令时,锁定当前计数值622、 8253的的编程(1)写方式控制字写方式控制字 计数器计数器读写格式读写格式

59、工作方式工作方式数制数制D7D6D5D4D3D2D1D00 二进制二进制1 十进制十进制00 计数器计数器001 计数器计数器110 计数器计数器211 非法非法00 计数器锁存命计数器锁存命令令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式5控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)633、 8253的工作方式的工作方式 (1)方式)方式0:计数结束中断:计数结束中断GATEOUTCLK 031

60、244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATE=1 允许计数;允许计数;GATE=0/下降沿下降沿 禁止计数禁止计数CPU 写计数器操作写计数器操作 写低字节后终止上次计数,写低字节后终止上次计数, 写高字节后开始新的计数写高字节后开始新的计数64(2)方式)方式1:可编程单稳脉冲:可编程单稳脉冲设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR GATE=正跳变正跳变 1.启

温馨提示

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

评论

0/150

提交评论