第7章-中断处理和定时计数技术_第1页
第7章-中断处理和定时计数技术_第2页
第7章-中断处理和定时计数技术_第3页
第7章-中断处理和定时计数技术_第4页
第7章-中断处理和定时计数技术_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

中断的基本概念第

7

中断处理与定时计数器技术8086中断结构可编程中断控制器8259A可编程定时计数器82537.1

中断概述一.中断的基本概念1.中断:是指某事件的发生引起CPU暂停当前程序的执行,转去对所发生的事件进行处理,处理结束后又回到原程序被打断处接着执行这样一个过程。中断断点IRET中断服务子程序主程序2.中断源:是指能够引发中断的事件。

内部中断源:CPU内部产生

a.软件中断。INT等软中断

b.

执行指令出错。如除法错误等

外部中断源:外部设备产生

a.输入、输出设备中断

b.实时时钟中断

c.实时监控系统中断等

d.计算机掉电、I/O通道出错、内存读、写出错等2.中断检测与响应执行指令指令结束否?有中断请求吗?非屏蔽中断吗?IF=1吗?NYYY取下一条执行指令NNNY①②③CPU硬件自动完成CPU产生两个INTA负脉冲关闭中断保护断点、保护现场、开中断中断服务关中断恢复现场IRET中断返回中断服务程序完成①②③3.中断矢量表

中断矢量表给出了不同中断源与其终端入口地址的对应关系。响应中断时CPU能根据中断源提供的中断类型号在中断矢量表中找到相应中断服务子程序入口地址。4.中断屏蔽

中断屏蔽是指CPU通过软件能够实现中断禁止的一种功能。7.1.2中断处理过程

中断方式的实现一般需要经历下述过程:

中断请求→中断排队→中断响应→断点及现场保护→中断服务→断点恢复→中断返回1)中断请求

外部中断源产生的中断请求信号应符合下列有效性规定:

①信号形式应满足CPU要求;

②中断请求信号应被有效地记录,以便CPU能够检测到;

③一旦某个中断请求被处理完,则该中断请求信号应及时撤销。2)中断排队(即中断优先级)

中断请求是随机发生的,有时多个中断源会同时提出中断请求,由于CPU每次只能相应一个中断源的中断请求,因此中断系统必须根据各中断源的轻重缓急,安排一个优先顺序,这就是中断排队。中断排队可以采用硬件方法实现,也可以采用软件方法实现。

3)中断响应

CPU对内部中断源提出的中断请求必须接受,而对外部中断源产生的中断请求是否响应则取决于外中断源类型及响应条件。如CPU对非屏蔽中断请求会立即做出响应,而对可屏蔽中断请求则要根据当时的条件做出反应。CPU在每条指令执行的最后一个时钟周期对外部中断进行检测。

中断相应过程是硬件软件相互配合的过程,不同系统有不同的实现方法,一般有一下两种:

中断隐指令:CPU相应中断后,由硬件电路直接向CPU提供调用指令的机器码,接着CPU执行这条,而转入中断程序入口地址。

中断矢量:由请求中断的外设向CPU提供中断矢量,CPU在中断矢量表中查找对应中断矢量的中断入口地址,并转去执行中断服务程序。8086/8088系统响应可屏蔽中断INTR的条件为:

①指令执行结束;

②CPU处于开中断状态(IF=1);

③没有发生复位(RESET)、保持(HOLD)和非屏蔽中断请求(NMI);

④开中断指令(STI)和中断返回指令(IRET)执行完,需要再执行一条指令才能响应INTR。3)断点、现场保护

为了能在中断处理结束时,使CPU回到被中断程序的断点处接着执行,需要对被中断程序的断点信息进行保护。不同的CPU所做的断点保护操作不一样,8086/8088CPU采取硬件自动保护断点地址(段地址和偏移量)和标志寄存器内容的方法。现场其他信息的保护则需要通过软件在中断服务程序中完成。

4)中断服务

中断服务是完成对所识别中断源的功能性处理。不同的中断源,要求CPU对其进行的处理可能各不相同,所以其中断服务程序的内容、复杂程度也就不同,这是整个中断处理的核心。5)现场恢复即将现场保护时压入堆栈的内容按相反的顺序弹出堆栈,放到原存储处。6)中断返回

CPU硬件断点保护的相反操作,使CPU能够从中断处理程序返回到原程序被打断处继续执行。通过在中断服务程序末尾安排一条中断返回指令实现。7.1.3中断优先级

目前采用的解决中断优先级控制的方案有:

软件查询;

硬件链式优先级排队电路;

③硬件优先级编码比较电路;①

软件查询法

XORAL,ALMOVDX,340HINAL,DXRCRAL,1JCSV0RCRAL,1JCSV1RCRAL,1JCSV2RCRAL,1JCSV32.硬件链式优先级排队电路:菊花链逻辑电路INTAinIREQINTR≥1=1

≥1INTAoutDB三态门中断向量码E外设接口中断确认菊花链逻辑电路7.1.4中断嵌套

有了优先级控制逻辑,就可以形成中断嵌套(即中断套中断),并可在多级上进行。

要保证多级中断嵌套的顺利进行,需做以下工作:

在中断处理程序中要有开中断指令;

要设置足够大的堆栈;

③要正确地操作堆栈。7.28086微处理器的中断方式7.3中断管理8088的中断系统采用向量中断机制,也叫矢量中断或者类型中断。能够处理256个中断。用中断向量号0-255区别。这256种不同类型的中断可以来自外部,即由硬件产生,也可以来自内部,即由软件(中断指令)产生,或者满足某些特定条件后引发CPU中断。可屏蔽中断还需要借助专用中断控制器Intel8259A实现优先权管理8086的中断类型中断逻辑INTO指令单步中断除法错误INTN指令CPUINTRNMI8259A中断控制器IR0IR1IR2IR3IR4IR5IR6IR7可屏蔽中断外设中断源

INTA内部中断除法错中断单步中断断点中断溢出中断指令中断非屏蔽中断外部中断非屏蔽中断可屏蔽中断特点1.外部中断外部中断是由于8086外部提出中断请求引起的程序中断。利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件。外部中断是由处理器外部随机产生的,是真正的中断(Interrupt)。内部中断是处理器执行程序出现异常,所以经常被称为异常(Exception)。⑴

非屏蔽中断通过非屏蔽中断请求信号NMI向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断。8086的非屏蔽中断的向量号为2。非屏蔽中断主要用于处理系统的意外或故障。例如:电源掉电前的数据保护存储器读写错误的处理⑵

可屏蔽中断(INTR)外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断8086的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器8086通常需要配合中断控制器8259A共同处理可屏蔽中断可屏蔽中断主要用于主机与外设交换数据INTR中断处理过程(无嵌套)中断断点IRET中断服务子程序主程序自动关中断保护PSW保护断点INTA响应中断获取中断类型获取中断向量保护现场中断处理恢复现场恢复PSW恢复断点2.内部中断内部中断是由于8086内部执行程序出现异常引起的程序中断利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用(1)除法错中断类型号为00H在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法错中断。例如:movbl,0idiv

bl

;除数BL=0,产生除法错中断movax,200hmovbl,1divbl

;商=200H,不能用AL表达 ;产生除法错中断(2)单步中断(陷阱中断)类型号为01H若CPU内的标志寄存器FLAGS中的跟踪标志TF=1且中断允许标志IF=1时,每执行完一条指令,CPU将引起一次类型号为1的内部中断,称为单步中断。单步中断是一种很有用的调试方法,每执行一条指令后停下来,显示所有寄存器的内容和标志位的值以及下一条要执行的指令,以便用户检查该条指令进行了什么操作,是否得到了预期结果。例如:DEBUG.EXE调试程序的单步命令T就利用单步中断实现对程序的单步调试(3)断点中断类型号为03H提供给用户一个调试手段,它的中断类型号为3。通常在DEBUG调试程序时,可在程序中任意指定断点地址,当CPU执行到断点时便产生中断,同时显示当前各寄存器的内容和标志位的值以及下一条要执行的指令,供用户检查在断点以前的程序运行是否正常。设置断点实际上是把一条断点指令INT3插入程序中,CPU每执行到断点处的INT3指令便产生一个中断。(4)溢出中断类型号为04H在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个向量号为4的内部中断,被称为溢出中断。例如,才用下面的指令用来测试加法的溢出:movax,2000haddax,7000h

;2000H+7000H=9000H,溢出:OF=1into ;因为OF=1,所以产生溢出中断(5)指令中断在执行中断调用指令INTn时产生的一个向量号为n(0-255)的内部中断,称为指令中断。其中n在理论上可取值0-255。当n=0、1、3、4时,就是上述的四种内部中断。INTn中已有不少被微机系统的ROM-BIOS和DOS功能调用所定义,它们的操作大多涉及外部设备的I/O操作。

内部中断的特点除单步中断以外,所有内部中断都不能被屏蔽。所有内部中断不从外部接口中读取中断类型号也不发送中断响应信号,即不执行中断响应的总线周期。指令中断没有随机性,外中断是随机性的。指令中断是由程序中指令引起的,指令位置事先已知。外中断是随机性的,由I/O设备引起,何时引起事先未知。除单步中断外,所有内部中断的优先权都比外部中断的优先权高。中断优先级8086/8088的中断优先级由高到低的顺序排列如下:除法出错中断、INTn、INTO;非屏蔽中断NMI;可屏蔽中断INTR;单步中断8086的中断响应过程中断嵌套中断嵌套是指当CPU因响应某一中断源的中断请求而正在执行它的中断服务程序时,若中断是开放的,那它必然可以把正在执行的中断服务程序暂停下来转而响应和处理中断优先级更高的中断请求,等到处理完后再转回来继续执行原来的中断服务程序。8086的中断向量表中断向量:中断服务程序的入口地址(首地址)逻辑地址含有段地址CS和偏移地址IP(32位)每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节8088微处理器从物理地址000H开始,依次安排各个中断向量,向量号也从0开始256个中断占用1KB区域,就形成中断向量表向量号为N的中断向量的物理地址=N×4其中:IP=(4N,4N+1)CS=(4N+2,4N+3)8086的中断向量表返回向量号255的CS值用户中断(向量号255)0000H:03FCH向量号255的IP值……向量号2的CS值非屏蔽中断(向量号2)0000H:0007H向量号2的IP值向量号1的CS值单步中断(向量号1)0000H:0003H向量号1的IP值向量号0的CS值除法错中断(向量号0)0000H:0000H向量号0的IP值设置中断向量前面提到8086/8088利用向量中断的方法,一旦响应中断可方便地找到中断服务程序的入口地址。它是在规定的内存区域中,每4个连续字节存放一个中断向量,可建立一个1K字节大小的中断向量表。尽管表规定了内存区域,但表中的内容,除已被系统定义的中断类型的中断向量以外,其它新增加的中断类型要在中断向量表中由用户建立相应的中断向量。为了让CPU响应中断后正确转入中断服务程序,中断向量表的建立是非常重要的。介绍用三种方法来为中断类型N设置中断向量。1)直接装入法PUSHDSXORAX,AXMOVDS,AXMOVBX,N*4MOVAX,OFFSETNEWINTMOVWORDPTR[BX],AXMOVAX,SEGNEWINTMOVWORDPTR[BX+2],AXPOPDS

NEWINTPROC

IRETNEWINTENDP2)使用串送存指令装入法MOVAX,0MOVES,AXMOVDI,N*4MOVAX,OFFSETNEWINTCLDSTOSWMOVAX,SEGNEWINTSTOSW3)使用DOS功能调用设置中断向量设置中断向量是把由AL指定的中断类型N的中断向量DS:DX放置在中断向量表中。预置:AH=25H功能号

AL=N中断类型号

DS:DX=中断向量执行:INT21H例如:PUSHDSMOVAX,SEGNEWINTMOVDS,AXMOVDX,OFFSETNEWINTMOVAL,NMOVAH,25HINT21HPOPDS保存原中断向量用户可以利用保留的中断类型号扩充自己需要的中断功能,对新增加的中断功能要在中断向量表中建立相应的中断向量。如果新增加的中断功能只供自己使用,或用自己编写的中断处理功能时,要注意保存原中断向量。在设置自己的中断向量时,应先保存原中断向量再设置新的中断向量,在程序结束之前恢复原中断向量。取中断向量是把由AL指定的中断类型N的中断向量从中断向量表中取到ES:BX中。预置:AH=35H功能号

AL=N中断类型号

ES:BX=中断向量执行:INT21H例如:编写一个程序段,实现将中断类型号为N的原中断向量取出并存入到以NEWOLD开始的4个单元。MOVAL,NMOVAH,35HINT21HMOVNEWOLD,ESMOVNEWOLD+2,BX5.中断控制方式的必要性

分时操作

实时处理

③故障处理

④程序运行的必需机制

⑤其他§7.3中断控制器8259A一、8259A的引脚信号,编程结构和工作原理1、8259A的外部引脚信号和CPU相连

D0~D7:数据线

INT:中断请求(8259A→CPU)

A0:片内端口选择INTA:中断响应信号RD:读信号WR:写信号CS:片选信号和外设相连

IR7~IR0:中断请求(外设→8259A)和同类芯片相连

CAS0~CAS2:指出具体从片SP/EN:主/从片选择(输入)或启动总线驱动器(输出)2、8259A的编程结构和工作原理编程结构7个寄存器初始化命令字ICW1~ICW4操作命令字OCW1~OCW3控制部件IRR:中断请求寄存器PR:中断优先级裁决器ISR:中断服务寄存器处理部件8259A对外部中断的处理过程:①IRR接收中断请求并锁存;②IMR决定是否此请求通过;③中断优先级裁决器把新请求和正在处理的中断进行比较,如新中断优先级高,则向CPU发中断请求;④若IF=1,则CPU执行完当前指令后响应此中断,即从INTA引脚回送两个负脉冲;二、8259A的工作方式1、设置优先级的方式:①全嵌套方式:优先级固定,次序由高到低依次为0~7;②特殊全嵌套方式:可响应同级中断;8259A8259AINT主片:从片:01234567

81012149111315优先级次序:主片:0,1

从片:8~15

主片:3~7

③优先级自动循环方式:某中断被响应后,优先级自动降为最低,初始状态IR0为最高优先级;④优先级特殊循环方式:初始状态优先级由编程设定;2、屏蔽中断源的方式①普通屏蔽方式:8259A的每个中断请求输入端都可以通过对应屏蔽位的设置被屏蔽;②特殊屏蔽方式:应用于中断服务程序中,可在某一段区域内响应低级中断;3、结束中断处理的方式问题:为什么要进行结束中断处理?具体动作:对应ISn位清0①中断自动结束方式:只有一片8259A,且不允许嵌套,对应的ISn位在第二个INTA脉冲结束时被请除;②一般的中断结束方式:用于全嵌套方式,中断结束时自动清除优先级最高的ISn位;③特殊的中断结束方式:用于非全嵌套方式;中断结束时清除指定的ISn位;4、连接系统总线的方式①缓冲方式:通过总线驱动器和数据总线相连;②非缓冲方式:直接和数据总线相连;B0~78286TOEA0~7SP/END0~78259A+5V数据总线缓冲方式:SP/END0~78259A

(从片)数据总线非缓冲方式:SP/END0~78259A

(主片或单片)数据总线+5V5、引入中断请求的方式:①边沿触发方式:上升沿触发;②电平触发方式:高电平触发;③中断查询方式:CPU靠查询确定为哪个设备服务;工作过程:关中断输出OCW3输入查询字查询字格式:I————W2W1W0当前中断请求的最高优先级1:有请求0:无请求三、8259A的初始化命令字和操作命令字1、8259A的初始化命令字①ICW1:芯片控制初始化命令字(A0=0)1LTIMADISNGLIC4是否需要ICW4=1需要是否处于级联状态=1单片=0级联8086/8088系统中无效中断请求信号形式=1电平触发=0脉冲触发特征位8086/8088系统中不用②ICW2:中断类型码初始化命令字(A0=1)T7T6T5T4T30008086/8088系统中无效中断类型码高5位ICW3:标志主片/从片的初始化命令字(A0=1)级联方式设置IR7IR6IR5IR4IR3IR2IR1IR0主片:=1,说明对应引脚上连接有片连接主片哪一引脚00000ID2ID1ID0从片:不用D0~D7INTAINTCAS08259A(3)CAS1CAS2SP/ENIR7IR0GNDD0~D7INTAINTCAS08259A(2)CAS1CAS2SP/ENIR7IR0GNDD0~D7INTAINTCAS0CAS18259A(1)CAS2SP/ENIR7IR0Vcc

控制总线数据总线OCW3的值:

8259A(1):0100100048H8259A(2):0000011006H8259A(3):0000001103H④ICW4:方式控制初始化命令字(A0=1)000SFNMBUFM/SAEOIμPM=1为8086/8088系统中断结束方式=0非自动结束方式=1自动结束方式主片/从片选择(缓冲方式有效)=0从片=1主片缓冲方式设定=1缓冲方式=0非缓冲方式特殊全嵌套方式设定=1特殊全嵌套方式不用2、8259A的初始化流程:送ICW1送ICW2送ICW3送ICW4准备接收中断级联方式?需要ICW4?NNYY举例:设某系统只有一片8259A,端口地址为80H和81H,边沿触发,需设ICW4,中断类型码为18H~1FH,一般全嵌套方式,非自动中断结束,缓冲方式。程序:

MOVAL,13H OUT80H,AL MOVAL,18H OUT81H,AL MOVAL,0DH OUT81H,AL00010011需ICW4单片方式边沿触发000011018086/8088系统非自动中断结束主片缓冲方式一般全嵌套方式00011000中断类型码高五位3、8259A操作命令字①OCW1:中断屏蔽命令字(A0=1)M7M6M5M4M3M2M1M0若Mi位为1,则对应IRi的中断请求就被屏蔽,若为0,则对应IRi的中断请求就被允许。举例:设8259A端口地址为20H和21H,开放IR2和IR7中断,其它均被屏蔽MOVAL,7BH;01111011OUT21H,AL要想读出中断屏蔽寄存器IMR的值:INAL,21H②OCW2:设置优先级循环方式和中断结束方式命令字(A0=0)RSLEOI00L2L1L0中断等级代码特征位中断结束方式:=1发中断结束命令说明L2L1L0是否有效:=0无效,=1有效中断优先级循环方式:=0固定优先级,=1循环优先级R,SL,EOI的各种组合的意义:RSLEOI意义000结束优先级自动循环方式001一般中断结束命令010无意义011特殊中断结束命令,ISn由L2L1L0指定100设定优先级自动循环方式101一般中断结束命令,且当前优先级次序左移一位110设定优先级特殊循环方式,由L2L1L0指定最低优先级111特殊中断结束命令,并设定为最低优先级3、OCW3:(A0=0)功能设置和撤消特殊屏蔽命令设置中断查询命令设置对8259A内部寄存器的读出命令0ESMMSMM01PRRRIS=0读IRR=1读ISR=1读IRR和ISR内容=1中断查询工作方式=1设置特殊屏蔽方式=0撤消特殊屏蔽方式SMM允许位:=1SMM有效,=0SMM无效特征位不用P,RR,RIS的各组合的意义:PRRRIS意义1××读查询字00×不读寄存器010读IRR011读ISR举例:设某系统只有一片8259A,端口地址为20H、21H,编程序将8259A的IRR,ISR和IMR三个寄存器的内容读出,存入数据段BUF开始的单元。程序:

MOVAL,0AH OUT20H,AL INAL,20H MOVBUF,AL MOVAL,0BH OUT20H,AL INAL,20H MOVBUF+1,AL INAL,21H MOVBUF+2,AL读IRR内容读ISR内容读IMR内容初始化命令字和操作命令字小结:①占用端口地址:

A0=0:ICW1,OCW2,OCW3A0=1:ICW2,ICW3,ICW4,OCW1②区分方法:

A0=0,按特定位区分:

ICW1—D4=1,

OCW2—D4D3=00,

OCW3—D4D3=01A0=1,按写入顺序区分:ICW2,ICW3,ICW4在ICW1之后顺序写入,OCW1在初始化后任一时刻写入。③写入时间:ICW—初始化时,OCW—工作过程中四、8259A使用中的一个问题电平触发方式下中断请求信号应何时撤消?INTAIR正确:INTAIR过晚:可能引起多次中断INTAIR过早:无法识别,自动设为IR7五、8259A使用举例1、关于中断全嵌套的例子特点:只响应高级中断,优先级固定,中断服务程序最后应执行中断结束指令。条件:①主程序必须开中断;②中断服务程序也必须开中断;③中断服务程序结束时应执行中断结束命令;2、关于如何使用中断结束命令的例子初始化开中断开中断开中断关中断中断结束命令开中断中断返回关中断中断结束命令开中断中断返回IR3请求中断IR3中断处理程序IR2请求中断主程序IS4被清除IS3置1IR3有中断请求IR4中断处理程序IS4置1IS2被清除IS1被清除IR1中断处理程序IS1置1IS2置1IR2中断处理程序初始化STISTI中断结束命令STIIRET中断结束命令STI中断结束命令STIIRET中断结束命令IRETIRETIR2和IR4有中断请求IR1有中断请求IR3中断处理程序IS3被清除ISR=00000000ISR=00000100ISR=00000110ISR=00000100ISR=00010000ISR=00011000ISR=00010000ISR=00000000ISR=000000003、关于特殊屏蔽方式的例子特殊屏蔽方式的使用方法:通过OCW3使8259A工作于特殊屏蔽方式,再用OCW1对屏蔽寄存器中本级中断的对应位置位,即可使系统除了本级中断外,响应其他任何未被屏蔽的中断请求。举例:设8259A的偶地址端口为80H,奇地址端口为81H,且系统当前正在为IR4进行中断服务。……CLIMOVAL,68HOUT80H,ALINAL,81HORAL,10HOUT81H,ALSTI……CLIINAL,81HANDAL,0EFHOUT81H,ALMOVAL,48HOUT80H,ALSTI……MOVAL,20HOUT80H,ALIRET;01001000撤消特殊屏蔽方式;IR4对应屏蔽位置1;IR4对应屏蔽位清0;01101000设置特殊屏蔽方式;00100000中断结束命令六、多片8259A组成的主从式中断系统说明:①每片8259A都要分配两个端口地址;②主片初始化时,ICW1中的SNGL位必须为0,ICW3指明哪个引脚连有从片,一般通过ICW4的SFNM位设为特殊全嵌套方式;③从片初始化时,ICW1中的SNGL位也必须为0,ICW3指明该从片接主片的哪个引脚;主从式中断系统的响应过程:①从片的INT引脚往主片的IRn引脚上发送一个中断请求信号;②该中断请求信号通过主片的INT引脚送到CPU;③CPU回送两个INTA信号,同时送到主片和各从片;⑤被选通的从片收到第一个INTA信号后,将相应ISn位置1,同时清除相应IRn位;⑥第二个INTA信号到来后,主片没有动作,从片将中断类型码送到数据总线上;④主片收到第一个INTA信号后,将相应ISn位置1,同时清除相应IRn位;并将从片标号值送到CAS0~CAS2上;主从式中断系统中的优先级排列:设系统中有一个主片,两个从片,且从片1接主片IR1引脚,从片2接主片IR2引脚,则优先级排列如下:主片:IR0

从片1:IR0~IR7

从片2:IR0~IR7

主片:IR3~IR7习题与思考题1、中断控制器的功能;2、8259A的编程结构和工作原理;3、8259A各工作方式特点和区别;4、8259A的初始化流程;5、读IRR,ISR和IMR的方法;6、电平触发方式下中断请求信号应何时撤消?7、看懂8259A的应用实例;8、主从式中断系统中优先级的排列次序;

8.3.38253-5的工作方式

在任何一种方式下,都必须先向8253写入控制字,控制字还起复位作用,它使OUT端变为工作方式中规定的状态和对计数初值寄存器CR清零;然后再写入计数初值到CR中,其最大值为0000H。

一、方式0—计数结束中断方式(InterruptonTetminalCount)

方式0是典型的事件计数用法,CLK端作为事件计数输入信号,当计数执行单元CE为零时,OUT端变为高电平,它可作为中断请求信号。 方式0的时序波形见图。 方式0的特点和应用(1)计数过程由软件启动。(2)GATE的作用是开放计数或禁止计数。(3)OUT端由低变高表示计数过程结束。

二、方式1—硬件可重触发单稳态方式(HardwareRetriggerableOne-Shot)

计数器相当于一个可编程的单稳态电路,触发输入为GATE信号,由GATE的上升沿触发计数器工作。 方式1的时序波形见图。方式1的时序波形图。方式1的特点和应用(1)计数器的启动只能由门控脉冲的上升沿产生,即只能用硬件启动。(2)OUT输出为一个单稳态负脉冲,其脉宽为计数初值个CLK时钟脉冲的周期之和。(3)在形成单稳态脉冲过程中,可以重触发。(4)在微机实时控制系统中常用作监视时钟(WatchdogTimer)。三、方式2—速率发生器(RateGenenator)

方式2能产生周期性的定时信号, 称为速率发生器, 又称为N分频方式和周期性定时器方式。 方式2的时序波形见图。方式2的时序波形图。方式2的特点和应用(1)CR内容能自动地、重复地装入到CE中,OUT端上就能连续地输出周期性分频信号。(2)既可软件启动,又可硬件启动。(3)改变计数初值,即可获得不同速率的OUT输出信号。(4)负脉冲宽度均为一个CLK脉冲的周期。(5)主要应用是作为分频器和时基信号。四、方式3—方波方式(SquareWareMode)

方式3的操作方式除OUT输出方波之外,和方式2相似。方波的重复周期是计数初值个CLK脉冲周期之和。 方式3的时序波形见图。方式3的时序波形图。方式3的特点和应用(1)方式3的计数过程是CE内容减2。(2)软件启动和硬件启动两种。(3)改变计数初值,OUT端将输出不同频率。(4)主要应用作为方波发生器和波特率发生器。 五、方式4—软件触发选通方式(SofewaveTriggeredstrode)

当写入方式控制字CW后,OUT端输出高电平。在写入计数初值后的一个CLK脉冲开始减1计数,直到CE为零时,使OUT输出变为低电平,当持续一个CLK脉冲周期后又恢复到高电平。在OUT端产生一个CLK脉冲周期宽度的选通负脉冲输出。 方式4的时序波形见图。方式4的时序波形图。

六、方式5—硬件触发选通方式(HardwareTriggeredStrobe)

方式5和方式1有些相似。CE到零时OUT端产生宽度为1个CLK脉冲周期的负脉冲选通输出信号。

方式5的时序波形见图。方式5的时序波形图。

8.3.48253-5的初始化 一、写入方式控制字 三个通道用的控制字端口地址是相同的,三个控制字写入后却存入通道对应的寄存器中。 二、写入计数初始值 三、读计数值 在动态读计数值时可以有两种方法:(1)以普通对计数器端口读的方法取得当前计数值。(2)锁存计数器的当前计数值。工作方式控制字SC1,SC0—计数器选择D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCDSC1SC0计数器00CNT001CNT110CNT211不用RL1,RL0—CPU读/写操作RL1RL0操作方式00计数器锁存操作(供CPU读)01只读/写计数器低8位10只读/写计数器高8位11先读/写底8位,再读/写高8位M2M1M0—工作方式选择BCD—计数方式选择M2M1M0工作方式000方式0001方式1X10方式2X11方式3100方式4101方式5016位二进制计数14位十进制(BCD)码计数选通信号GATE的功能低电平或进入低电平上升边沿高电平方式0禁止计数——允许计数方式1——1.初始化和计数2.下一个时钟后输出变为低电平——方式21.禁止计数2.使输出立即变为高电平1.初始化和计数2.计数器重新装入允许计数方式31.禁止计数2.使输出立即变为高电平1.初始化和计数2.计数器重新装入允许计数方式4禁止计数——允许计数方式5——初始化和计数——

8.3.58253-5的应用举例 一、用8253-5监视一个生产流水线主程序为:

M

温馨提示

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

评论

0/150

提交评论