1、教学重点教学重点v 可编程定时可编程定时/计数器计数器8253/8254工作方式和编工作方式和编程程教学难点:教学难点:v6种工作方式和时序种工作方式和时序8253 安排一次实验安排一次实验12 12 可编程计数器可编程计数器/定时器定时器8253-58253-5 8253-58253-5是是IntelIntel公司生产的公司生产的三通道三通道1616位的可位的可编程计数器编程计数器/定时器定时器。与其外形引脚及功能。与其外形引脚及功能兼容的同类计数器兼容的同类计数器/定时器有定时器有8254-28254-2。两者。两者的差异主要是工作的最高频率,的差异主要是工作的最高频率,8253-5825
2、3-5为为5MHz,8254-25MHz,8254-2为为10MHz10MHz。12.1 8253-512.1 8253-5的引脚与功能结构的引脚与功能结构12.2 8253-512.2 8253-5的内部结构和寻址方式的内部结构和寻址方式12.3 8253-512.3 8253-5的的6 6种工作方式及时序关系种工作方式及时序关系12.4 825312.4 8253应用举例应用举例 返回返回8253/8254定时计数器的主要功能:定时计数器的主要功能:3个独立的个独立的16位计数器通道位计数器通道 每个计数器有每个计数器有6种工作方式种工作方式 按二进制或十进制(按二进制或十进制(BCD码)
3、计数码)计数 8254是是8253的改进型的改进型 主频主频10MHZ 增加了状态寄存器增加了状态寄存器注意:以注意:以8253为例讲解为例讲解12.1 8253-512.1 8253-5的引脚与功能结构的引脚与功能结构 8253-58253-5是一种是一种2424脚脚封装的双列直插式芯片。封装的双列直插式芯片。8253-58253-5的功能体现在两个方面的功能体现在两个方面,即即计数与定时计数与定时。两者的工作原理在实质上是一样的,都是利用计两者的工作原理在实质上是一样的,都是利用计数器作减数器作减1 1计数,减至计数,减至0 0发信号。数据线发信号。数据线 D D0 0D D7 7 引脚名
4、称和分类引脚名称和分类 控制线控制线 A A0 0、A A1 1 RD RDWRWRCSCS 电源电源Vcc GNDVcc GND 计数器输入输出信号计数器输入输出信号 CLK CLK 0 02 2GATE GATE 0 02 2OUT OUT 0 02 2 返回返回8253-58253-5引脚和功能示意图引脚和功能示意图8253-58253-5各引脚的定义各引脚的定义 D D0 0D D7 7:数据线。数据线。A A0 0、A A1 1:地址线,用于选择地址线,用于选择3 3个计数器中的个计数器中的一个及选择控制字寄存器。一个及选择控制字寄存器。RDRD:读控制信号,低电平有效。:读控制信号
5、,低电平有效。WRWR:写控制信号,低电平有效。:写控制信号,低电平有效。CSCS:片选信号,低电平有效。:片选信号,低电平有效。返回返回8253-58253-5各引脚的定义(续)各引脚的定义(续)CLK CLK 0 02 2:计数器:计数器0 0、1 1、2 2的的时钟输时钟输入端入端。GATE GATE 0 02 2:计数器:计数器0#0#、1#1#、2#2#的的门控制脉门控制脉冲输入端冲输入端,由外部设备送入门控脉冲。,由外部设备送入门控脉冲。OUT OUT 0 02 2:计数器计数器0#0#、1#1#、2#2#的的输出端输出端,由它接至外部设备以控制其启停。由它接至外部设备以控制其启停
6、。12.2 8253-512.2 8253-5的内部结构和寻址方式的内部结构和寻址方式1.1.内部结构内部结构2.2.寻址方式寻址方式1、内部结构单个计数器结构示意图单个计数器结构示意图预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值8253内部结构内部结构 8253-5的内部结构如图8.3所示。它有3个独
7、立结构完全相同的16位计数器和1个8位控制字寄存器以及以及数据缓冲器数据缓冲器、读写控制逻辑读写控制逻辑共共六部分组成六部分组成。在每个计数器内部,又可分为计数初值寄存器CR、计数执行部件CE和输出锁存器OL 3个部件,它们都是16位寄存器,也可以作8位寄存器来用。在计数器工作时,通过程序给初值寄存器CR送入初始值,该初始值再被送入执行部件CE进行减1计数;而输出锁存器OL则用来锁存CE的内容,该内容可以由CPU进行读出操作。单个计数器也称为通道。计数器单个计数器也称为通道。计数器0=通道通道0;计数器计数器1=通道通道1;计数器;计数器2=通道通道28253内部结构示意图2、寻址方式、寻址方
8、式 8253-58253-5内部有内部有3 3个计数器和个计数器和1 1个控制字寄存器,可个控制字寄存器,可通过地址线通过地址线A A0 0、A A1 1,读写控制线,读写控制线RDRD、WRWR与选片与选片CSCS进行寻址,并实现相应的操作。进行寻址,并实现相应的操作。返回返回12.3 8253-512.3 8253-5的的6 6种工作方式种工作方式及时序关系及时序关系 8253-58253-5的的方式控制字格式方式控制字格式如图如图8.48.4所示,各所示,各计数器有计数器有6 6种可供选择的工作方式,以完成种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。定时、计数或脉冲发生
9、器等多种功能。格式字说明(见图格式字说明(见图8.48.4)D0-D0-定义进制定义进制 D1D1、D2D2、D3-D3-定义六种工作方式定义六种工作方式 D4D4、D5D5定义操作方式定义操作方式 D6D6、D7D7定义计数器定义计数器 方式控制字只能写入,不能读出。编程时首方式控制字只能写入,不能读出。编程时首先要设定方式控制字(通过输出指令)。先要设定方式控制字(通过输出指令)。方式控制字格式方式控制字格式 方式控制字格式方式控制字格式计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计数器211 非法
10、非法00 计数器锁存命计数器锁存命令令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二进制二进制1 十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)问题:问题:内部结构中控制字寄存器只有一个,内部结构中控制字寄存器只有一个,如何区分写入控制字是哪个计数器的控制字)如何区分写入控制字是哪个计数器的控制字)在在82538253的初始化编程中,由的初始化编程中,由CPUCPU向向825382
11、53的控制字寄存器的控制字寄存器写入一个控制字写入一个控制字,它,它规定规定了了82538253的的工作方式工作方式。(1 1)计数器选择计数器选择(D7D6)(D7D6)控制字的最高两位决定这个控制字是哪控制字的最高两位决定这个控制字是哪一个通道的控制字。由于三个通道的工作一个通道的控制字。由于三个通道的工作是完全独立的,所以需要有三个控制字寄是完全独立的,所以需要有三个控制字寄存器分别规定相应通道的工作方式。但存器分别规定相应通道的工作方式。但它它们的地址是同一个,即们的地址是同一个,即A1A0=11A1A0=11控制控制字寄存器的地址。字寄存器的地址。控制字格式说明:控制字格式说明:所以
12、,需要由这两位来决定是哪一个通所以,需要由这两位来决定是哪一个通道的控制字。因此,对三个通道的编程需要道的控制字。因此,对三个通道的编程需要向同一个地址向同一个地址(控制字寄存器地址控制字寄存器地址)写入三个写入三个控制字,它们的控制字,它们的D7D6D7D6位分别指定不同的通道位分别指定不同的通道。在在控制字中的通道选择与通道计数器的地址控制字中的通道选择与通道计数器的地址是两回事,不能混淆。是两回事,不能混淆。计数通道的地址是用计数通道的地址是用作作CPUCPU向计数器写初值,或者从计数器读取当向计数器写初值,或者从计数器读取当前的计数值。前的计数值。(2 2)数据读数据读/写格式写格式(
13、D5D4)(D5D4)CPU CPU向计数通道向计数通道写入写入初值和读取它们的当初值和读取它们的当前状态时,有几种不同的格式。例如,写数前状态时,有几种不同的格式。例如,写数据时,是写入据时,是写入8 8位数据还是位数据还是1616位数据,若是位数据,若是8 8位计数,可以令位计数,可以令D5D4=01D5D4=01只写低只写低8 8位,则高位,则高8 8位位自动置自动置0 0;若是;若是1616位计数,而低位计数,而低8 8位为位为0 0,则可,则可令令D D5D4=105D4=10,只写入高,只写入高8 8位,而低位,而低8 8位就自动为位就自动为0 0;在令;在令D5D4=11D5D4
14、=11时,时,1616位计数就先写入低位计数就先写入低8 8位,位,后输入高后输入高8 8位。位。在在读取读取计数值时,可令计数值时,可令D5D4=00D5D4=00,则把写,则把写控制字时的计数值控制字时的计数值锁存锁存,以后再读取。,以后再读取。(3 3)工作方式工作方式(D3D2D1)(D3D2D1)82538253的每个通道可以有的每个通道可以有6 6种不同种不同的工作方式,的工作方式,由这由这三位决定三位决定。每一种方式的特点,随后介。每一种方式的特点,随后介绍。绍。(4 4)数制选择数制选择(D0)(D0)82538253的每个通道有的每个通道有两种计数制两种计数制:二进制和:二进
15、制和二二十进制,由这位决定。在二进制计数时,十进制,由这位决定。在二进制计数时,写入的初值的范围为写入的初值的范围为0000H0000HFFFFHFFFFH,其中,其中0000H0000H是最大值,代表是最大值,代表6553665536;在二;在二十进制十进制时,写入的初值的范围为时,写入的初值的范围为0000000099999999,其中,其中00000000是最大值,代表是最大值,代表1000010000。8253-58253-5的的6 6种工作方式及时序关系(续)种工作方式及时序关系(续)1.1.方式计数结束产生中断方式计数结束产生中断 掌握内容掌握内容2.2.方式方式1 1 可编程单稳
16、触发器可编程单稳触发器 3.3.方式方式2 2 分频器分频器4.4.方式方式3 3 方波频率发生器方波频率发生器 -掌握内容掌握内容5.5.方式方式4 4 软件触发选通脉冲软件触发选通脉冲 6.6.方式方式5 5 硬件触发选通脉冲硬件触发选通脉冲 6 6种方式下的工作状态是不同的,种方式下的工作状态是不同的,输出的波输出的波形也不同,形也不同,是是有门控有门控GATEGATE作用所引起作用所引起的。的。要注意每种工作方式的要注意每种工作方式的初始化设置初始化设置。82538253的的6 6种工作方式种工作方式及时序关系及时序关系(难点)(难点)通过写入方式控制字可以规定各计数器的工作方通过写入
17、方式控制字可以规定各计数器的工作方式,以完成式,以完成定时定时、计数计数或或脉冲发生器脉冲发生器等多种功能。等多种功能。方式控制字只能写入,不能读出。方式控制字只能写入,不能读出。编程时首先要编程时首先要设定方式控制字设定方式控制字(通过输出指令)。(通过输出指令)。每种工作方式学习时要注意门控信号的作用以及每种工作方式学习时要注意门控信号的作用以及计数器初值装入的方式。计数器初值装入的方式。初值(一次有效、多次有效、自动装入、计数过程初值(一次有效、多次有效、自动装入、计数过程中改变计数值)中改变计数值)GATEGATE(电平(电平/上升沿,计数中改变上升沿,计数中改变门控信号),门控信号)
18、,OUTOUT(起始电平、单脉冲、连续波形(起始电平、单脉冲、连续波形)要注意每种工作方式的工作原理、特点以及时序要注意每种工作方式的工作原理、特点以及时序图图1.1.方式方式0(0(计数结束产生中断计数结束产生中断)GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束 82538253的每个计数通道都有的每个计数通道都有6 6种不同的工作种不同的工作方式方式可供选择。这可供选择。这6 6种工作方式的种工作方式的区别在区别在于于:它们启动计数器进行计数的:它们启动计数器进行计数的触发方触
19、发方式不同式不同;计数过程中,门控信号;计数过程中,门控信号GATEGATE对对计数操作的影响不同计数操作的影响不同;计数结束后,;计数结束后,OUTOUT输出线上的输出波形不同输出线上的输出波形不同。下面我们将分别讨论这下面我们将分别讨论这6 6种工作方式的工种工作方式的工作过程和特点。作过程和特点。方式方式0 0计数结束产生中断计数结束产生中断 8253-58253-5在方式在方式0 0(如图(如图8.58.5所示)工作时的所示)工作时的特点:特点:(1 1)在)在WRWR为低电平有效时向计数器写入控为低电平有效时向计数器写入控制字制字CWCW,当写入,当写入CWCW后,后,OUTOUT端
20、将输出低电平端将输出低电平作为起始电平;在作为起始电平;在WRWR的上升沿将计数初值的上升沿将计数初值写入初值寄存器写入初值寄存器CRCR,当计数初值装入计数,当计数初值装入计数器后,输出端仍将保持低电平,直到计数器后,输出端仍将保持低电平,直到计数初值减至初值减至0 0为止。在计数过程中,若为止。在计数过程中,若GATEGATE端端的门控信号为高电平,则当的门控信号为高电平,则当CLKCLK端每来一个端每来一个计数脉冲,计数器就进行减计数脉冲,计数器就进行减1 1计数,计数,方式方式0 0时序图时序图方式方式0 0计数结束产生中断(续)计数结束产生中断(续)在计数值减为在计数值减为0 0时,
21、时,OUTOUT端输出变为高端输出变为高电平;电平;若要使用中断,则可以用此正跳变电平向若要使用中断,则可以用此正跳变电平向CPUCPU发中断请求。发中断请求。(2 2)GATEGATE为计数控制门。方式为计数控制门。方式0 0的计数过程可的计数过程可由门控信号由门控信号GATEGATE控制暂停,即当控制暂停,即当GATE=1GATE=1时,时,允许计数;允许计数;GATE=0GATE=0时,停止计数时,停止计数。GATEGATE信号信号的变化并不影响输出的变化并不影响输出OUTOUT端的状态。端的状态。方式方式0 0 计数结束产生中断(续计数结束产生中断(续1 1)(3 3)计数过程中可重新
22、装入计数初值。如)计数过程中可重新装入计数初值。如果在计数过程中,重新写入某一计数初果在计数过程中,重新写入某一计数初值,则在写完新的计数值后,计数器将值,则在写完新的计数值后,计数器将从该值重新开始进行减从该值重新开始进行减1 1计数。注意,若计数。注意,若写入的计数值为写入的计数值为2 2个字节,则在写入第个字节,则在写入第1 1个字节(低字节)时,计数器将中止原个字节(低字节)时,计数器将中止原来的计数过程;而在写入第来的计数过程;而在写入第2 2个字节(高个字节(高字节)时,计数器将按新的初值重新计字节)时,计数器将按新的初值重新计数。数。方式方式0 0 计数结束产生中断(续计数结束产
23、生中断(续2 2)8253-58253-5利用方式利用方式0 0既可计数,也可定时。既可计数,也可定时。当作计数器使用时,应将待计数的事件当作计数器使用时,应将待计数的事件以脉冲信号方式从以脉冲信号方式从CLKCLK端输入,将计数初端输入,将计数初值预置到计数器中,以完成减值预置到计数器中,以完成减1 1计数功能,计数功能,直到计数值减至直到计数值减至0 0由由OUTOUT端发正跳变结束端发正跳变结束信号,表示计数已到。信号,表示计数已到。当作定时器使用时,应根据要求定时的当作定时器使用时,应根据要求定时的时间和时间和CLKCLK的周期计算出定时系数,将它的周期计算出定时系数,将它预置到计数器
24、中,可在计数完成时计算预置到计数器中,可在计数完成时计算出定时时间。出定时时间。2.方式方式1(可编程单稳脉冲可编程单稳脉冲)设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR方式方式1 1 可编程单稳触发器可编程单稳触发器 8253-58253-5按方式按方式1 1(如图(如图8.68.6所示)工作时,所示)工作时,有以下特点:有以下特点:(1 1)当写入控制字后,)当写入控制字后,OUTOUT端将输出高电端将输出高电平作为起始电平平作为起始电平。当计数初值送到计数器
25、。当计数初值送到计数器后,若无后,若无GATEGATE的上升沿,不管此时的上升沿,不管此时GATEGATE输输入的触发电平是高电平还是低电平,都不入的触发电平是高电平还是低电平,都不会开始减会开始减1 1计数,而计数,而必须等到必须等到GATEGATE端输入端输入一个正跳变触发脉冲时一个正跳变触发脉冲时,计数过程才会开,计数过程才会开始。始。方式方式1 1时序图时序图方式方式1 1 可编程单稳触发器(续)可编程单稳触发器(续)(2 2)计数器工作时,由)计数器工作时,由GATEGATE输入输入触发脉冲触发脉冲的上升沿的上升沿使使OUTOUT变为低电平,每来一个计变为低电平,每来一个计数脉冲,计
26、数器作减数脉冲,计数器作减1 1计数,当计数值减计数,当计数值减为为0 0时,时,OUTOUT再变为高电平。再变为高电平。OUTOUT端输出的端输出的单稳负脉冲的宽度为计数器的初值乘以单稳负脉冲的宽度为计数器的初值乘以CLKCLK端输入脉冲周期。端输入脉冲周期。返回返回方式方式1 1 可编程单稳触发器(续)可编程单稳触发器(续)(3 3)如果在计数器未减到如果在计数器未减到0 0时,门控端时,门控端GATEGATE又来一个触发脉冲,则在又来一个触发脉冲,则在GATEGATE为低为低电平期间,并不影响计数过程,仍继续电平期间,并不影响计数过程,仍继续作减作减1 1计数;但在计数;但在GATEGA
27、TE的上升沿,则由下的上升沿,则由下一个时钟脉冲开始,计数器将从初始值一个时钟脉冲开始,计数器将从初始值重新作减重新作减1 1计数。当减至计数。当减至0 0时,输出端又时,输出端又变为高电平。这样,会使变为高电平。这样,会使输出脉冲宽度输出脉冲宽度延长。延长。在方式在方式1 1时,计数值也是一次有效,每输时,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉入一次计数值,只产生一个负极性单脉冲。冲。3 3、方式、方式2 2 分频器分频器 方式方式2 2是是n n分频计数器分频计数器,n n是写入计数器的初是写入计数器的初值。在此方式下,计数器既可以用软件启动,值。在此方式下,计数器既可
28、以用软件启动,也可以用硬件启动。一旦计数启动,计数器也可以用硬件启动。一旦计数启动,计数器就可以自动重复工作。当写入控制字后,就可以自动重复工作。当写入控制字后,OUTOUT端输出变为高电平作为起始电平端输出变为高电平作为起始电平。当计。当计数初值写入计数器后,从下一个时钟脉冲起,数初值写入计数器后,从下一个时钟脉冲起,计数器开始作减计数器开始作减1 1计数。当减到计数。当减到1 1时,时,OUTOUT端端输出将变为低电平。再经过一个时钟周期,输出将变为低电平。再经过一个时钟周期,计数值减到计数值减到0 0后,后,OUTOUT又恢复为高电平,于是又恢复为高电平,于是形成一个不对称形脉冲。形成一
29、个不对称形脉冲。方式方式2 2时序图时序图4 4、方式、方式3 3 方波频率发生器方波频率发生器 方式方式3 3类似于方式类似于方式2 2,也有两种启动方式,也有两种启动方式,并具有自动装入计数初值并具有自动装入计数初值的功能,但输出的功能,但输出的波形为方波或者为近似对称的矩形波。的波形为方波或者为近似对称的矩形波。当写入控制字后,当写入控制字后,OUTOUT端开始输出低电平作端开始输出低电平作为起始电平,为起始电平,当装入计数值当装入计数值n n后,后,OUTOUT端输端输出立即跳变为高电平。如果当前出立即跳变为高电平。如果当前GATEGATE为高为高电平,则立即开始作减电平,则立即开始作
30、减1 1计数。计数。方式方式3(方波频率发生器)(方波频率发生器)03124GATEOUTCLK 4方式方式3031240312403124WR方式方式3 3 方波频率发生器(续)方波频率发生器(续)当计数值当计数值n n为偶数时,每当计数值减到为偶数时,每当计数值减到n/2n/2时,则时,则OUTOUT端由高电平变为低电平,并一直端由高电平变为低电平,并一直保持计数到保持计数到0 0,一旦计数为,一旦计数为0 0时时OUTOUT端又由低端又由低变高并重新给计数器装入初值;变高并重新给计数器装入初值;当当n n为奇数时,输出分频波高电平宽度为为奇数时,输出分频波高电平宽度为(n+1n+1)/2
31、/2计数脉冲周期,低电平宽度为计数脉冲周期,低电平宽度为(n-1n-1)/2/2计数脉冲周期。计数脉冲周期。如果在计数过程中,如果在计数过程中,GATEGATE变为低电平,则变为低电平,则暂停减暂停减1 1计数。计数。返回返回方式方式3 3 方波频率发生器(续)方波频率发生器(续)如果要求改变输出分频波的频率,则如果要求改变输出分频波的频率,则CPUCPU可在任何时刻重新装入新的计数初值可在任何时刻重新装入新的计数初值n n,并从下一个计数操作周期开始改变输出并从下一个计数操作周期开始改变输出分频波的速率。分频波的速率。5 5、方式、方式4 4软件触发选通脉冲软件触发选通脉冲 软件触发选通脉冲
32、方式软件触发选通脉冲方式 按方式按方式4 4工作时,写入控制字后,输出工作时,写入控制字后,输出OUTOUT变为高电平。当由变为高电平。当由软件触发写入初始值后软件触发写入初始值后再过一个时钟周期,计数器开始作减再过一个时钟周期,计数器开始作减1 1计数计数,当计数器减到当计数器减到0 0时,在时,在OUTOUT端输出一个宽度端输出一个宽度等于一个计数脉冲周期的负脉冲。利用这等于一个计数脉冲周期的负脉冲。利用这一负脉冲可以作为选通脉冲。一负脉冲可以作为选通脉冲。若若GATE=1GATE=1,则允许计数;则允许计数;GATE=0GATE=0,则停止计数,则停止计数,并使,并使输出仍保持当前的高电
33、平。注意,只有在输出仍保持当前的高电平。注意,只有在计数器计数到计数器计数到0 0时,输出才会产生供选通用时,输出才会产生供选通用的负脉冲。的负脉冲。返回返回方式方式4 4 时序图时序图软件触发选通脉冲方式软件触发选通脉冲方式 如果在计数时又写入新的计数值,则在下如果在计数时又写入新的计数值,则在下一个时钟周期时将把此计数值写入计数器一个时钟周期时将把此计数值写入计数器执行部件,使计数器按此新的计数值重新执行部件,使计数器按此新的计数值重新作减作减1 1计数。这种计数。这种通过写入新值使计数器通过写入新值使计数器从头计数的方法叫做软件再触发从头计数的方法叫做软件再触发。8253-58253-5
34、的方式的方式4 4是利用写入计数初值这个软件操是利用写入计数初值这个软件操作来触发计数器工作的,称为软件触发选作来触发计数器工作的,称为软件触发选通脉冲方式。通脉冲方式。返回返回6 6、方式、方式5 5硬件触发选通脉冲硬件触发选通脉冲 此方式类似于方式此方式类似于方式4 4,所不同的是触发计数,所不同的是触发计数器开始计数的方式不同,它是利用器开始计数的方式不同,它是利用GATEGATE端端输入信号来触发的输入信号来触发的。按方式。按方式5 5工作时,由工作时,由GATEGATE输入一个输入一个正跳变的触发脉冲正跳变的触发脉冲,从其上,从其上升沿开始,计数器作减升沿开始,计数器作减1 1计数,
35、直到计数减计数,直到计数减1 1为为0 0结束时,在结束时,在OUTOUT端输出端输出一个宽度等于一一个宽度等于一个计数脉冲周期的个计数脉冲周期的负脉冲负脉冲。在此方式中,。在此方式中,计数器可重新触发。在任何时刻,计数器可重新触发。在任何时刻,当当GATEGATE触发脉冲上升沿到来时,将把计数初值重触发脉冲上升沿到来时,将把计数初值重新送入计数器,新送入计数器,然后开始计数过程。然后开始计数过程。返回返回方式方式5 5时续图时续图82538253工作方式总结工作方式总结1 1、方式、方式2 2、4 4、5 5的输出波形是相同的,都的输出波形是相同的,都是宽度为一个是宽度为一个CLKCLK周期
36、的负脉冲,但方式周期的负脉冲,但方式2 2连续工作,方式连续工作,方式4 4是由软件触发启动的,是由软件触发启动的,方式方式5 5由硬件触发启动的。由硬件触发启动的。2 2、方式、方式5 5与方式与方式1 1工作过程相同,但输出工作过程相同,但输出波形不同,方式波形不同,方式1 1输出的是宽度为输出的是宽度为N N个个CLKCLK脉冲的低电平有效的脉冲,而方式脉冲的低电平有效的脉冲,而方式5 5输出输出的是宽度为一个的是宽度为一个CLKCLK脉冲的负脉冲。脉冲的负脉冲。3 3、输出端、输出端OUTOUT的初始状态,方式的初始状态,方式0 0在写入在写入方式字后输出为低,其余方式写入控制方式字后
37、输出为低,其余方式写入控制字后,输出均变为高字后,输出均变为高82538253工作方式总结(续工作方式总结(续1 1)4 4、任一种方式,均是在写入计数初值之后,、任一种方式,均是在写入计数初值之后,才能开始计数,方式才能开始计数,方式0 0、2 2、3 3、4 4都是在都是在写入计数初值之后,开始计数的,而方写入计数初值之后,开始计数的,而方式式1 1和方式和方式5 5需要外部触发启动,才开始需要外部触发启动,才开始计数。计数。5 5、6 6种工作方式中,只有方式种工作方式中,只有方式2 2和方式和方式3 3是是连续计数,其他方式都是一次计数,要连续计数,其他方式都是一次计数,要继续工作需要
38、重新启动,方式继续工作需要重新启动,方式0 0、4 4由软由软件启动,方式件启动,方式1 1、5 5由硬件启动。由硬件启动。82538253工作方式总结(续工作方式总结(续2 2)6 6、门控信号的作用、门控信号的作用 通过门控信号通过门控信号GATEGATE,可以干预,可以干预82538253某一通某一通道的计数过程,在不同工作方式下,门控道的计数过程,在不同工作方式下,门控信号起作用的方式也不一样,其中信号起作用的方式也不一样,其中0 0、2 2、3 3、4 4是电平起作用,是电平起作用,1 1、2 2、3 3、5 5是上升沿起作是上升沿起作用,方式用,方式2 2、3 3对电平上升沿都可以
39、起作用。对电平上升沿都可以起作用。7 7、在计数过程中改变计数值,它们的作用有、在计数过程中改变计数值,它们的作用有所不同。所不同。8 8、计数到、计数到0 0后计数器的状态,方式后计数器的状态,方式0 0、1 1、4 4、5 5继续倒计数,变为继续倒计数,变为FFFF、EEEE。而方式。而方式2 2、3 3则自动装入计数初值继续计数。则自动装入计数初值继续计数。82538253的读写操作及编程的读写操作及编程 82538253加电后的工作方式不确定加电后的工作方式不确定 82538253必须初始化编程,才能正常工作必须初始化编程,才能正常工作(1 1)写操作)写操作:写控制字写控制字 写计数
40、器初值写计数器初值计数值写入计数器各自的计数值写入计数器各自的I/OI/O地址地址初始化编程的步骤为:初始化编程的步骤为:(1)(1)写入通道控制字,规定通道的工作方式。写入通道控制字,规定通道的工作方式。(2)(2)写入计数值。写入计数值。若规定只写低若规定只写低8 8位,则写入的为计数值位,则写入的为计数值的低的低8 8位,高位,高8 8位自动置位自动置0 0;若规定只写高若规定只写高8 8位,则写入的为计数值位,则写入的为计数值的高的高8 8位,低位,低8 8位自动置位自动置0 0;若是若是1616位计数值,则分两次写入,先写位计数值,则分两次写入,先写入低入低8 8位,再写入高位,再写
41、入高8 8位。位。12.4 8253初始化及应用编程初始化及应用编程例如:例如:若要用通道若要用通道0 0,工作在方式,工作在方式1 1,按二按二十进制计数,计数值为十进制计数,计数值为5080H5080H。则初始。则初始化编程的步骤为:化编程的步骤为:(1)(1)确定通道控制字:确定通道控制字:(2)计数值的低计数值的低8位为位为80H。(3)计数值的高计数值的高8位为位为50H。若端口地址位为若端口地址位为F8HF8HFBHFBH,则初始化程,则初始化程序为:序为:MOVAL,33HOUT0FBH,ALMOVAL,80HOUT0F8H,ALMOVAL,50HOUT0F8H,AL 例例7 7
42、 利用利用82538253的计数器通道的计数器通道2 2产生频率为产生频率为1000Hz1000Hz的方的方波。设计数时钟脉冲的频率波。设计数时钟脉冲的频率f=10000 Hzf=10000 Hz。其初始化程序。其初始化程序如下如下:MOV AL,10110110B ;方式;方式3,通道,通道2,二进制,先低后高,二进制,先低后高OUT COTR,AL ;写入控制寄存器;写入控制寄存器MOV AX,4A7H ;产生;产生1000Hz所需的计数初值所需的计数初值=f/1000OUT CTN2,AL ;先写计数初值低字节先写计数初值低字节MOV AL,AHOUT CTN2,AL ;再写计数初值高字
43、节;再写计数初值高字节 82538253控制字初化设置举例控制字初化设置举例例、设例、设82538253的端口地址为的端口地址为04H-07H04H-07H,要使计数器,要使计数器1 1工作在方式工作在方式0 0,仅用,仅用8 8位二进制计数,计数值为位二进制计数,计数值为128128,进行初始化设置。,进行初始化设置。控制字为:控制字为:01010000B=50H01010000B=50H 初始化程序为:初始化程序为:MOV ALMOV AL,50H50H OUT 07H OUT 07H,ALAL MOV AL MOV AL,80H80H OUT 05H OUT 05H,ALAL825382
44、53应用举例应用举例 在在IBM PC/XTIBM PC/XT机中,机中,8253-58253-5是是CPUCPU外围支持外围支持电路之一,为系统电子钟提供电路之一,为系统电子钟提供时间基准时间基准,为,为动态动态RAMRAM刷新提供定时信号刷新提供定时信号以及作为以及作为扬声器扬声器的声源的声源等功能。等功能。1.1.硬件结构硬件结构2.2.计数器的预置程序计数器的预置程序硬件结构 从从8253-58253-5在在IBM PC/XTIBM PC/XT机中的连线图中可知,机中的连线图中可知,8253-58253-5芯片的芯片的3 3个计数器使用相同的时钟脉冲。个计数器使用相同的时钟脉冲。CLK
45、CLK0 0CLKCLK2 2的频率是由的频率是由82848284时钟发生器输出的外时钟发生器输出的外部时钟部时钟PCLKPCLK(2.38MHz2.38MHz)的)的1/21/2,即,即1.19MHz1.19MHz,这,这由由U U2222分频实现。分频实现。8253-58253-5的的3 3个计数器端口地址为:个计数器端口地址为:40H40H、41H41H、42H42H;控制寄存器端口;控制寄存器端口地址为地址为43H43H。3 3个计数器如下:个计数器如下:1.1.计数器计数器0 0 2.2.计数器计数器1 13.3.计数器计数器2 282538253与与CPUCPU连接图连接图计数器计
46、数器0 0 计数器计数器0 0为系统电子钟为系统电子钟提供时间基准提供时间基准,即向系统日,即向系统日历时钟提供定时中断,其输出端历时钟提供定时中断,其输出端OUTOUT0 0作为系统的作为系统的中断源接到中断控制器中断源接到中断控制器8259A8259A的中断请求端的中断请求端IRQIRQ0 0。它选用方式它选用方式3 3工作,以产生周期性的方波信号。为工作,以产生周期性的方波信号。为此,对计数器此,对计数器0 0编程时应设置的控制字为编程时应设置的控制字为36H36H。计。计数器初值预置为数器初值预置为0 0(即最大值(即最大值6553665536),),GATEGATE0 0接接+5V+
47、5V,允许计数。因此,允许计数。因此,OUTOUT0 0输出方波的时钟频率输出方波的时钟频率为为1.19MHz/65536=18.21Hz1.19MHz/65536=18.21Hz。它直接接到中断控。它直接接到中断控制器制器8259A8259A的中断请求端的中断请求端IRIR0 0(即图中(即图中IRQIRQ0 0),即),即0 0级中断,每秒出现级中断,每秒出现18.218.2次次(每每55ms55ms产生一次中产生一次中断)。断)。返回返回 计数器计数器1 1 计数器计数器1 1用作定时器,为动态用作定时器,为动态RAMRAM刷新提供定时信刷新提供定时信号,即向号,即向DMADMA控制器定
48、时发动态存储器刷新请求。控制器定时发动态存储器刷新请求。它选用方式它选用方式2 2工作,相当于一个分频器。编程时,工作,相当于一个分频器。编程时,设置的控制字为设置的控制字为54H54H,计数器初始值为,计数器初始值为1818。GATE1GATE1接接+5V+5V,允许计数。因此,允许计数。因此,OUT1OUT1输出的分频脉冲频输出的分频脉冲频率为率为1.19MHz/18=66.1KHz1.19MHz/18=66.1KHz,相当于周期为,相当于周期为15.1s15.1s。这样,计数器这样,计数器1 1每隔每隔15.1s15.1s经由经由U21U21产生一个动态产生一个动态RAMRAM刷新的请求
49、信号刷新的请求信号DRQ0DRQ0。由。由DRQ0DRQ0请求一次请求一次DMADMA,由由DMADMA控制器控制器8237A8237A执行执行DMADMA操作,以完成对动态操作,以完成对动态RAMRAM的刷新。的刷新。返回返回 计数器计数器2 2 计数器计数器2 2是系统的扬声器的声源,其输出信号送往是系统的扬声器的声源,其输出信号送往扬声器,并根据扬声器,并根据OUTOUT2 2端输出信号的频率来控制扬端输出信号的频率来控制扬声器的音调。而扬声器发声的长短取决于声器的音调。而扬声器发声的长短取决于OUTOUT2 2信信号延续时间的多少,也即门控信号号延续时间的多少,也即门控信号GATEGA
50、TE2 2延续时间延续时间的长短。的长短。在初始化编程时,计数器在初始化编程时,计数器2 2用方式用方式3 3工作,应设置工作,应设置的控制字为的控制字为B6HB6H,计数器的初值置,计数器的初值置533H533H(即(即13311331),),OUTOUT2 2输出方波频率为输出方波频率为1.19MHz/13311.19MHz/1331894Hz894Hz。该计。该计数器的工作由主机板上数器的工作由主机板上8255A8255A的的PBPB0 0端控制。当端控制。当PBPB0 0输出的输出的TIMETIME2 2GATESPKGATESPK信号使信号使8253-58253-5的的GATEGAT