可编程计数器_第1页
可编程计数器_第2页
可编程计数器_第3页
可编程计数器_第4页
可编程计数器_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、可编程计数器可编程计数器3/19/202238.1 计数/定时的基本概念1定时与计数定时与计数 在微机系统或智能化仪器仪表的工作过程中,经常需要使系在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。统处于定时工作状态,或者对外部过程进行计数。 定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部对应于一定的时间,这一过

2、程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为。过程相对应的脉冲信号(周期可以不相等),则此时即为。3/19/202242定时与计数的实现方法(1) 硬件法硬件法 专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。而且当电路制成之后,定时值及计数范围不能改变。(2) 软件法软件法 利用一段延时子程序来实现定时操作,特点,无需太多的硬件设备,控制利用一段延时子程序来实现定时操作,特点,无需太多的硬件设备,控制比较方便,但在定时期间,比较方便

3、,但在定时期间,CPU不能从事其它工作,降低了机器的利用不能从事其它工作,降低了机器的利用率。率。(3) 软、硬件结合法软、硬件结合法 即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响因而定时期间不影响CPU的正常工作。的正常工作。3/19/202253.定时/计数器的作用n生产线上统计产品的数目生产线上统计产品的数目-计数器计数器n系统的动态存储器刷新系统的动态存储器刷新-

4、定时器定时器n系统时钟计时系统时钟计时-定时器定时器n扬声器的频率源扬声器的频率源-定时器定时器3/19/202268.2 8253的工作原理o8253的内部结构和引脚信号的内部结构和引脚信号p8253是是Intel公司生产的可编程计数公司生产的可编程计数/定时器芯片。定时器芯片。 p8253的操作对所在系统没有特殊要求,其通用性强,适用于各种微的操作对所在系统没有特殊要求,其通用性强,适用于各种微处理器组成的系统。处理器组成的系统。p它有它有3个独立的个独立的16位减位减1计数器,每个计数器有计数器,每个计数器有6种工作方式,种工作方式,能进行二进制或能进行二进制或BCD码计数或定时操作,计

5、数速率可达码计数或定时操作,计数速率可达2MHz,最高信号时钟频率,所有的输入最高信号时钟频率,所有的输入/输出都与输出都与TTL电平兼容。电平兼容。p同类型的定时同类型的定时/计数器芯片还有计数器芯片还有Intel 8254等。等。3/19/202273/19/202288253内部结构o具有三个相互独立的具有三个相互独立的16位计数器通道;位计数器通道;o每个通道都可设定以每个通道都可设定以6种工作方式之一进行计数种工作方式之一进行计数/定时;定时;o每个计数器都可设为按二进制或每个计数器都可设为按二进制或BCD码计数码计数 ;o具有计数和定时功能,基于减具有计数和定时功能,基于减1计数工

6、作;计数工作;o定时器减为定时器减为0后,可自动装入定时常数初值,并产生输出信后,可自动装入定时常数初值,并产生输出信号;号;o在减在减1操作中,任何时刻计数器的值都可由操作中,任何时刻计数器的值都可由CPU经计数输出寄存经计数输出寄存器读取。器读取。3/19/202293/19/202210 3/19/2022118253的读/写操作先写控制字先写控制字后写计数初值后写计数初值3/19/2022123/19/2022133/19/2022143/19/2022153/19/202216例1o8253工作为计数器工作为计数器 0,方式,方式 0,初值为,初值为4,二进制计数,设寄,二进制计数,

7、设寄存器地址为存器地址为40H 、42H、44H、46Ho控制字控制字 0 0 0 1 0 0 0 03/19/202217例2o8253工作为计数器工作为计数器 1,方式,方式 3,初值为,初值为4020H,十进制计数,十进制计数,设寄存器地址为设寄存器地址为40H、42H、44H、46Ho控制字控制字 0 1 1 1 0 1 1 13/19/202218例3o8253工作为计数器工作为计数器 2,方式,方式 3,初值为,初值为4000H,十进制计数,十进制计数,设寄存器地址为设寄存器地址为40H 、42H、44H、46Ho控制字控制字 1 0 1 0 0 1 1 13/19/2022193

8、/19/2022208253的引脚信号3/19/2022213/19/2022228253寄存器选择表3/19/2022238253的外部连接特性p8253外部数据线宽度也为外部数据线宽度也为8bit,一般也将其与,一般也将其与8086CPU的低的低8位位数据线相连,并占用数据线相连,并占用4个偶端口地址;个偶端口地址;p8253上负责内部寻址上负责内部寻址4个端口的个端口的A0、A1脚与脚与8086CPU的的A1、A2脚脚相连,(相连,(8086CPU的的A0脚空出),同时脚空出),同时8086CPU的其它高位地址线的其它高位地址线经地址译码后产生经地址译码后产生8253的片选信号。的片选信

9、号。p实际上,实际上,8253内部不止内部不止4个寄存器,但因为有些寄存器只读,有些寄存器个寄存器,但因为有些寄存器只读,有些寄存器只写,所以我们可以用只写,所以我们可以用8253的的A1、A0信号与读写信号一起寻址内部各寄信号与读写信号一起寻址内部各寄存器。这样对存器。这样对CPU来说,一片来说,一片8253就可以只占用就可以只占用4个端口地址了。个端口地址了。3/19/2022242.初始化编程步骤o写入方式控制字写入方式控制字n三个通道用的控制字端口地址是相同的三个通道用的控制字端口地址是相同的n三个控制字写入后存入通道对应的寄存器中三个控制字写入后存入通道对应的寄存器中o写入计数初始值

10、写入计数初始值o读计数值读计数值n以普通对计数器端口读的方法取得当前计数值以普通对计数器端口读的方法取得当前计数值n锁存计数器的当前计数值锁存计数器的当前计数值3/19/2022258253的内部结构3/19/2022268253的计数器3/19/2022278253的结构和功能o每个通道四个寄存器每个通道四个寄存器n8位控制寄存器位控制寄存器n16位计数初值寄存器位计数初值寄存器(分两次写入)(分两次写入)n16位减法计数寄存器位减法计数寄存器n16位计数输出锁存器位计数输出锁存器o控制字寄存器控制字寄存器n只写寄存器只写寄存器n接受写入的控制字接受写入的控制字o三个独立的计数器三个独立的计

11、数器o可用程序设置成多种工作可用程序设置成多种工作方式方式o按十进制或二进制计数按十进制或二进制计数o最高计数速率最高计数速率2MHz3/19/2022288253的计数器o16位计数初值寄存器位计数初值寄存器CRn存放计数初值存放计数初值n可通过程序来设定可通过程序来设定o计数执行单元计数执行单元CEn一个一个1616位减法计数器位减法计数器n初值是计数初值寄存器的内容初值是计数初值寄存器的内容n对对CLKCLK脉冲计数脉冲计数n启动后每出现一个启动后每出现一个CLKCLK脉冲计数值减脉冲计数值减1 1n当减为零时通过当减为零时通过OUTOUT输出指示信号输出指示信号3/19/2022298

12、253的计数器oCLK信号信号n周期性时钟信号,定时器功能;周期性时钟信号,定时器功能;n非周期性事件计数信号,计数器功能。非周期性事件计数信号,计数器功能。o计数输出锁存器计数输出锁存器OLn通常跟随计数执行单元的内容而变化通常跟随计数执行单元的内容而变化n当接收到当接收到CPU锁存命令时就锁存当前的计数值锁存命令时就锁存当前的计数值oGATE信号信号n控制输入端控制输入端n有多种控制作用(允许有多种控制作用(允许/禁止计数、启动禁止计数、启动/停止计数)停止计数)3/19/2022308253的结构和功能o数据总线缓冲器数据总线缓冲器D7 D0n8位位 三态三态 双向双向 o读读/写控制逻

13、辑写控制逻辑 nCS:片选信号:片选信号 低电平有效低电平有效 nRD:读信号:读信号 低电平有效低电平有效 nWR:写信号:写信号 低电平有效低电平有效 nA1 A0:端口选择信号:端口选择信号123456789101112242322212019181716151413VccWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE1D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND82533/19/202231GATE信号的功能低电平或进入低电平低电平或进入低电平上升边沿上升边沿高电平高电平方式方式0禁止计数禁止计数允许计数允许计数方式方式11.初始化和计数初始

14、化和计数 2.下一个时钟后输下一个时钟后输出变为低电平出变为低电平方式方式21.禁止计数禁止计数2.使输出立即变为高电平使输出立即变为高电平1.初始化和计数初始化和计数2.计数器重新装入计数器重新装入允许计数允许计数方式方式31.禁止计数禁止计数2.使输出立即变为高电平使输出立即变为高电平1.初始化和计数初始化和计数2.计数器重新装入计数器重新装入允许计数允许计数方式方式4禁止计数禁止计数允许计数允许计数方式方式5初始化和计数初始化和计数3/19/202232的工作方式 8253共有共有6种工作方式,各方式下的工作状态是不同的,输出的波形也种工作方式,各方式下的工作状态是不同的,输出的波形也不

15、同,其中比较灵活的是门控信号的作用。由此组成了不同,其中比较灵活的是门控信号的作用。由此组成了8253丰富的工作方丰富的工作方式、波形。式、波形。o方式方式0:计数结束产生中断输出(软件控制):计数结束产生中断输出(软件控制)o方式方式1:重复触发的单稳输出(硬件控制):重复触发的单稳输出(硬件控制)o方式方式2:分频器(软件控制):分频器(软件控制)o方式方式3:方波发生器(软件控制):方波发生器(软件控制)o方式方式4:选通信号发生器(软件触发):选通信号发生器(软件触发)o方式方式5:选通信号发生器(硬件触发):选通信号发生器(硬件触发) 3/19/202233几条基本原则o(1) 控制

16、字写入计数器时,所有的控制逻辑电路立即复位,输出端控制字写入计数器时,所有的控制逻辑电路立即复位,输出端OUT进入初始状态。初始状态对不同的模式来说不一定相同。进入初始状态。初始状态对不同的模式来说不一定相同。o(2) 计数初始值写入之后,要经过一个时钟周期上升沿和一个下降沿,计计数初始值写入之后,要经过一个时钟周期上升沿和一个下降沿,计数执行部件才可以开始进行计数操作,因为第一个下降沿将计数寄存器的数执行部件才可以开始进行计数操作,因为第一个下降沿将计数寄存器的内容送减内容送减1计数器。计数器。o(3) 通常,在每个时钟脉冲通常,在每个时钟脉冲CLK的上升沿,采样门控信号的上升沿,采样门控信

17、号GATE。不同的工。不同的工作方式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是作方式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是边沿触发,在有的模式中,两种触发方式都是允许的。其中边沿触发,在有的模式中,两种触发方式都是允许的。其中0、2、3、4是电是电平触发方式,平触发方式,1、2、3、5是上升沿触发。是上升沿触发。o(4) 在时钟脉冲的下降沿,计数器作减在时钟脉冲的下降沿,计数器作减1计数,计数,0是计数器所能容纳的最是计数器所能容纳的最大初始值。大初始值。3/19/2022341.方式0计数结束产生中断当控制字写入控制字寄存器后,输出当控制字写入控制

18、字寄存器后,输出OUT就变低,当计数值写入计数器后就变低,当计数值写入计数器后开始计数,在整个计数过程中,开始计数,在整个计数过程中,OUT保持为低,直到计数保持为低,直到计数0(结束)时,(结束)时,OUT端变为高,向端变为高,向CPU发出中断请求。发出中断请求。GATE的高低电平控制计数过程是否的高低电平控制计数过程是否进行。进行。3/19/202235 计数器只计一遍,当计数到计数器只计一遍,当计数到0时,不重新开始计数时,不重新开始计数OUT保持为高,直保持为高,直到输入一新的计数值,到输入一新的计数值,OUT才变低,开始新的计数;才变低,开始新的计数; 计数值是在写计数值命令后经过一

19、个输入脉冲,才装入计数器的,下一个脉冲开始计数值是在写计数值命令后经过一个输入脉冲,才装入计数器的,下一个脉冲开始计数,因此,如果设置计数器初值为计数,因此,如果设置计数器初值为N,则输出,则输出OUT在在N1个脉冲后才能变高;个脉冲后才能变高; 在计数过程中,可由在计数过程中,可由GATE信号控制暂停。当信号控制暂停。当GATE0时,计数器暂停计数;当时,计数器暂停计数;当GATE1时,继续计数;时,继续计数; 方式方式0的的OUT信号在计数到信号在计数到0时由低变高,可作为中断请求信号。时由低变高,可作为中断请求信号。3/19/202236小结方式0o预置初值之后,预置初值之后,OUT保持

20、初始态低电平。只有当计数器中计数保持初始态低电平。只有当计数器中计数值减为值减为0时,时,OUT才会输出高电平并维持;才会输出高电平并维持;o计数初值寄存器计数初值寄存器CR在延迟一个在延迟一个CLK脉冲后传到计数器脉冲后传到计数器CE中,因中,因此此N1个个CLK脉冲后计数值才变为脉冲后计数值才变为0;oGATE=0,计数停止;,计数停止;GATE=1,继续计数;,继续计数;o计数过程中可重写或改变计数值。计数过程中可重写或改变计数值。3/19/202237方式0初始化3/19/2022382.方式1可重触发的单稳触发器CPU向向8253写入控制字后写入控制字后OUT变高,并保持,写入计数值

21、后并不立即计变高,并保持,写入计数值后并不立即计数,只有当外界数,只有当外界GATE信号启动后(一个正脉冲)的下一个脉冲才开始计数,信号启动后(一个正脉冲)的下一个脉冲才开始计数,在整个计数过程中,在整个计数过程中,OUT都维持为低,都维持为低, 直到计数到直到计数到0时,输出变为高。因此,时,输出变为高。因此,输出为一单脉冲,其低电平维持时间由装入的计数初值来决定,计数到输出为一单脉冲,其低电平维持时间由装入的计数初值来决定,计数到0后,后,OUT才变高。此时再来一个才变高。此时再来一个GATE正脉冲,计数器又开始重新计数,输出正脉冲,计数器又开始重新计数,输出OUT再次变低,再次变低,因此

22、输出为一单拍负脉冲。,因此输出为一单拍负脉冲。3/19/202239输出输出OUT的宽度为计数初值的单脉冲;的宽度为计数初值的单脉冲;输出受门控信号输出受门控信号GATE的控制,分三种情况:的控制,分三种情况:o当计数到当计数到0后,计数器可再次由外部启动,再来后,计数器可再次由外部启动,再来GATE脉冲,按原计数初值重新开始计数,输出单脉冲,脉冲,按原计数初值重新开始计数,输出单脉冲,OUT变低;而不需要再次送一个计数初值。变低;而不需要再次送一个计数初值。o在计数过程中,外部可发出门控在计数过程中,外部可发出门控GATE脉冲,进行再触发,这时不管原来计数到何值,则从下一脉冲,进行再触发,这

23、时不管原来计数到何值,则从下一CLK脉冲开始重新计数,输出端脉冲开始重新计数,输出端OUT仍保持低电平。仍保持低电平。o改变计数值后,只有当改变计数值后,只有当GATE脉冲启动后,才按新值计数,否则原计数过程不受影响,仍继续脉冲启动后,才按新值计数,否则原计数过程不受影响,仍继续进行,即新值的改变是从下一个进行,即新值的改变是从下一个GATE开始的。开始的。计数值是多次有效的,每来一个计数值是多次有效的,每来一个GATE脉冲,就自动装入计数值开始从头计数,因此在初始化时,脉冲,就自动装入计数值开始从头计数,因此在初始化时,计数值写入一次即可。计数值写入一次即可。3/19/202240小结方式1

24、o门控信号门控信号GATE正脉冲启动定时正脉冲启动定时/计数;计数;o允许当前计数未完时的多次重触发,允许当前计数未完时的多次重触发,GATE再触发后,再触发后,OUT输出会保持输出会保持N个个CLK脉宽的低电平;脉宽的低电平;o下个下个GATE正脉冲触发信号到来时,会将新初值装入正脉冲触发信号到来时,会将新初值装入CE中,使计数单元从新初值开始计数。中,使计数单元从新初值开始计数。3/19/202241方式1初始化3/19/202242CPU输出控制字后,输出输出控制字后,输出OUT就变高,写入计数值后的下一个就变高,写入计数值后的下一个CLK脉冲脉冲开始计数,计数到开始计数,计数到1后,输

25、出后,输出OUT变低,经过一个变低,经过一个CLK以后,以后,OUT恢复恢复为高,计数器重新开始计数,为高,计数器重新开始计数,。3/19/202243p在这种方式下,只需写入一次计数值,就能连续工作,输出连续相同间隔的在这种方式下,只需写入一次计数值,就能连续工作,输出连续相同间隔的负脉冲(前提:负脉冲(前提:GATE保持为高),即周期性地输出。保持为高),即周期性地输出。p在计数过程中输出端始终保持为高,直到计数器减为在计数过程中输出端始终保持为高,直到计数器减为1时,输出变低。时,输出变低。p经过一个经过一个CLK周期,输出恢复为高,同时按照原计数初值重新开始计数。周期,输出恢复为高,同

26、时按照原计数初值重新开始计数。p如果计数值为如果计数值为N,则在,则在CLK端每输入端每输入N个脉冲后,就输出一个脉冲。个脉冲后,就输出一个脉冲。p因此,这种方式可以作为分频器或用于产生实时时钟中断。因此,这种方式可以作为分频器或用于产生实时时钟中断。3/19/202244方式2的特点3/19/202245小结方式23/19/202246方式2初始化 设计数器设计数器2工作于方式工作于方式2,二进制计数,计数初值,二进制计数,计数初值0304H。端口。端口地址地址0E0H0E6H MOV AL,0B4H;控制字;控制字 OUT 0E6H,AL MOV AL,04H;计数器低字节;计数器低字节

27、OUT 0E4H,AL MOV AL,03H;计数器高字节;计数器高字节 OUT 0E4H,AL3/19/2022474.方式3方波速率发生器CPU写入控制字后,输出写入控制字后,输出OUT变高,写入计数值后开始计数,当计数到一变高,写入计数值后开始计数,当计数到一半计数值时,输出变低,继续进行减法计数,当计数到半计数值时,输出变低,继续进行减法计数,当计数到0时,输出变高,装时,输出变高,装入计数值进行减法计数,循环不止。入计数值进行减法计数,循环不止。3/19/202248方式3的特点 当计数初值当计数初值N为偶数时,输出端的高低电平持续时间相等,各为为偶数时,输出端的高低电平持续时间相等

28、,各为N/2个个CLK脉冲周期;当计数初值脉冲周期;当计数初值N为奇数时,输出端的高电平持续时间比为奇数时,输出端的高电平持续时间比低电平持续时间多一个脉冲周期,即高电平持续(低电平持续时间多一个脉冲周期,即高电平持续(N+1)/2个脉冲个脉冲周期。低电平持续(周期。低电平持续(N-1)/2个脉冲周期。例如个脉冲周期。例如N=5,则输出高电,则输出高电平持续平持续3个脉冲周期,低电平持续个脉冲周期,低电平持续2个脉冲周期。个脉冲周期。 GATE=1,允许计数;,允许计数;GATE=0,停止计数。如果在,停止计数。如果在OUT为低电平期间为低电平期间GATE=0,OUT将立即变高。当将立即变高。

29、当GATE变高以后,在下一个变高以后,在下一个CLK脉冲来脉冲来到时,计数器将重新装入初始值,开始计数。到时,计数器将重新装入初始值,开始计数。3/19/202249小结方式3o与方式与方式2类似,但其输出方波或准方波;类似,但其输出方波或准方波;o计数值完成一半时,使计数值完成一半时,使OUT变低,直到计数任务全部完成为止,变低,直到计数任务全部完成为止,OUT恢复为高;恢复为高;o当计数初值当计数初值N为偶数时,输出端的高低电平持续时间相等,为偶数时,输出端的高低电平持续时间相等,各为各为N/2个个CLK脉冲周期;脉冲周期;o当计数初值当计数初值N为奇数时,输出端的高电平持续时间比低电平持

30、为奇数时,输出端的高电平持续时间比低电平持续时间多一个脉冲周期,即高电平持续(续时间多一个脉冲周期,即高电平持续(N+1)/2个脉冲周个脉冲周期。低电平持续(期。低电平持续(N-1)/2个脉冲周期;个脉冲周期;oGATE由低变高时,重新开始计数。由低变高时,重新开始计数。3/19/202250方式3初始化 计数器计数器0工作于方式工作于方式3,二进制计数,初值为,二进制计数,初值为4。端口地址为端口地址为0E0H0E6H MOV AL,16H ;控制字;控制字 OUT 0E6H,AL MOV AL,4 ;初值;初值 OUT 0E0H,AL3/19/2022515.方式4软触发的选通发生器 当当

31、CPU写入控制字后,写入控制字后,OUT立即变高,写入计数值开始计数,称为软件触发,当计数到立即变高,写入计数值开始计数,称为软件触发,当计数到0后,后,OUT变低,经过一个变低,经过一个CLK脉冲后,脉冲后,OUT变高,这种计数是一次性的(与方式变高,这种计数是一次性的(与方式0有相有相似之处),只有当写入新的计数值后才开始下一次计数。若设置的计数初值为似之处),只有当写入新的计数值后才开始下一次计数。若设置的计数初值为N,则是在,则是在写入了计数初值后经过(写入了计数初值后经过(N+1)个)个CLK脉冲,才输出一个负脉冲。脉冲,才输出一个负脉冲。 一般将此负脉冲作为一般将此负脉冲作为选通信

32、号。选通信号。3/19/202252方式4的特点当计数值为当计数值为N时,则间隔时,则间隔N1个个CLK脉冲输出一个负脉冲(计脉冲输出一个负脉冲(计数一次有效);数一次有效);GATE0时,禁止计数,时,禁止计数,GATE1时,恢复继续计数;时,恢复继续计数;所以,要做到软件触发,所以,要做到软件触发,GATE应保持为应保持为1。 在计数过程中重新装入新的计数值,则该值是立即有效的(若为在计数过程中重新装入新的计数值,则该值是立即有效的(若为16位计数值,则装入第一个字节时停止计数,装入第二个字节后开位计数值,则装入第一个字节时停止计数,装入第二个字节后开始按新值计数)。这称为软件再触发。始按

33、新值计数)。这称为软件再触发。 3/19/202253小结方式4o计数减到计数减到0时输出一个脉宽的低电平时输出一个脉宽的低电平oGATE由低到高时,计数器恢复工作,而不重置由低到高时,计数器恢复工作,而不重置初值初值o计数过程中,新初值立即起作用计数过程中,新初值立即起作用 3/19/202254方式4初始化 设计数器设计数器1工作于方式工作于方式4,二进制计数,计数初值为,二进制计数,计数初值为3。端口地址为端口地址为0E0H0E6H MOV AL,58H ;控制字;控制字 OUT 0E6H,AL MOV AL,3 ;初值;初值 OUT 0E2H,AL3/19/2022556. 方式5硬触

34、发的选通发生器 当写入控制字后,输出端出现高电平作为初始电平。在写入计数初值后,计当写入控制字后,输出端出现高电平作为初始电平。在写入计数初值后,计数器并不立即开始计数,而是要由门控数器并不立即开始计数,而是要由门控GATE脉冲的上升沿来触发启动计数脉冲的上升沿来触发启动计数的,这称为硬件触发。当计数到的,这称为硬件触发。当计数到0时,输出变低,又经过一个时,输出变低,又经过一个CLK脉,输出脉,输出恢复为高,计数停止。这样在输出端得到一个负脉冲选通信号。计数器停止恢复为高,计数停止。这样在输出端得到一个负脉冲选通信号。计数器停止计数,若再有计数,若再有GATE脉冲来,则重新装入计数值开始计数

35、,上述过程重复。脉冲来,则重新装入计数值开始计数,上述过程重复。3/19/202256方式5的特点在这种方式下,若设置的计数值是N,则在GATE脉冲后,经过(N1)个CLK才输出一个负脉冲。若在计数过程中又来一个GATE脉冲,则重新装入初值开始计数,输出不变,即计数值多次有效;对输出状态没有影响。 若在计数过程中改变计数值,只要没有门控信号的触发, 就不影响本次计数过程。当计数到0后,若有新的门控信号的触发,则按新的计数初值计数。 3/19/202257方式方式5和方式和方式4都产生选通脉冲。都产生选通脉冲。这两种方式的区别在于:这两种方式的区别在于: 方式方式4每次要靠软件设置计数初值后才能

36、计数(软件触发);每次要靠软件设置计数初值后才能计数(软件触发); 方式方式5的计数初值只需设置一次,但是每次计数要靠门控信号的触发(硬件触的计数初值只需设置一次,但是每次计数要靠门控信号的触发(硬件触发);发); 方式方式4软件更改计数初值后立即起作用;软件更改计数初值后立即起作用; 方式方式5软件更改计数初值后要有新的门控信号的触发才能起作用。软件更改计数初值后要有新的门控信号的触发才能起作用。3/19/202258小结方式5o如方式如方式1,方式,方式5也是硬件触发也是硬件触发o计数器到计数器到0,输出一个脉宽的负脉冲,输出一个脉宽的负脉冲o允许当前计数未完时的多次重触发允许当前计数未完

37、时的多次重触发oGATE触发,按新初值计数触发,按新初值计数3/19/202259方式5初始化 设计数器设计数器2工作于方式工作于方式5,二进制计数,计数初值为,二进制计数,计数初值为3,端口地址为,端口地址为0E0H0E6H MOV AL,9AH ;控制字;控制字 OUT 0E6H,AL MOV AL,3;初始值;初始值 OUT 0E4H,AL3/19/2022608253的工作方式小结方式方式2、4、5的输出波形是相同的,都是宽度为一个的输出波形是相同的,都是宽度为一个CLK周期的负脉冲,但方式周期的负脉冲,但方式2连续工作,方式连续工作,方式4由软件触发启动,方式由软件触发启动,方式5由

38、硬件触发启动。由硬件触发启动。2方式方式5与方式与方式1工作过程相同,但输出波形不同,方式工作过程相同,但输出波形不同,方式1输出的是宽度为输出的是宽度为N个个CLK脉脉冲的低电平有效的脉冲(计数过程中输出为低),而方式冲的低电平有效的脉冲(计数过程中输出为低),而方式5输出的为宽度为一个输出的为宽度为一个CLK脉冲的负脉冲(计数过程中输出为高)。脉冲的负脉冲(计数过程中输出为高)。3输出端输出端OUT的初始状态,方式的初始状态,方式0在写入方式字后输出为低,其余方式,写入控制字在写入方式字后输出为低,其余方式,写入控制字后,输出均能变为高。后,输出均能变为高。4任一种方式,均是在写入计数初值

39、之后,才能开始计数,方式任一种方式,均是在写入计数初值之后,才能开始计数,方式0、2、3、4都是在写入计数初值之后,开始计数的,而方式都是在写入计数初值之后,开始计数的,而方式1和方式和方式5需要外部触需要外部触发启动,才开始计数。发启动,才开始计数。3/19/20226156种工作方式中,只有方式种工作方式中,只有方式2和方式和方式3是连续计数,其它是连续计数,其它方式都是一次计数,要继续工作需要重新启动,方式方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式由软件启动,方式1、5由硬件启动。由硬件启动。6门控信号的作用门控信号的作用 通过门控信号通过门控信号GATE,可以

40、干预,可以干预8253某一通道的计数过程,某一通道的计数过程,在不同的工作方式下,门控信号起作用的方式也不一样,其中在不同的工作方式下,门控信号起作用的方式也不一样,其中0、2、3、4是电平起作用,是电平起作用,1、2、3、5是上升沿起作用,方式是上升沿起作用,方式2、3对电平上升沿都可以起作用。对电平上升沿都可以起作用。3/19/2022628.3 8253的基本应用要使用要使用8253,必须首先进行初始化编程,初始化编程包括设置,必须首先进行初始化编程,初始化编程包括设置通道控制字和送通道计数初值两个方面,控制字写入通道控制字和送通道计数初值两个方面,控制字写入8253的控的控制字寄存器,而初始值则写入相应通道的计数寄存器中。制字寄存器,而初始值则写入相应通道的计数寄存器中。初始化编程包括如下步骤:初始化编程包括如下步骤:1. 初始化编程初始化编程1写入通道控制字,规定通道的工作方式;写入通道控制字,规定通道的工作方式;2写入计数值,若规定只写低写入计数值,若规定只写低8位,则高位,则高8位自动置位自动置0,若规定只,若规定只写高写高8位,则低位,则低8位自动置位自动置0。若为。若为16位计

温馨提示

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

评论

0/150

提交评论