版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可编程定时器计数器接口芯片可编程定时器计数器接口芯片可编程定时器计数器接口芯片教学重点可编程定时/计数器8253/8254工作方式和编程教学难点:6种工作方式和时序8253安排一次实验可编程定时器计数器接口芯片可编程定时器计数器接口芯片可编程定1教学重点
可编程定时/计数器8253/8254工作方式和编程教学难点:6种工作方式和时序8253安排一次实验教学重点212可编程计数器/定时器8253-5
8253-5是Intel公司生产的三通道16位的可编程计数器/定时器。与其外形引脚及功能兼容的同类计数器/定时器有8254-2。两者的差异主要是工作的最高频率,8253-5为5MHz,8254-2为10MHz。12.18253-5的引脚与功能结构12.28253-5的内部结构和寻址方式12.38253-5的6种工作方式及时序关系12.48253应用举例返回12可编程计数器/定时器8253-58253-538253/8254定时计数器的主要功能:3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数8254是8253的改进型主频10MHZ增加了状态寄存器注意:以8253为例讲解8253/8254定时计数器的主要功能:3个独立的16位计数412.18253-5的引脚与功能结构
8253-5是一种24脚封装的双列直插式芯片。8253-5的功能体现在两个方面,即计数与定时。两者的工作原理在实质上是一样的,都是利用计数器作减1计数,减至0发信号。数据线 D0~D7
引脚名称和分类控制线A0、A1RD WR CS电源VccGND计数器输入输出信号CLK0~2GATE0~2 OUT0~2
返回12.18253-5的引脚与功能结构8253-5是一种58253-5引脚和功能示意图8253-5引脚和功能示意图68253-5各引脚的定义
D0~D7:数据线。A0、A1:地址线,用于选择3个计数器中的一个及选择控制字寄存器。RD:读控制信号,低电平有效。WR:写控制信号,低电平有效。CS:片选信号,低电平有效。返回8253-5各引脚的定义D0~D7:数据线。返回78253-5各引脚的定义(续)CLK0~2:计数器0#、1#、2#的时钟输入端。GATE0~2:计数器0#、1#、2#的门控制脉冲输入端,由外部设备送入门控脉冲。OUT0~2:计数器0#、1#、2#的输出端,由它接至外部设备以控制其启停。8253-5各引脚的定义(续)CLK0~2:计数器0#、1812.28253-5的内部结构和寻址方式1.内部结构2.寻址方式返回12.28253-5的内部结构和寻址方式1.内部结构返回91、内部结构1、内部结构10单个计数器结构示意图预置寄存器GATECLKOUT减1计数器输出锁存器计数初值存于预置寄存器;在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值单个计数器结构示意图预置寄存器GATECLKOUT减1计数器118253内部结构8253-5的内部结构如图8.3所示。它有3个独立结构完全相同的16位计数器和1个8位控制字寄存器以及数据缓冲器、读写控制逻辑共六部分组成。在每个计数器内部,又可分为计数初值寄存器CR、计数执行部件CE和输出锁存器OL3个部件,它们都是16位寄存器,也可以作8位寄存器来用。在计数器工作时,通过程序给初值寄存器CR送入初始值,该初始值再被送入执行部件CE进行减1计数;而输出锁存器OL则用来锁存CE的内容,该内容可以由CPU进行读出操作。
返回单个计数器也称为通道。计数器0=通道0;计数器1=通道1;计数器2=通道28253内部结构8253-5的内部结构如图8.3所示。它有3128253内部结构示意图8253内部结构示意图132、寻址方式8253-5内部有3个计数器和1个控制字寄存器,可通过地址线A0、A1,读写控制线RD、WR与选片CS进行寻址,并实现相应的操作。返回2、寻址方式8253-5内部有3个计数器和1个控制字寄存器,1412.38253-5的6种工作方式及时序关系
8253-5的方式控制字格式如图8.4所示,各计数器有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。格式字说明(见图8.4)D0-定义进制D1、D2、D3-定义六种工作方式D4、D5—定义操作方式D6、D7—定义计数器方式控制字只能写入,不能读出。编程时首先要设定方式控制字(通过输出指令)。12.38253-5的6种工作方式及时序关系8253-15方式控制字格式方式控制字格式16方式控制字格式计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1010方式2011方式3100方式4101方式50二进制1十进制控制字写入控制字I/O地址(A1A0=11)问题:内部结构中控制字寄存器只有一个,如何区分写入控制字是哪个计数器的控制字)方式控制字格式计数器读写格式工作方式数制D7D6D5D4D17
在8253的初始化编程中,由CPU向8253的控制字寄存器写入一个控制字,它规定了8253的工作方式。(1)计数器选择(D7D6)控制字的最高两位决定这个控制字是哪一个通道的控制字。由于三个通道的工作是完全独立的,所以需要有三个控制字寄存器分别规定相应通道的工作方式。但它们的地址是同一个,即A1A0=11——控制字寄存器的地址。控制字格式说明:在8253的初始化编程中,由CPU向8253的控制字寄18
所以,需要由这两位来决定是哪一个通道的控制字。因此,对三个通道的编程需要向同一个地址(控制字寄存器地址)写入三个控制字,它们的D7D6位分别指定不同的通道。在控制字中的通道选择与通道计数器的地址是两回事,不能混淆。计数通道的地址是用作CPU向计数器写初值,或者从计数器读取当前的计数值。所以,需要由这两位来决定是哪一个通道的控制字。19(2)数据读/写格式(D5D4)CPU向计数通道写入初值和读取它们的当前状态时,有几种不同的格式。例如,写数据时,是写入8位数据还是16位数据,若是8位计数,可以令D5D4=01只写低8位,则高8位自动置0;若是16位计数,而低8位为0,则可令D5D4=10,只写入高8位,而低8位就自动为0;在令D5D4=11时,16位计数就先写入低8位,后输入高8位。
在读取计数值时,可令D5D4=00,则把写控制字时的计数值锁存,以后再读取。(2)数据读/写格式(D5D4)20(3)工作方式(D3D2D1)
8253的每个通道可以有6种不同的工作方式,由这三位决定。每一种方式的特点,随后介绍。(4)数制选择(D0)
8253的每个通道有两种计数制:二进制和二—十进制,由这位决定。在二进制计数时,写入的初值的范围为0000H~FFFFH,其中0000H是最大值,代表65536;在二—十进制时,写入的初值的范围为0000~9999,其中0000是最大值,代表10000。(3)工作方式(D3D2D1)218253-5的6种工作方式及时序关系(续)1.方式0计数结束产生中断—掌握内容2.方式1可编程单稳触发器3.方式2分频器4.方式3方波频率发生器---掌握内容5.方式4软件触发选通脉冲6.方式5硬件触发选通脉冲
6种方式下的工作状态是不同的,输出的波形也不同,是有门控GATE作用所引起的。要注意每种工作方式的初始化设置。返回8253-5的6种工作方式及时序关系(续)1.方式0计数结228253的6种工作方式及时序关系(难点)
通过写入方式控制字可以规定各计数器的工作方式,以完成定时、计数或脉冲发生器等多种功能。方式控制字只能写入,不能读出。编程时首先要设定方式控制字(通过输出指令)。每种工作方式学习时要注意门控信号的作用以及计数器初值装入的方式。
初值(一次有效、多次有效、自动装入、计数过程中改变计数值)GATE(电平/上升沿,计数中改变门控信号),OUT(起始电平、单脉冲、连续波形)要注意每种工作方式的工作原理、特点以及时序图8253的6种工作方式及时序关系(难点)通过写入方式控制字231.方式0(计数结束产生中断)①②⑤④⑥GATEOUTCLK
031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束③1.方式0(计数结束产生中断)①②⑤④⑥GATEOUTC248253的每个计数通道都有6种不同的工作方式可供选择。这6种工作方式的区别在于:它们启动计数器进行计数的触发方式不同;计数过程中,门控信号GATE对计数操作的影响不同;计数结束后,OUT输出线上的输出波形不同。下面我们将分别讨论这6种工作方式的工作过程和特点。
8253的每个计数通道都有6种不同的工作方式可供选择。这6种25方式0计数结束产生中断
8253-5在方式0(如图8.5所示)工作时的特点:(1)在WR为低电平有效时向计数器写入控制字CW,当写入CW后,OUT端将输出低电平作为起始电平;在WR的上升沿将计数初值写入初值寄存器CR,当计数初值装入计数器后,输出端仍将保持低电平,直到计数初值减至0为止。在计数过程中,若GATE端的门控信号为高电平,则当CLK端每来一个计数脉冲,计数器就进行减1计数,方式0计数结束产生中断 8253-5在方式0(如图8.5所26方式0时序图方式0时序图27方式0计数结束产生中断(续)在计数值减为0时,OUT端输出变为高 电平;若要使用中断,则可以用此正跳变电平向CPU发中断请求。(2)GATE为计数控制门。方式0的计数过程可由门控信号GATE控制暂停,即当GATE=1时,允许计数;GATE=0时,停止计数。GATE信号的变化并不影响输出OUT端的状态。返回方式0计数结束产生中断(续)在计数值减为0时,OUT端输28方式0计数结束产生中断(续1)(3)计数过程中可重新装入计数初值。如果在计数过程中,重新写入某一计数初值,则在写完新的计数值后,计数器将从该值重新开始进行减1计数。注意,若写入的计数值为2个字节,则在写入第1个字节(低字节)时,计数器将中止原来的计数过程;而在写入第2个字节(高字节)时,计数器将按新的初值重新计数。方式0计数结束产生中断(续1)(3)计数过程中可重新装入计29方式0计数结束产生中断(续2)
8253-5利用方式0既可计数,也可定时。 当作计数器使用时,应将待计数的事件以脉冲信号方式从CLK端输入,将计数初值预置到计数器中,以完成减1计数功能,直到计数值减至0由OUT端发正跳变结束信号,表示计数已到。 当作定时器使用时,应根据要求定时的时间和CLK的周期计算出定时系数,将它预置到计数器中,可在计数完成时计算出定时时间。方式0计数结束产生中断(续2)8253-5利用方302.方式1(可编程单稳脉冲)①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK
031244方式1WR2.方式1(可编程单稳脉冲)①②⑤④⑥①②③③④⑤⑥GAT31方式1可编程单稳触发器
8253-5按方式1(如图8.6所示)工作时,有以下特点:(1)当写入控制字后,OUT端将输出高电平作为起始电平。当计数初值送到计数器后,若无GATE的上升沿,不管此时GATE输入的触发电平是高电平还是低电平,都不会开始减1计数,而必须等到GATE端输入一个正跳变触发脉冲时,计数过程才会开始。方式1可编程单稳触发器 8253-5按方式1(如图8.32方式1时序图方式1时序图33方式1可编程单稳触发器(续)
(2)计数器工作时,由GATE输入触发脉冲的上升沿使OUT变为低电平,每来一个计数脉冲,计数器作减1计数,当计数值减为0时,OUT再变为高电平。OUT端输出的单稳负脉冲的宽度为计数器的初值乘以CLK端输入脉冲周期。返回方式1可编程单稳触发器(续)(2)计数器工作时,由G34方式1可编程单稳触发器(续)(3)如果在计数器未减到0时,门控端GATE又来一个触发脉冲,则在GATE为低电平期间,并不影响计数过程,仍继续作减1计数;但在GATE的上升沿,则由下一个时钟脉冲开始,计数器将从初始值重新作减1计数。当减至0时,输出端又变为高电平。这样,会使输出脉冲宽度延长。在方式1时,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉冲。方式1可编程单稳触发器(续)(3)如果在计数器未减到0353、方式2分频器
方式2是n分频计数器,n是写入计数器的初值。在此方式下,计数器既可以用软件启动,也可以用硬件启动。一旦计数启动,计数器就可以自动重复工作。当写入控制字后,OUT端输出变为高电平作为起始电平。当计数初值写入计数器后,从下一个时钟脉冲起,计数器开始作减1计数。当减到1时,OUT端输出将变为低电平。再经过一个时钟周期,计数值减到0后,OUT又恢复为高电平,于是形成一个不对称形脉冲。返回3、方式2分频器方式2是n分频计数器,n是写入计数器的初36方式2时序图方式2时序图374、方式3方波频率发生器
方式3类似于方式2,也有两种启动方式,并具有自动装入计数初值的功能,但输出的波形为方波或者为近似对称的矩形波。当写入控制字后,OUT端开始输出低电平作为起始电平,当装入计数值n后,OUT端输出立即跳变为高电平。如果当前GATE为高电平,则立即开始作减1计数。4、方式3方波频率发生器方式3类似于方式2,也有两种启动38方式3(方波频率发生器)03124GATEOUTCLK
4方式3031240312403124WR方式3(方波频率发生器)03124GATEOUTC39方式3方波频率发生器(续)当计数值n为偶数时,每当计数值减到n/2时,则OUT端由高电平变为低电平,并一直保持计数到0,一旦计数为0时OUT端又由低变高并重新给计数器装入初值;当n为奇数时,输出分频波高电平宽度为(n+1)/2计数脉冲周期,低电平宽度为(n-1)/2计数脉冲周期。如果在计数过程中,GATE变为低电平,则暂停减1计数。返回方式3方波频率发生器(续)当计数值n为偶数时,每当计数值减40方式3方波频率发生器(续)如果要求改变输出分频波的频率,则CPU可在任何时刻重新装入新的计数初值n,并从下一个计数操作周期开始改变输出分频波的速率。方式3方波频率发生器(续)如果要求改变输出分频波的频率,则415、方式4软件触发选通脉冲
软件触发选通脉冲方式按方式4工作时,写入控制字后,输出OUT变为高电平。当由软件触发写入初始值后再过一个时钟周期,计数器开始作减1计数,当计数器减到0时,在OUT端输出一个宽度等于一个计数脉冲周期的负脉冲。利用这一负脉冲可以作为选通脉冲。若GATE=1,则允许计数;GATE=0,则停止计数,并使输出仍保持当前的高电平。注意,只有在计数器计数到0时,输出才会产生供选通用的负脉冲。
返回5、方式4软件触发选通脉冲软件触发选通脉冲方式返回42方式4时序图方式4时序图43软件触发选通脉冲方式如果在计数时又写入新的计数值,则在下一个时钟周期时将把此计数值写入计数器执行部件,使计数器按此新的计数值重新作减1计数。这种通过写入新值使计数器从头计数的方法叫做软件再触发。8253-5的方式4是利用写入计数初值这个软件操作来触发计数器工作的,称为软件触发选通脉冲方式。返回软件触发选通脉冲方式如果在计数时又写入新的计数值,则在下一个446、方式5硬件触发选通脉冲
此方式类似于方式4,所不同的是触发计数器开始计数的方式不同,它是利用GATE端输入信号来触发的。按方式5工作时,由GATE输入一个正跳变的触发脉冲,从其上升沿开始,计数器作减1计数,直到计数减1为0结束时,在OUT端输出一个宽度等于一个计数脉冲周期的负脉冲。在此方式中, 计数器可重新触发。在任何时刻,当GATE触发脉冲上升沿到来时,将把计数初值重新送入计数器,然后开始计数过程。返回6、方式5硬件触发选通脉冲此方式类似于方式4,所不同的是触45方式5时续图方式5时续图468253工作方式总结1、方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲,但方式2连续工作,方式4是由软件触发启动的,方式5由硬件触发启动的。2、方式5与方式1工作过程相同,但输出波形不同,方式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲,而方式5输出的是宽度为一个CLK脉冲的负脉冲。3、输出端OUT的初始状态,方式0在写入方式字后输出为低,其余方式写入控制字后,输出均变为高8253工作方式总结1、方式2、4、5的输出波形是相同的,都478253工作方式总结(续1)4、任一种方式,均是在写入计数初值之后,才能开始计数,方式0、2、3、4都是在写入计数初值之后,开始计数的,而方式1和方式5需要外部触发启动,才开始计数。5、6种工作方式中,只有方式2和方式3是连续计数,其他方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式1、5由硬件启动。8253工作方式总结(续1)4、任一种方式,均是在写入计数初488253工作方式总结(续2)6、门控信号的作用通过门控信号GATE,可以干预8253某一通道的计数过程,在不同工作方式下,门控信号起作用的方式也不一样,其中0、2、3、4是电平起作用,1、2、3、5是上升沿起作用,方式2、3对电平上升沿都可以起作用。7、在计数过程中改变计数值,它们的作用有所不同。8、计数到0后计数器的状态,方式0、1、4、5继续倒计数,变为FF、EE。。。而方式2、3则自动装入计数初值继续计数。8253工作方式总结(续2)6、门控信号的作用498253的读写操作及编程8253加电后的工作方式不确定8253必须初始化编程,才能正常工作(1)写操作:写控制字写计数器初值计数值写入计数器各自的I/O地址8253的读写操作及编程8253加电后的工作方式不确定计数值50初始化编程的步骤为:(1)写入通道控制字,规定通道的工作方式。(2)写入计数值。①若规定只写低8位,则写入的为计数值的低8位,高8位自动置0;②若规定只写高8位,则写入的为计数值的高8位,低8位自动置0;③若是16位计数值,则分两次写入,先写入低8位,再写入高8位。12.48253初始化及应用编程初始化编程的步骤为:12.48253初始化及应用编程51
例如:若要用通道0,工作在方式1,按二—十进制计数,计数值为5080H。则初始化编程的步骤为:
(1)确定通道控制字:
(2)计数值的低8位为80H。
(3)计数值的高8位为50H。
例如:若要用通道0,工作在方式1,按二—十进制计数,计数52
若端口地址位为F8H~FBH,则初始化程序为:
MOV AL,33H OUT 0FBH,AL MOV AL,80H OUT 0F8H,AL MOV AL,50H OUT 0F8H,AL 若端口地址位为F8H~FBH,则初始化程序为:53例7利用8253的计数器通道2产生频率为1000Hz的方波。设计数时钟脉冲的频率f=10000Hz。其初始化程序如下:
MOV AL,
10110110B
;方式3,通道2,二进制,先低后高
OUT COTR,AL
;写入控制寄存器
MOV AX,4A7H
;产生1000Hz所需的计数初值=f/1000
OUT CTN2,AL
;先写计数初值低字节
MOV AL,AH
OUT CTN2,AL
;再写计数初值高字节
例7利用8253的计数器通道2产生频率为1000Hz的548253控制字初化设置举例例、设8253的端口地址为04H-07H,要使计数器1工作在方式0,仅用8位二进制计数,计数值为128,进行初始化设置。
控制字为:01010000B=50H
初始化程序为:MOVAL,50HOUT07H,ALMOVAL,80HOUT05H,AL8253控制字初化设置举例例、设8253的端口地址为04H-558253应用举例在IBMPC/XT机中,8253-5是CPU外围支持电路之一,为系统电子钟提供时间基准,为动态RAM刷新提供定时信号以及作为扬声器的声源等功能。 1.硬件结构 2.计数器的预置程序返回8253应用举例在IBMPC/XT机中,8253-5是CP56硬件结构从8253-5在IBMPC/XT机中的连线图中可知,8253-5芯片的3个计数器使用相同的时钟脉冲。CLK0~CLK2的频率是由8284时钟发生器输出的外部时钟PCLK(2.38MHz)的1/2,即1.19MHz,这由U22分频实现。8253-5的3个计数器端口地址为:40H、41H、42H;控制寄存器端口 地址为43H。3个计数器如下:1.计数器02.计数器13.计数器2返回硬件结构从8253-5在IBMPC/XT机中的连线图中可知578253与CPU连接图8253与CPU连接图58计数器0
计数器0为系统电子钟提供时间基准,即向系统日历时钟提供定时中断,其输出端OUT0作为系统的中断源接到中断控制器8259A的中断请求端IRQ0。它选用方式3工作,以产生周期性的方波信号。为此,对计数器0编程时应设置的控制字为36H。计数器初值预置为0(即最大值65536),GATE0接+5V,允许计数。因此,OUT0输出方波的时钟频率为1.19MHz/65536=18.21Hz。它直接接到中断控制器8259A的中断请求端IR0(即图中IRQ0),即0级中断,每秒出现18.2次(每55ms产生一次中断)。返回计数器0计数器0为系统电子钟提供时间基准,即向系统日历时钟59
计数器1
计数器1用作定时器,为动态RAM刷新提供定时信号,即向DMA控制器定时发动态存储器刷新请求。它选用方式2工作,相当于一个分频器。编程时,设置的控制字为54H,计数器初始值为18。GATE1接+5V,允许计数。因此,OUT1输出的分频脉冲频率为1.19MHz/18=66.1KHz,相当于周期为15.1μs。这样,计数器1每隔15.1μs经由U21产生一个动态RAM刷新的请求信号DRQ0。由DRQ0请求一次DMA,由DMA控制器8237A执行DMA操作,以完成对动态RAM的刷新。返回计数器1计数器1用作定时器,为动态RAM刷新提供定时信号60
计数器2计数器2是系统的扬声器的声源,其输出信号送往扬声器,并根据OUT2端输出信号的频率来控制扬声器的音调。而扬声器发声的长短取决于OUT2信号延续时间的多少,也即门控信号GATE2延续时间的长短。在初始化编程时,计数器2用方式3工作,应设置的控制字为B6H,计数器的初值置533H(即1331),OUT2输出方波频率为1.19MHz/1331=894Hz。该计数器的工作由主机板上8255A的PB0端控制。当PB0输出的TIME2GATESPK信号使8253-5的GATE2为高电平时,计数器2方能工作。返回计数器2计数器2是系统的扬声器的声源,其输出信号送往扬声器61计数器的预置程序8253-5的3个计数器的预置程序如下:PR0:MOVAL,36H ;选择计数器0,写双字节计数值,方式3,二进制计数 OUT43H,AL ;写控制字 MOVAL,0 ;预置计数值65536 OUT40H,AL ;先送低字节计数值 OUT40H,AL ;后送高字节计数值PR1:MOVAL,54H ;选择计数器1,读/写低字节计数值,方式2,二进制计数 OUT43H,AL MOVAL,12H ;预置计数器初值18 OUT41H,AL返回计数器的预置程序8253-5的3个计数器的预置程序如下:返62计数器的预置程序(续)PR2:MOVAL,0B6H ;选择计数器2,读/写双字节计数值,方式3,二进制计数 OUT43H,AL MOVAX,533H ;送分频数1331 OUT42H,AL ;先送低字节 MOVAL,AH OUT42H,AL ;后送高字节计数器的预置程序(续)PR2:MOVAL,0B6H 63ThankYou世界触手可及携手共进,齐创精品工程ThankYou世界触手可及携手共进,齐创精品工程64可编程定时器计数器接口芯片可编程定时器计数器接口芯片可编程定时器计数器接口芯片教学重点可编程定时/计数器8253/8254工作方式和编程教学难点:6种工作方式和时序8253安排一次实验可编程定时器计数器接口芯片可编程定时器计数器接口芯片可编程定65教学重点
可编程定时/计数器8253/8254工作方式和编程教学难点:6种工作方式和时序8253安排一次实验教学重点6612可编程计数器/定时器8253-5
8253-5是Intel公司生产的三通道16位的可编程计数器/定时器。与其外形引脚及功能兼容的同类计数器/定时器有8254-2。两者的差异主要是工作的最高频率,8253-5为5MHz,8254-2为10MHz。12.18253-5的引脚与功能结构12.28253-5的内部结构和寻址方式12.38253-5的6种工作方式及时序关系12.48253应用举例返回12可编程计数器/定时器8253-58253-5678253/8254定时计数器的主要功能:3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数8254是8253的改进型主频10MHZ增加了状态寄存器注意:以8253为例讲解8253/8254定时计数器的主要功能:3个独立的16位计数6812.18253-5的引脚与功能结构
8253-5是一种24脚封装的双列直插式芯片。8253-5的功能体现在两个方面,即计数与定时。两者的工作原理在实质上是一样的,都是利用计数器作减1计数,减至0发信号。数据线 D0~D7
引脚名称和分类控制线A0、A1RD WR CS电源VccGND计数器输入输出信号CLK0~2GATE0~2 OUT0~2
返回12.18253-5的引脚与功能结构8253-5是一种698253-5引脚和功能示意图8253-5引脚和功能示意图708253-5各引脚的定义
D0~D7:数据线。A0、A1:地址线,用于选择3个计数器中的一个及选择控制字寄存器。RD:读控制信号,低电平有效。WR:写控制信号,低电平有效。CS:片选信号,低电平有效。返回8253-5各引脚的定义D0~D7:数据线。返回718253-5各引脚的定义(续)CLK0~2:计数器0#、1#、2#的时钟输入端。GATE0~2:计数器0#、1#、2#的门控制脉冲输入端,由外部设备送入门控脉冲。OUT0~2:计数器0#、1#、2#的输出端,由它接至外部设备以控制其启停。8253-5各引脚的定义(续)CLK0~2:计数器0#、17212.28253-5的内部结构和寻址方式1.内部结构2.寻址方式返回12.28253-5的内部结构和寻址方式1.内部结构返回731、内部结构1、内部结构74单个计数器结构示意图预置寄存器GATECLKOUT减1计数器输出锁存器计数初值存于预置寄存器;在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值单个计数器结构示意图预置寄存器GATECLKOUT减1计数器758253内部结构8253-5的内部结构如图8.3所示。它有3个独立结构完全相同的16位计数器和1个8位控制字寄存器以及数据缓冲器、读写控制逻辑共六部分组成。在每个计数器内部,又可分为计数初值寄存器CR、计数执行部件CE和输出锁存器OL3个部件,它们都是16位寄存器,也可以作8位寄存器来用。在计数器工作时,通过程序给初值寄存器CR送入初始值,该初始值再被送入执行部件CE进行减1计数;而输出锁存器OL则用来锁存CE的内容,该内容可以由CPU进行读出操作。
返回单个计数器也称为通道。计数器0=通道0;计数器1=通道1;计数器2=通道28253内部结构8253-5的内部结构如图8.3所示。它有3768253内部结构示意图8253内部结构示意图772、寻址方式8253-5内部有3个计数器和1个控制字寄存器,可通过地址线A0、A1,读写控制线RD、WR与选片CS进行寻址,并实现相应的操作。返回2、寻址方式8253-5内部有3个计数器和1个控制字寄存器,7812.38253-5的6种工作方式及时序关系
8253-5的方式控制字格式如图8.4所示,各计数器有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。格式字说明(见图8.4)D0-定义进制D1、D2、D3-定义六种工作方式D4、D5—定义操作方式D6、D7—定义计数器方式控制字只能写入,不能读出。编程时首先要设定方式控制字(通过输出指令)。12.38253-5的6种工作方式及时序关系8253-79方式控制字格式方式控制字格式80方式控制字格式计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1010方式2011方式3100方式4101方式50二进制1十进制控制字写入控制字I/O地址(A1A0=11)问题:内部结构中控制字寄存器只有一个,如何区分写入控制字是哪个计数器的控制字)方式控制字格式计数器读写格式工作方式数制D7D6D5D4D81
在8253的初始化编程中,由CPU向8253的控制字寄存器写入一个控制字,它规定了8253的工作方式。(1)计数器选择(D7D6)控制字的最高两位决定这个控制字是哪一个通道的控制字。由于三个通道的工作是完全独立的,所以需要有三个控制字寄存器分别规定相应通道的工作方式。但它们的地址是同一个,即A1A0=11——控制字寄存器的地址。控制字格式说明:在8253的初始化编程中,由CPU向8253的控制字寄82
所以,需要由这两位来决定是哪一个通道的控制字。因此,对三个通道的编程需要向同一个地址(控制字寄存器地址)写入三个控制字,它们的D7D6位分别指定不同的通道。在控制字中的通道选择与通道计数器的地址是两回事,不能混淆。计数通道的地址是用作CPU向计数器写初值,或者从计数器读取当前的计数值。所以,需要由这两位来决定是哪一个通道的控制字。83(2)数据读/写格式(D5D4)CPU向计数通道写入初值和读取它们的当前状态时,有几种不同的格式。例如,写数据时,是写入8位数据还是16位数据,若是8位计数,可以令D5D4=01只写低8位,则高8位自动置0;若是16位计数,而低8位为0,则可令D5D4=10,只写入高8位,而低8位就自动为0;在令D5D4=11时,16位计数就先写入低8位,后输入高8位。
在读取计数值时,可令D5D4=00,则把写控制字时的计数值锁存,以后再读取。(2)数据读/写格式(D5D4)84(3)工作方式(D3D2D1)
8253的每个通道可以有6种不同的工作方式,由这三位决定。每一种方式的特点,随后介绍。(4)数制选择(D0)
8253的每个通道有两种计数制:二进制和二—十进制,由这位决定。在二进制计数时,写入的初值的范围为0000H~FFFFH,其中0000H是最大值,代表65536;在二—十进制时,写入的初值的范围为0000~9999,其中0000是最大值,代表10000。(3)工作方式(D3D2D1)858253-5的6种工作方式及时序关系(续)1.方式0计数结束产生中断—掌握内容2.方式1可编程单稳触发器3.方式2分频器4.方式3方波频率发生器---掌握内容5.方式4软件触发选通脉冲6.方式5硬件触发选通脉冲
6种方式下的工作状态是不同的,输出的波形也不同,是有门控GATE作用所引起的。要注意每种工作方式的初始化设置。返回8253-5的6种工作方式及时序关系(续)1.方式0计数结868253的6种工作方式及时序关系(难点)
通过写入方式控制字可以规定各计数器的工作方式,以完成定时、计数或脉冲发生器等多种功能。方式控制字只能写入,不能读出。编程时首先要设定方式控制字(通过输出指令)。每种工作方式学习时要注意门控信号的作用以及计数器初值装入的方式。
初值(一次有效、多次有效、自动装入、计数过程中改变计数值)GATE(电平/上升沿,计数中改变门控信号),OUT(起始电平、单脉冲、连续波形)要注意每种工作方式的工作原理、特点以及时序图8253的6种工作方式及时序关系(难点)通过写入方式控制字871.方式0(计数结束产生中断)①②⑤④⑥GATEOUTCLK
031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束③1.方式0(计数结束产生中断)①②⑤④⑥GATEOUTC888253的每个计数通道都有6种不同的工作方式可供选择。这6种工作方式的区别在于:它们启动计数器进行计数的触发方式不同;计数过程中,门控信号GATE对计数操作的影响不同;计数结束后,OUT输出线上的输出波形不同。下面我们将分别讨论这6种工作方式的工作过程和特点。
8253的每个计数通道都有6种不同的工作方式可供选择。这6种89方式0计数结束产生中断
8253-5在方式0(如图8.5所示)工作时的特点:(1)在WR为低电平有效时向计数器写入控制字CW,当写入CW后,OUT端将输出低电平作为起始电平;在WR的上升沿将计数初值写入初值寄存器CR,当计数初值装入计数器后,输出端仍将保持低电平,直到计数初值减至0为止。在计数过程中,若GATE端的门控信号为高电平,则当CLK端每来一个计数脉冲,计数器就进行减1计数,方式0计数结束产生中断 8253-5在方式0(如图8.5所90方式0时序图方式0时序图91方式0计数结束产生中断(续)在计数值减为0时,OUT端输出变为高 电平;若要使用中断,则可以用此正跳变电平向CPU发中断请求。(2)GATE为计数控制门。方式0的计数过程可由门控信号GATE控制暂停,即当GATE=1时,允许计数;GATE=0时,停止计数。GATE信号的变化并不影响输出OUT端的状态。返回方式0计数结束产生中断(续)在计数值减为0时,OUT端输92方式0计数结束产生中断(续1)(3)计数过程中可重新装入计数初值。如果在计数过程中,重新写入某一计数初值,则在写完新的计数值后,计数器将从该值重新开始进行减1计数。注意,若写入的计数值为2个字节,则在写入第1个字节(低字节)时,计数器将中止原来的计数过程;而在写入第2个字节(高字节)时,计数器将按新的初值重新计数。方式0计数结束产生中断(续1)(3)计数过程中可重新装入计93方式0计数结束产生中断(续2)
8253-5利用方式0既可计数,也可定时。 当作计数器使用时,应将待计数的事件以脉冲信号方式从CLK端输入,将计数初值预置到计数器中,以完成减1计数功能,直到计数值减至0由OUT端发正跳变结束信号,表示计数已到。 当作定时器使用时,应根据要求定时的时间和CLK的周期计算出定时系数,将它预置到计数器中,可在计数完成时计算出定时时间。方式0计数结束产生中断(续2)8253-5利用方942.方式1(可编程单稳脉冲)①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK
031244方式1WR2.方式1(可编程单稳脉冲)①②⑤④⑥①②③③④⑤⑥GAT95方式1可编程单稳触发器
8253-5按方式1(如图8.6所示)工作时,有以下特点:(1)当写入控制字后,OUT端将输出高电平作为起始电平。当计数初值送到计数器后,若无GATE的上升沿,不管此时GATE输入的触发电平是高电平还是低电平,都不会开始减1计数,而必须等到GATE端输入一个正跳变触发脉冲时,计数过程才会开始。方式1可编程单稳触发器 8253-5按方式1(如图8.96方式1时序图方式1时序图97方式1可编程单稳触发器(续)
(2)计数器工作时,由GATE输入触发脉冲的上升沿使OUT变为低电平,每来一个计数脉冲,计数器作减1计数,当计数值减为0时,OUT再变为高电平。OUT端输出的单稳负脉冲的宽度为计数器的初值乘以CLK端输入脉冲周期。返回方式1可编程单稳触发器(续)(2)计数器工作时,由G98方式1可编程单稳触发器(续)(3)如果在计数器未减到0时,门控端GATE又来一个触发脉冲,则在GATE为低电平期间,并不影响计数过程,仍继续作减1计数;但在GATE的上升沿,则由下一个时钟脉冲开始,计数器将从初始值重新作减1计数。当减至0时,输出端又变为高电平。这样,会使输出脉冲宽度延长。在方式1时,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉冲。方式1可编程单稳触发器(续)(3)如果在计数器未减到0993、方式2分频器
方式2是n分频计数器,n是写入计数器的初值。在此方式下,计数器既可以用软件启动,也可以用硬件启动。一旦计数启动,计数器就可以自动重复工作。当写入控制字后,OUT端输出变为高电平作为起始电平。当计数初值写入计数器后,从下一个时钟脉冲起,计数器开始作减1计数。当减到1时,OUT端输出将变为低电平。再经过一个时钟周期,计数值减到0后,OUT又恢复为高电平,于是形成一个不对称形脉冲。返回3、方式2分频器方式2是n分频计数器,n是写入计数器的初100方式2时序图方式2时序图1014、方式3方波频率发生器
方式3类似于方式2,也有两种启动方式,并具有自动装入计数初值的功能,但输出的波形为方波或者为近似对称的矩形波。当写入控制字后,OUT端开始输出低电平作为起始电平,当装入计数值n后,OUT端输出立即跳变为高电平。如果当前GATE为高电平,则立即开始作减1计数。4、方式3方波频率发生器方式3类似于方式2,也有两种启动102方式3(方波频率发生器)03124GATEOUTCLK
4方式3031240312403124WR方式3(方波频率发生器)03124GATEOUTC103方式3方波频率发生器(续)当计数值n为偶数时,每当计数值减到n/2时,则OUT端由高电平变为低电平,并一直保持计数到0,一旦计数为0时OUT端又由低变高并重新给计数器装入初值;当n为奇数时,输出分频波高电平宽度为(n+1)/2计数脉冲周期,低电平宽度为(n-1)/2计数脉冲周期。如果在计数过程中,GATE变为低电平,则暂停减1计数。返回方式3方波频率发生器(续)当计数值n为偶数时,每当计数值减104方式3方波频率发生器(续)如果要求改变输出分频波的频率,则CPU可在任何时刻重新装入新的计数初值n,并从下一个计数操作周期开始改变输出分频波的速率。方式3方波频率发生器(续)如果要求改变输出分频波的频率,则1055、方式4软件触发选通脉冲
软件触发选通脉冲方式按方式4工作时,写入控制字后,输出OUT变为高电平。当由软件触发写入初始值后再过一个时钟周期,计数器开始作减1计数,当计数器减到0时,在OUT端输出一个宽度等于一个计数脉冲周期的负脉冲。利用这一负脉冲可以作为选通脉冲。若GATE=1,则允许计数;GATE=0,则停止计数,并使输出仍保持当前的高电平。注意,只有在计数器计数到0时,输出才会产生供选通用的负脉冲。
返回5、方式4软件触发选通脉冲软件触发选通脉冲方式返回106方式4时序图方式4时序图107软件触发选通脉冲方式如果在计数时又写入新的计数值,则在下一个时钟周期时将把此计数值写入计数器执行部件,使计数器按此新的计数值重新作减1计数。这种通过写入新值使计数器从头计数的方法叫做软件再触发。8253-5的方式4是利用写入计数初值这个软件操作来触发计数器工作的,称为软件触发选通脉冲方式。返回软件触发选通脉冲方式如果在计数时又写入新的计数值,则在下一个1086、方式5硬件触发选通脉冲
此方式类似于方式4,所不同的是触发计数器开始计数的方式不同,它是利用GATE端输入信号来触发的。按方式5工作时,由GATE输入一个正跳变的触发脉冲,从其上升沿开始,计数器作减1计数,直到计数减1为0结束时,在OUT端输出一个宽度等于一个计数脉冲周期的负脉冲。在此方式中, 计数器可重新触发。在任何时刻,当GATE触发脉冲上升沿到来时,将把计数初值重新送入计数器,然后开始计数过程。返回6、方式5硬件触发选通脉冲此方式类似于方式4,所不同的是触109方式5时续图方式5时续图1108253工作方式总结1、方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲,但方式2连续工作,方式4是由软件触发启动的,方式5由硬件触发启动的。2、方式5与方式1工作过程相同,但输出波形不同,方式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲,而方式5输出的是宽度为一个CLK脉冲的负脉冲。3、输出端OUT的初始状态,方式0在写入方式字后输出为低,其余方式写入控制字后,输出均变为高8253工作方式总结1、方式2、4、5的输出波形是相同的,都1118253工作方式总结(续1)4、任一种方式,均是在写入计数初值之后,才能开始计数,方式0、2、3、4都是在写入计数初值之后,开始计数的,而方式1和方式5需要外部触发启动,才开始计数。5、6种工作方式中,只有方式2和方式3是连续计数,其他方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式1、5由硬件启动。8253工作方式总结(续1)4、任一种方式,均是在写入计数初1128253工作方式总结(续2)6、门控信号的作用通过门控信号GATE,可以干预8253某一通道的计数过程,在不同工作方式下,门控信号起作用的方式也不一样,其中0、2、3、4是电平起作用,1、2、3、5是上升沿起作用,方式2、3对电平上升沿都可以起作用。7、在计数过程中改变计数值,它们的作用有所不同。8、计数到0后计数器的状态,方式0、1、4、5继续倒计数,变为FF、EE。。。而方式2、3则自动装入计数初值继续计数。8253工作方式总结(续2)6、门控信号的作用1138253的读写操作及编程8253加电后的工作方式不确定8253必须初始化编程,才能正常工作(1)写操作:写控制字写计数器初值计数值写入计数器各自的I/O地址8253的读写操作及编程8253加电后的工作方式不确定计数值114初始化编程的步骤为:(1)写入通道控制字,规定通道的工作方式。(2)写入计数值。①若规定只写低8位,则写入的为计数值的低8位,高8位自动置0;②若规定只写高8位,则写入的为计数值的高8位,低8位自动置0;③若是16位计数值,则分两次写入,先写入低8位,再写入高8位。12.48253初始化及应用编程初始化编程的步骤为:12.48253初始化及应用编程115
例如:若要用通道0,工作在方式1,按二—十进制计数,计数值为5080H。则初始化编程的步骤为:
(1)确定通道控制字:
(2)计数值的低8位为80H。
(3)计数值的高8位为50H。
例如:若要用通道0,工作在方式1,按二—十进制计数,计数116
若端口地址位为F8H~FBH,则初始化程序为:
MOV AL,33H OUT 0FBH,AL MOV AL,80H OUT 0F8H,AL MOV AL,50H OUT 0F8H,AL 若端口地址位为F8H~FBH,则初始化程序为:117例7利用8253的计数器通道2产生频率为1000Hz的方波。设计数时钟脉冲的频率f=10000Hz。其初始化程序如下:
MOV AL,
10110110B
;方式3,通道2,二进制,先低后高
OUT COTR,AL
;写入控制寄存器
MOV AX,4A7H
;产生1000Hz所需的计数初值=f/1000
OUT CTN2,AL
;先写计数初值低字节
MOV AL,AH
OUT CTN2,AL
;再写计数初值高字节
例7利用8253的计数器通道2产生频率为1000Hz的1188253控制字初化设置举例例、设8253的端口地址为04H-07H,要使计数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美国医药采购制度
- 采购部经理起草采购制度
- 警用装备采购制度
- 采购样品间管理制度
- 期货采购风险管理制度
- 街道食堂采购管理制度
- 采购目标绩效管理制度
- 维修维护配件采购制度
- 员工餐餐厅采购管理制度
- 采购部门业绩考核制度
- 蒸汽工程安装方案(3篇)
- 颅内动脉急诊取栓技术
- 2025年四川大学教育培训部业务岗工作人员招聘考前自测高频考点模拟试题附答案详解
- 江苏省2025年接受高级访问学者的高等学校
- 村民自治课件
- 2024注册核安全工程师考试历年机考真题集附完整答案详解
- gmp规范培训课件
- 腰椎术后伤口感染管理要点
- 狱内案件立案表宁夏警官职业应用法律系87课件
- -世界水日主题班会课件
- 2025新人教版七年级下册英语 Unit 6知识点梳理及语法讲义(答案版)
评论
0/150
提交评论