可编程定时器计数器精选PPT.ppt

上传人:石*** 文档编号:87589234 上传时间:2023-04-16 格式:PPT 页数:95 大小:3.77MB
返回 下载 相关 举报
可编程定时器计数器精选PPT.ppt_第1页
第1页 / 共95页
可编程定时器计数器精选PPT.ppt_第2页
第2页 / 共95页
点击查看更多>>
资源描述

《可编程定时器计数器精选PPT.ppt》由会员分享,可在线阅读,更多相关《可编程定时器计数器精选PPT.ppt(95页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、可编程定时器计数器第1页,此课件共95页哦 7.1 8253 的功能、引脚与内部结构的功能、引脚与内部结构7.1.1 项目1:用8253对外部事件进行计 7.1.2 知识讲解 7.2 8253的控制字和读写操作的控制字和读写操作7.2.1项目2:用8253控制LED闪烁7.2.2知识讲解 7.3 8253的工作方式的工作方式7.3.1项目3:用8253控制继电器 7.3.2知识讲解 7.4 项目扩展与工程应用项目扩展与工程应用7.4.1项目4:电子琴 7.4.2项目5:用8253实现生产流水线上的工件计数 目录目录第2页,此课件共95页哦7.1 8253 的功能、引脚与内部结构的功能、引脚与内

2、部结构2项目电路连接与说明项目电路连接与说明(1)项目电路连接:8253的片选孔用导线接至译码处 200H207H插孔,CLK0接至按钮开关UP插孔上,GATE0接至+5V电源插孔上,OUT0接至反相器的 输入上,反相器的输出接至发光二极管 LED0的阴 极上。1项目要求与目的项目要求与目的(1)项目要求:利用8086外接8253可编程定时器/计 数器,可以实现对外部事件进行计数。(2)项目目的:学习8253芯片引脚及编程方法。学习8086与8253的连接方法。第3页,此课件共95页哦(2)项目说明:项目中计数器按方式0工作。即十六位二进制计数器。当计数设置好后,计数器就开始计数。项目所设计数

3、值为5,也就是外部5个脉冲,计数器值加1。同时OUT脚输出一个高电平。实验时,OUT0接至反相器的输入上,反相器的输出接至发光二极管LED0的阴极上,观察计数器是否工作。当脉冲按钮开关UP按5次(产生5个脉冲),计数器值加1,OUT0脚输出一个高电平,经过反相器后发光二极管LED0灯亮 第4页,此课件共95页哦3项目电路原理框图项目电路原理框图 利用8253对外部事件进行计数,电路原理框图如图7-1所示。电路由8086CPU芯片、8253芯片、按钮开关UP和发光二极管LED等组成。图71 电路原理框图 第5页,此课件共95页哦 图72 用8253对外部事件进行计数程序流程图4项目程序设计项目程

4、序设计(1)程序流程图利用8253对外部事件进行计数程序流程图 如图72所示。第6页,此课件共95页哦(2)程序清单利用8253对外部事件进行计数程序清单如下所示。CODE SEGMENTASSUME CS:CODESTART:MOV AL,30H ;二进制计数,方式0,先低后高,通道0MOV DX,203H;8253控制地址OUT DX,ALMOV AL,5 ;计数器初始值。MOV DX,200H;通道0地址OUT DX,AL ;低八位 MOV AL,0 OUT DX,AL ;高八位 AGAIN:JMP AGAIN CODE ENDS END START第7页,此课件共95页哦7.1.2 知

5、识讲解知识讲解 1定时器定时器/计数器基本概念与分类计数器基本概念与分类 在工业控制系统与计算机系统中,常常需要有定时信号,以实现定时控制,因此定时/计数器就显得非常重要。定时器与计数器二者的差别仅在于用途的不同,对以时钟信号作为计数脉冲的计数器就称为定时器,它主要用以产生不同标准的时钟信号或是不同频率的连续信号,而以外部事件产生的脉冲作为计数脉冲的计数器才称为计数器,它主要是用以对外部事件发的次数进行测量和计量。在计算机系统中使用的定时器/计数器归纳起来主要有三大类:软件定时器软件定时器/计数器、硬件定时计数器、硬件定时/计数器计数器和可编程定时器和可编程定时器/计数器。计数器。第8页,此课

6、件共95页哦 软件定时器/计数器是实现系统定时控制或延时控制的最简单的方法。在计算机中CPU每执行一条指令所占用的周期(T状态)数是确定的,用汇编语言编写一段具有固定延时时间的循环程序,将该程序的每条指令的T状态数加起来,乘以系统的时钟周期,就是该程序执行一遍所需的延时时间。设计者可选择不同的指令条数和不同的循环次数来实现不同的时间延迟。软件定时器软件定时器/计数器计数器第9页,此课件共95页哦硬件定时器硬件定时器/计数器计数器 硬件定时器/计数器是指由硬件电路来实现的定时与计数。对于较长时间的定时一般用硬件电路来完成,采用硬件定时/计数器它的成本低,使用方便。应用在计算机中以产生特定的信号,

7、如555时基电路、单稳延时电路或计数电路等,它们是通过外部的RC元件来实现定时的,该方法的缺点是一旦元件设定就不能改变、电路调试较麻烦、时间长电阻电容器件会老化,造成电路工作不稳定,影响定时准确度和稳定性第10页,此课件共95页哦 可编程定时器可编程定时器/计数器计数器 可编程定时器/计数器,是一种软硬件结合的定时器/计数器,是为了克服单独的软件定时器/计数器和硬件定时器/计数器的缺点,而将定时器/计数器电路做成通用的定时器/计数器并集成到一个芯片上,定时器/计数器工作方式又可由软件来控制选择。这种定时器/计数器芯片可直接对系统时钟进行计数,通过写入不同的计数初值,可方便地改变定时与计数时间,

8、在定时期间不占用CPU资源,更不需要CPU管理。Intel公司生产的8253就是这样的可编程定时器/计数器芯片。第11页,此课件共95页哦2.8253的主要功能的主要功能 Intel 8253是一种常用的可编程定时器/计数器接口芯片。8253具有三个独立的功能完全相同的16位减法计数器,24脚DIP封装,由单一的5 V电源供电。主要功能如下所示。主要功能:(1)每片8253上有三个独立的16位减法计数器,最大计数范围为065 535。(2)每个计数器都可按二进制或二十进制计数(BCD)。(3)每个计数器都有六种不同的工作方式,都可以通过程序设置和改变。(4)每个计数器计数脉冲的频率最高可达2

9、MHz (5)全部输入/输出与TTL电平兼容。第12页,此课件共95页哦 8253的读、写操作,对系统时钟没有特殊要求,因此可以应用于任何一种微机系统中,可作为可编程定时器、计数器还可以作分频器、方波发生器以及单脉冲发生器等。3.8253的引脚的引脚 8253引脚如图63所示。8253芯片有24根引脚,没有复位信号RESET引脚,各引脚信号定义如下。图73 8253引脚图 第13页,此课件共95页哦(21脚):片选信号,输入,低电平有效。它与译码器输出信号相连接,当为低电平时,8253芯片被CPU选中。A1(20脚)、A0(19脚):输入信号,用来对3个计数器和控制寄存器进行寻址,与CPU的系

10、统地址线相连。当A1、A0为00、01、10、11时分别表示对计数器0、计数器1、计数器2和控制寄存器的访问。8253的A1、A0与系统总线的哪根地址线相连,要考虑CPU是8位数据总线,还是16位数据总线。当CPU为8位数据总线时,8253的A1、A0可与地址总线的A1、A0相连;当CPU为16位数据总线时,8253的A1、A0引脚分别与地址总线的A2、A1相连。(23脚):写引脚,输入,低电平有效。用于控制CPU对8253的写操作,此引脚与CPU系统控制总线的相连。(22脚):读引脚,输入,低电平有效,用于控制CPU对8253的读操作,此引脚与CPU系统控制总线的相连。第14页,此课件共95

11、页哦8253读/写逻辑信号组合功能及地址分配如表71.第15页,此课件共95页哦CLK02:时钟,输入。CLK时钟信号用于控制计数器的减1操作,CLK可以是系统时钟脉冲,也可以由系统时钟分频或者是其他脉冲源提供,输入的时钟频率在1MHz2MHz范围内。GATE02:门控信号,输入,由外部信号通过GATE端控制计数器的启动计数和停止计数的操作。OUT02:时间到或计数结束输出引脚。当计数器计数到0时,在OUT引脚有输出。在不同的模式下,可输出不同电平的信号。第16页,此课件共95页哦4.8253的内部结构的内部结构 8253的内部结构如图64所示。由图可知,它由数据总线缓冲器、读写逻辑电路、控制

12、字寄存器和三个计数通道所组成。图74 8253的内部结构 第17页,此课件共95页哦 数据总线缓冲器 数据总线缓冲器是8位、双向、三态的缓冲器,通过8根数据线D0D7接收CPU向控制寄存器写入的控制字,向计数器写入的计数初值,也可把计数器的当前计数值读入CPU。读写逻辑电路 读写控制逻辑电路从系统总线接收输入信号,经 过译码,产生对8253各部分的控制信息。控制字寄存器 当地址信号A1和A0都为1时,访问控制字寄存器。控制字寄存器接收从CPU发来的控制字,控制字决定了8253的工作方式、计数方式以及使用哪个计数器等。控制字寄存器只能写入不能读出 第18页,此课件共95页哦 计数通道 8253有

13、3个相互独立的同样的计数电路,分别称作计数器0、计数器1和计数器2。每个计数器包含一个8位的控制寄存器(控制单元),它存放计数器的工作方式控制字;一个16位的初值寄存器CR(时间常数寄存器),8253工作之前要对它设置初值;一个16位计数执行单元CE,它接收计数初值寄存器CR送来的内容,并对该内容执行减1操作;一个16位输出锁存器OL,它锁存CE的内容,使CPU能从输出锁存器内读出一个稳定的计数值。计数器的内部结构如图6-5所示。第19页,此课件共95页哦图7-5 计数器的内部结构第20页,此课件共95页哦6.2 8253的控制字和读写操作的控制字和读写操作1项目要求与目的(1)项目要求:编程

14、将8253定时器0设定为方式3,定时器1设定在方式2,定时器0输出作为定时器1的输入,定时器1的输出接在一个LED上,运行后可观察到该LED在不停闪烁。(2)项目目的:学习8253可编程定时器/计数器定时方法。学习8253多级串联实现大时间常数的定时方法。学习8086控制8253可编程定时器的方法。第21页,此课件共95页哦2项目电路连接与说明 (1)项目电路连接:8253的片选孔用导线接至译码处200H207H插孔,CLK0接至OUT1插孔上,CLK1接至1MHz插孔上,GATE0和GATE1接至+5V电源插孔上,OUT0接至发光二极管LED0的阴极上。(2)项目说明:用8253对标准脉冲信

15、号进行计数,就可以实现定时功能,8253的工作频率为02MHZ,所以输入的CLK频率必须在2MHZ以下。用实验板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高或1秒钟低的脉冲信号。由于8253每个计数器只有十六位,因此要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。第22页,此课件共95页哦 由于定时常数过大,就要用多级串联方式。本实验采用两级计数器。定时常数分别为100和10000。将计数器1的输出OUT1接到计数器0输入CLK0上,计数器0的输出接到LED0。3项目电路原理框图 用8253控

16、制LED闪烁的电路原理框图如图6-6所示。电路由8086CPU芯片、8253芯片、频率1MHz和发光二极管LED等组成。图66 用8253控制LED闪烁电路原理框图 第23页,此课件共95页哦4项目程序设计(1)程序流程图用8253控制LED闪烁程序流程图如图6-7所示 图67 用8253控制LED闪烁程序流程图 第24页,此课件共95页哦(2)程序清单用8253控制LED闪烁程序清单如下所示。CODE SEGMENT ASSUME CS:CODESTART:MOV AL,36H ;计数器0初始化,16位,方式3,二进制 MOV DX,203H ;8253控制地址端口 OUT DX,AL MO

17、V AX,10000 MOV DX,200H OUT DX,AL ;计数器低字节 MOV AL,AH OUT DX,AL ;计数器高字节 MOV AL,76H ;计数器1初始化,16位,方式3,二进制第25页,此课件共95页哦MOV DX,203H OUT DX,AL MOV AX,100 MOV DX,201H OUT DX,AL ;计数器低字节 MOV AL,AH OUT DX,AL ;计数器高字节 JMP$CODE ENDS END START第26页,此课件共95页哦6.2.2知识讲解知识讲解 1.8253的控制字的控制字 8253的控制字主要用于:选择哪个计数器通道工作,决定用8位的

18、计数值或是用16位的计数值,是按二进制计数或按二十进制计数(BCD码),是工作在那种方式。8253是由主机编程设定的,通过把一个8位的控制字写入8253的控制字寄存器,使8253按照某种给定的方式工作。控制字的格式及定义如图6-8所示。第27页,此课件共95页哦图68 8253的控制字第28页,此课件共95页哦8253控制字各位的详细意义如下:(1)SC1、SC0用于选择工作的计数器。SC1SC000:选择计数器0工作。SC1SC001:选择计数器1工作。SC1SC010:选择计数器2工作。SC1SC011:无效。(2)RW1、RW0 用于选择读写格式。RW1RW000:计数器锁存命令,把写本

19、命令时的当前计数值锁存到输出锁存器OL中,以供CPU读取。RW1RW001:8位计数,只读/写计数器低位字节,高位字节自动为0。RW1RW0 10:16位计数,只读/写计数器高位字节,低位字节自动为0。第29页,此课件共95页哦RW1RW0 11:16位计数,先读/写计数器低位字节,后读/写计数器高位字节。(3)M2、M1、M0用于选择工作方式。M2M1M0000:使计数器工作于方式0。M2M1M0 001:使计数器工作于方式1。M2M1M0 010:使计数器工作于方式2。M2M1M0 011:使计数器工作于方式3。M2M1M0 100:使计数器工作于方式4。M2M1M0 101:使计数器工作

20、于方式5。第30页,此课件共95页哦(4)BCD计数方式选择。BCD位用于使计数器按二进制计数或十进制(BCD码)计数。当BCD位0时,则计数器按二进制计数,其计数范围是16位二进制数,最大计数值为216=65536(对应计数初值为0000H);当BCD位1时,则计数器按十进制(BCD码)计数,其计数范围是四位十进制数,最大计数值为104=10000,对应计数初值为0000。在赋初值时需要注意两点:在赋初值时需要注意两点:第31页,此课件共95页哦 当采用二进制计数时,如果初值N是8位二进制计数(计数值256),则在8253初始化编程的传送指令“MOV AL,N”中,立即数“N”可以写成任何进

21、制数(包括:二进制计数、十六进制计数和十进制计数)的形式;如果初值N是16位二进制计数(计数值65536),一种方法是先把计算得到的十进制计数初值N转换成4位十六进制,然后分两次写入8253的指定端口,另一种方法是先把该十进制计数初值N直接传给AX,然后分两次写入8253的指定端口,例如:MOV AX,N ;N是16位二进制计数OUT Port,AL;先写低8位(Port为端口号)MOV AL,AH ;高8位送低8位OUT Port,AL;后写高8位第32页,此课件共95页哦 当采用十进制(BCD码)计数时,必须在8253初始化编程中把计算得到的十进制计数初值N加上后缀H,这样才能在传送指令执

22、行后能够在AL(或AX)中得到十进制数N的BCD码表示形式,例如N=100,则方法如下所示。MOVN AL,100HOUT Port,AL如果初值N=2567,则需要分两次写入,即:MOV AX,2567H OUT Port,AL;先写低8位(Port为端口号)MOV AL,AH ;高8位送低8位OUT Port,AL;后写高8位也可以按如下方法两次写入,即:MOV AL,67H OUT Port,AL;先写低8位(Port为端口号)MOV AL,25H ;高8位送低8位OUT Port,AL;后写高8位第33页,此课件共95页哦2.8253的初始化编程(写操作)的初始化编程(写操作)8253

23、没有复位信号,加电开机后,其工作方式是不确定的。因此需要对8253进行初始化,初始化步骤如下所示。(1)根据题目(设计)要求写出8253的控制字。(2)将控制字写入相应计数器的控制寄存器中。(3)写入定时或计数的初值。这里要注意的是如果计数值为16位,则要CPU执行两次输出指令完成初值的设置,即先写低字节,再写高字节。第34页,此课件共95页哦【例51】设8253的片选信号接200H207H,使用计数器1,工作于方式3(方波发生器),二进制计数,计数初值为3000H,请编写初始化程序。解:此题有两种方法,具体求解如下所示 方法方法1:16位计数,先写低位计数,先写低8位,后写高位,后写高8位。

24、根位。根据题目写出控制字为据题目写出控制字为01110110B(76H)。MOV DX,203H ;8253控制寄存器MOV AL,76H ;二进制计数、方式3、先写低 8 位、后写高8位、计数器1OUT DX,AL ;控制字写入控制字寄存器MOV DX,201H ;计数器1MOV AL,00H;计数初值低8位OUT DX,AL ;计数初值低8位写入计数器1MOV AL,30H ;计数初值高8位OUT DX,AL ;计数初值高8位写入计数器1方法方法2:16位计数,只写高位计数,只写高8位,低位,低8位自动为位自动为0。MOV DX,203H ;8253控制寄存器MOV AL,66H ;控制字

25、01100110BOUT DX,AL;控制字写入控制字寄存器MOV DX,201H ;计数器1MOV AL,30H ;计数初值高8位OUT DX,AL ;计数初值高8位写入计数器1第35页,此课件共95页哦解法(1)和解法(2)效果相同。工作原理为:若GATE为高电平时,则当CPU执行完上述初始化程序后,8253的计数器1即开始对输入脉冲CKL进行减1计数,在减1计数过程中,OUT保持高电平;计数计到计数初值的一半值时(12288/12288/2=6144),OUT变为低电平,计数到0时,OUT又变为高电平,重新开始计数过程。方法小结:方法小结:第36页,此课件共95页哦【例5-2】设8253

26、的端口地址为208H20FH,使用计数器0,工作于方式4,二进制计数;使用计数器2,工作于方式5,十进制计数。计数器0和计数器2的计数初值都等于十进制数值512(0200H),请编写初始化程序 解:MOVAL,38H;控制字00111000B,二进制计 数、方式4、计数器0、先写低8位、后写高8位MOV DX,20BH;控制字寄存器端口地址OUT DX,AL;控制字写入控制字寄存器MOV DX,208H;计数器0端口地址MOV AL,00H;计数初值低8位OUT DX,AL ;计数初值低8位写入计数器0MOV AL,02H;计数初值高8位OUT DX,AL;计数初值高8位写入计数器0第37页,

27、此课件共95页哦MOV AL,0BBH;控制字10111011B,BCD、方式5、计数器2、先写低8位、后写高8位MOV DX,20BH;控制字寄存器端口地址OUT DX,AL;控制字写入控制字寄存器MOV DX,20AH;计数器2端口地址MOV AL,12H;计数初值低8位OUT DX,AL;计数初值低8位写入计数器2MOV AL,05H;计数初值高8位OUT DX,AL;计数初值高8位写入计数器2注:工作原理见方式4、方式5的工作波形图。请自己分析一下项目1、项目2、项目3、项目4和项目5的初始化程序。第38页,此课件共95页哦3.8253当前计数值的读取(读操作)当前计数值的读取(读操作

28、)为了对计数器的计数值进行实时检测,需将计数器中的计数值读回CPU。编程顺序如下。(1)输出锁存器锁存或停止计数,以保证当前计数值读出稳定,当前的计数值有两种方法读取:一种方法是把当前计数值输出的锁存器锁存,输出锁存器锁存是通过写入控制字,使D5、D4分别为0,使当前的计数值不受计数执行单元的变化而变化,保证CPU从锁存器读出一个稳定的计数值。此时计数执行单元作减1操作,计数过程不停止。另一种方法是通过GATE门控信号发一低电平信号,使计数执行单元不作减1操作,计数过程停止。(2)从输出锁存器读数。读输出锁存器的值,也有读8位和读16位的问题,若是读16位的数据,需分两次读出,先读低字节,再读

29、高字节,即执行两次输入指令。第39页,此课件共95页哦【例53】设8253的端口地址为208H20FH,请编写程序读取计数器2的当前计数值。MOV AL,80H;计数器2的锁存命令 MOV DX,20BH ;控制字寄存器端口地址OUT DX,AL;计数器2的锁存命令写入 控制字寄存器MOV DX,20AH ;计数器2端口地址IN AL,DX;读取计数初值低8位 MOV BL,AL;计数初值低8位存入BLIN AL,DX;读取计数初值高8位MOV BH,AL;计数初值高8位存入BH第40页,此课件共95页哦6.3 8253的工作方式的工作方式6.3.1项目项目3:用:用8253控制继电器控制继电

30、器 1项目要求与目的(1)项目要求:利用8253的定时器0设定为方式3,定时器1设定为方式2,定时器2设定为方式3,编写程序实现8253控制继电器的吸合和断开,从而达到对外部装置的控制。(2)项目目的:了解8253定时器的硬件连接方法及时序关系。掌握8253的初始化及编程方法。掌握8253各种方式编程及工作原理。了解用弱电控制强电的方法。第41页,此课件共95页哦2项目电路连接与说明(1)项目电路连接:8253的片选孔用导线接至译码处200H207H插孔,OUT1接至CLK0插孔上,CLK1接至OUT2插孔上,CLK2接至1MHz插孔上,GATE0、GATE1和GATE2接至+5V电源插孔上,

31、OUT0接至继电器的驱动上。(2)项目说明:用实验板上的1MHz做为标准信号,将8253可编程计数器/定时器的时间常数设在1000000次,就可以在定时器的管脚上输出1秒钟高或1秒钟低的脉冲信号。由于8253每个计数器只有十六位,因此要用两个计数器才能实现一百万次的计数,实现每一秒钟输出状态发生一次反转。由于定时常数过大,就要用多级串联方式。本实验采用三级计数器。定时常数分别为10、100和10000。第42页,此课件共95页哦 本电路的控制端为高电平时,继电器常开触点吸合,连触点的LED灯被点亮。当控制端为低电平时,继电器常开触点断开,对应的LED灯将随继电器的开关而亮灭。需要注意的是,继电

32、器触点吸合与断开的间隔时间尽可能要长一些,这样继电器和控制设备才不容易损失。3项目电路原理框图 用8253控制继电器电路原理框图如图69所示。电 路 由8086CPU芯 片、8253芯 片、驱 动 电 路ULN2003、1只LED发光二极管和继电器等组成。第43页,此课件共95页哦图69 用8253控制继电器电路原理框图 第44页,此课件共95页哦项目程序设计(1)程序流程图用8253控制继电器程序流程图如图6-10所示。图610 用8253控制继电器程序流程图 第45页,此课件共95页哦(2)程序清单用8253控制继电器程序清单如下所示。CODE SEGMENT ASSUME CS:CODE

33、START:MOV AL,36H ;计数器0初始化,16位,方式3,二进制 MOV DX,203H ;8253控制地址端口 OUT DX,AL MOV AX,10000 MOV DX,200H OUT DX,AL ;计数器低字节 MOV AL,AH OUT DX,AL ;计数器高字节 MOV AL,75H ;计数器1初始化,16位,方式2,二 进制第46页,此课件共95页哦 MOV DX,203H OUT DX,AL MOV AX,100 MOV DX,201H OUT DX,AL ;计数器低字节 MOV AL,AH OUT DX,AL ;计数器高字节 MOV AL,0B6H ;计数器1初始化

34、,16位,方式3,二进制 MOV DX,203H OUT DX,AL MOV AX,10 MOV DX,202H OUT DX,AL ;计数器低字节 MOV AL,AH OUT DX,AL ;计数器高字节 JMP$;等待CODE ENDS END START第47页,此课件共95页哦6.3.2 知识讲解知识讲解 8253的工作方式有6种,不论哪种工作方式,都遵守如下几条基本原则。(1)控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态。该初始状态与工作方式有关,设置成方式0时,OUT的初始状态为低电平,设置成其他工作方式,OUT的初始状态为高电平。(2)初始值写入初值计数

35、器CR以后,要经过一个时钟脉冲的上升沿和下降沿,将初值送入计数执行单元,计数执行单元从下一个时钟开始进行计数。(3)通常,在时钟脉冲CLK的上升沿对门控信号GATE进行采样,各计数器的门控信号的触发方式与工作方式有关。在方式0、方式4中,门控信号为电平触发;方式1、方式5中,门控信号为上升沿触发;方式2、方式3中,即可用电平触发,也可用上升沿触发。第48页,此课件共95页哦(4)在时钟脉冲的下降沿计数器进行计数。0是计数器所能容纳的最大初值,因为用二进制计数时,16位计数器,0相当于216=65536,用BCD码计数时,0相当于104=10000。8253中的三个计数器都可独立工作,每个计数器

36、都有六种工作方式。工作方式由控制字设定,六种工作方式输出的不同波形都从OUT端获得。门控信号GATE对计数过程有影响。下面分别介绍这六种工作方式。1.方式方式0计数到零产生中断请求计数到零产生中断请求 在方式0下,门控信号决定计数的启/停,装入初值决定计数过程重新开始,计数过程时序图如图611所示,下面对工作原理进行分析。第49页,此课件共95页哦(1)计数过程 由图6-11(a)可看出,首先CPU将控制字CW写入控制寄存器后,在下一个时钟CLK上升沿,并在写控制信号的上升沿,OUT输出端变为低电平(若原来为低电平,则继续维持低电平,图6-11(a)中虚线所示),并且计数过程中一直维持低电平;

37、然后,计数初值(设N=4)写入初值寄存器CR后,并在上升沿之后的第一个CLK脉冲(图6-11(a)中虚线所示)的下降沿,将CR的值送入计数执行 单元CE中。要开始计数,GATE门控信号必须是高电平,随后每个时钟CLK的下降沿都使计数执行单元的内容减1,减到0时,输出端OUT变成高电平,并一直维持高电平,直到写入新的计数值,开始下一轮的计数。计数初值一次有效,经过一次计数过程后,必须重新写入计数初值。当输出端OUT变成高电平时,可利用OUT的上升沿作为中断请求信号。方式0主要用于对外部事件计数。第50页,此课件共95页哦 图611 方式0计数过程时序图 第51页,此课件共95页哦(2)GATE门

38、控信号的影响 在计数过程中,可由GATE信号控制暂停计数。当GATE0时,计数暂停,保持当前值,直到GATE信号恢复到高电平,经过一个时钟周期,计数执行单元从当前值开始继续执行减1操作。GATE只影响计数执行单元是否暂停减1操作,对输出信号OUT无影响,OUT信号从计数开始变为低电平,一直保持到计数结束,才变为高电平,计数过程时序图如图6-11(b)所示。如果在门控信号GATE处于低电平时写入新计数初值,则在下一个时钟周期也将初值从初值寄存器CR写入计数执行单元CE,但不进行计数操作,当GATE变为高电平时才开始计数。利用GATE信号可作为启动定时的同步信号。(3)写入新的初值对计数过程的影响

39、第52页,此课件共95页哦 在计数过程中也可以改变计数值,在写入新的计数初值后,计数器将立即按新的计数值重新开始计数,即改变计数值是立即有效的。当按新的计数值减1计数到0时,输出OUT变成高电平。计数过程时序图如图611(c)所示。从计数开始,输出OUT变为低电平,一直保持到计数结束,并不因写了新的初值,影响输出信号。第53页,此课件共95页哦2.方式方式1可重触发的单稳态触发器可重触发的单稳态触发器 方式1是在GATE门控信号的作用下才开始计数,计数过程时序如图6-12所示,下面对工作原理进行分析。(1)计数过程 当CPU把方式1的控制字写入控制寄存器后(的上升沿),OUT输出变成高电平(图

40、6-12(a)中虚线所示)(若原来为高电平,则继续维持高电平);在CPU写入计数初值后,此时计数执行单元CE并不计数,直到GATE门控信号上升沿到来,在下一个时钟周期的下降沿才开始计数,输出OUT变为低电平(图6-12(a)中虚线所示)。计数过程中OUT端一直维持低电平。当计数减到0时,输出端OUT变为高电平,并一直维持高电平到下一次触发之前。计数初值的设置也是一次有效,每输入一次计数值,只产生一次计数触发过程。计数过程时序图如图6-12(a)所示。第54页,此课件共95页哦 图612方式1计数过程时序图 第55页,此课件共95页哦(2)GATE门控信号的影响 方式1中,门控信号的影响从两个方

41、面讨论。一方面是计数结束后,若再来一个门控信号上升沿,则在下一个时钟周期的下降沿又从初值开始计数,而且不需要重新写入计数初值,即门控脉冲可重新触发计数,同时OUT端输出从高电平降为低电平,直到计数结束,再恢复到高电平。可以看出,调整门控信号的触发时刻,可调整OUT端输出的高电平持续时间,即输出单次脉冲的宽度由计数初值N决定,计数过程时序图如图6-12(b)所示。另一方面是在计数进行中,若来一个门控信号的上升沿,也要在下一个时钟下降沿终止原来的计数过程,从初值起重新计数。在这个过程中,OUT输出保持低电平不变,直到计数执行单元内容减为0时,OUT输出才恢复为高电平。这样,使OUT输出低电平持续时

42、间加长,即输出单次脉冲的宽度加宽。第56页,此课件共95页哦(3)新的初值对计数过程的影响在计数过程中如果写入新的初值,不会影响计数过程,只有在下一个门控信号到来后的第一个时钟下降沿,才终止原来的计数过程,而按新值开始计数。OUT输出的变化是高电平持续到开始计数前,低电平持续到计数过程结束,计数过程时序图如图612(c)所示。3.方式方式2分频器分频器 在方式2下,用门控信号达到同步计数的目的,方式2计数过程时序如图613所示,下面对工作原理进行分析。第57页,此课件共95页哦(1)计数过程 图6-13(a)所示,CPU写入控制字后,时钟CLK上升沿,OUT输出变为高电平(图6-13(a)中虚

43、线所示),当计数初值被写入初值寄存器后,下一个时钟脉冲下降沿,计数初值被移入计数执行单元,开始减1计数,减到1时(不是减到0时),OUT输出变为低电平,经过一个时钟CLK周期,OUT输出又变成高电平,并且计数器将自动按初值重新开始计数过程。由图6-13(a)可看出,采用方式2时,不用重新设置计数初值,计数器能连续工作,输出端不断输出固定负脉冲。如果计数初值为N,则每输入N个CLK脉冲,输出一个负脉冲,负脉冲宽度等于1个CLK时钟周期,两负脉冲间的宽度等于N-1个时钟周期,整个计数过程不用重新写入计数值,重复周期为N倍的CLK周期,因此又称此方式下的计数器为N分频器或频率发生器。第58页,此课件

44、共95页哦图613 方式2计数过程时序图 第59页,此课件共95页哦(2)GATE门控信号的影响 由图6-13(b)可看出,门控信号为低电平时终止计数,而由低电平恢复为高电平后的第一个时钟下降沿从初始值重新开始计数。由此可见GATE一直维持高电平时,计数器为一个N分频器。GATE端每加一次从低电平到高电平的门控触发信号,都将引起一次重新从计数初值寄存器向计数执行单元写入计数值的操作,输出端OUT重新又得到一个不断输出负脉冲的脉冲信号,其宽度等于一个时钟周期,两负脉冲间的宽度等于N-1个时钟周期。用门控信号实现对输出端OUT信号的同步作用。第60页,此课件共95页哦(3)新的初值对计数过程的影响

45、 由图613(c)可看出,如果在计数过程中改变初值,有两种情况:一种是当GATE门控信号一直维持高电平时,新的初值不影响当前的计数过程,但在计数结束后,下一个计数周期按新的初值计数;另一种是若写入新的初值后,遇到门控信号的上升沿,则结束现行计数过程,从下一个时钟下降沿开始按新的初始值进行计数。第二种情况是计数值未减到0,又重新按新的初值进行计数,在此期间输出端OUT一直维持高电平,这样就可以随时通过重新送计数值来改变输出脉冲的频率 第61页,此课件共95页哦4.方式方式3方波发生器方波发生器 方式3和方式2的工作过程类似,两者的主要区别是输出的脉冲宽度不同,方式3计数过程时序图如图6-14所示

46、,下面对工作原理进行分析。图614 方式3计数过程时序图 第62页,此课件共95页哦 (1)计数过程 方式3计数过程分奇、偶两种情况。当初始值为偶数时,CPU写入控制字后,在时钟CLK的上升沿,OUT输出变为高电平。当计数初值写入初值寄存器CR后,经过一个时钟周期,计数初值被移入计数执行单元CE,下一个时钟下降沿开始作减1计数。减到N2时,OUT输出变为低电平,计数器执行单元继续执行减1计数,当减到0时,OUT输出又变成高电平,计数器执行单元重新从初值开始计数。只要门控信号GATE为1,此工作过程周而复始重复进行,在OUT输出得一方波信号,故称这种方式又称为方波发生器,计数过程时序图如图6-1

47、4(a)所示。当初始值为奇数时,在门控信号一直为高电平情况下,OUT输出波形为连续的近似方波,高电平持续时间为(N1)2个脉冲,低电平持续时间为(N-1)2个脉冲,计数过程时序图如图6-14(b)所示。第63页,此课件共95页哦(2)GATE门控信号的影响 当门控GATE1时,允许计数;当门控GATE0时,禁止计数。在计数执行过程中,当GATE变为低电平时,若此时OUT输出为低电平,则OUT从低电平变为高电平,若OUT原来是高电平则保持不变,且计数器停止计数。当GATE恢复高电平,计数器从初值开始重新计数,计数过程时序图如图614(c)所示。(3)新的初值对计数过程的影响 新的初值写入也分两种

48、情况。当门控GATE1时,在计数执行过程中,新值写入并不影响现行计数过程,只是在下一个计数过程中,按新值进行计数;在计数执行过程中,加入一个GATE脉冲信号,停止现行计数过程,在门控信号上升沿后的第一个时钟周期的下降沿,按新初值开始计数,计数过程时序图如图614(d)所示。第64页,此课件共95页哦5.方式方式4软件触发选通方式软件触发选通方式 方式4为软件触发选通方式,其计数过程时序图如图6-15所示,下面对工作原理进行分析。(1)计数过程 在方式4下,写入控制字后,在时钟上升沿,OUT输出变成高电平,将计数初值写入初值寄存器CR中。经过一个CLK时钟周期,计数初值被送入计数执行单元CE,下

49、一个时钟下降沿开始减1计数,减到0时,OUT输出变为低电平,脉冲宽度为一个CLK时钟周期,然后OUT自动恢复成高电平。下一次启动计数时,必须重新写入计数值。若设置计数初值为N,则在写入计数初值后的N+1个CLK时钟脉冲,才输出一个负脉冲,负脉冲的宽度为1CLK周期。第65页,此课件共95页哦图615 方式4计数过程时序图 第66页,此课件共95页哦 方式4不能自动重复计数(即这种方式计数是一次性的),每进行一次计数过程必须重装初值一次,所以称方式4为软件触发。OUT输出低电平持续时间为一CLK时钟周期,常用此负脉冲作为选通信号,所以又称为软件触发选通方式,计数过程时序图如图615(a)所示。(

50、2)GATE门控信号的影响 当GATE门控信号为高电平时,允许计数;当GATE门控信号为低电平时,禁止计数。需要注意两点:当GATE门控信号为低电平时停止计数,GATE门控信号为高电平时并不是恢复计数,而是重新从初值开始计数。GATE的电平不会影响OUT输出的电平,只有计数器减为0时,才使OUT输出产生电平的变化,计数过程时序图如图615(b)所示。第67页,此课件共95页哦(3)新的初值对计数过程的影响 在计数过程中,如果写入新的计数初值,则立刻终止现行的计数过程,并在下一个时钟下降沿按新的初值开始计数,计数过程时序图如图6-15(c)所示。方式0和方式4都可用于定时和计数,定时的时间NT。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁