《微机原理及应用最新课件》由会员分享,可在线阅读,更多相关《微机原理及应用最新课件(50页珍藏版)》请在金锄头文库上搜索。
1、7. 可编程定时器/计数器82537.1可编程定时器/计数器的基本工作原理微机原理及应用 最新GATE是控制输入端 它有多种控制作用,如允许禁止计数、启动停止计数等。控制寄存器是用来控制计数器定时器的工作方式,就是控制CLK脉冲和CATE门控信号适当配合来产生OUT端的输出信号的形状。归纳为以下几种工作方式(1)门脉冲控制时钟输入。此时,当门脉冲GATE到来时,时钟CLK有效,进行计数操作;当门脉冲结束时,时钟无效,计数停止。(2)用门脉冲重新启动计数器。(3)用门脉冲停止计数器工作。(4)单次计数。此时仅要求GATE为高电平即可。(5)循环计数。此时,每当计数执行单元为零时,输出端OUT输出
2、一个信号,同时又重新装入计数初值寄存器内容到计数执行单元,重复原来的计数过程,从而在OUT端上可输出周期性的脉冲信号。微机原理及应用 最新7.2 可编程定时器/计数器8253-57.2.1 8253的结构和功能8253-PIT的主要功能有:(1)有3个独立的16位计数器。(2)每个计数器都可以按照二进制或BCD码进行计数。( 3) 每 个 计 数 器 的 计 数 速 率 可 高 达2MHz(8254-2计数频率可达到10MHz)。(4)每个计数器有6种工作方式,可由程序设置和改变。(5)所有的输入输出引脚电平都与TTL电平兼容。微机原理及应用 最新8253的结构和引脚微机原理及应用 最新 三个
3、计数器中每一个都有三条信号线; 计数输入CLK用于输入定时基准脉冲或计数脉冲; 输出信号OUT以相应的电平指示计数的完成,或输出脉冲波形; 选通输入(门控输入)GATE用于启动或禁止计数器的操作,以使计数器 和计测对象同步。 每个计数器中有四个寄存器;控制寄存器初始化时,将控制字寄存器 中的内容写入该寄存器;计数初值寄存器初始化时写入该计数器的初始 值;减法计数寄存器计数初值由计数初值寄存器送人减法计数寄存器,当 计数输入端输入一个计数脉冲时,减法计数寄存器内容减1,当减到零时,输出 端输出相应信号表示计数结束。计数输出锁存器微机原理及应用 最新8253 的控制字在8253的初始化编程中,由C
4、PU向8253的控制字寄存器写入一个控制字,它规定了8253的工作方式。微机原理及应用 最新表 8253-5端口功能选择表CS A1 A0 RD WR 功能0 0 0 0 1 读通道00 0 1 0 1 读通道10 1 0 0 1 读通道20 1 1 0 1 写控制字微机原理及应用 最新7.2.2 8253 的工作方式一、方式0计数结束中断方式在 这 种 方 式 下 , 当 控 制 字 CW( Control Word)写入控制字寄存器,则使OUT输出端变低,此时计数器没有赋予初值,也没开始计数。要开始计数,GATE信号必须为高电平,并在写入计数初值后,通道开始计数,在计数过程中 OUT线一直
5、维持为低,直到计数到“0”时。OUT输出变高。微机原理及应用 最新 (MODE 0) CLOCKWRn#OUTPUT(中断)中断)43210n=4WRm#OUTPUT(中断)中断)GATE m=454321082538253工作方式工作方式 (6 6种)种)方式方式0 0:计数结束时发中断:计数结束时发中断微机原理及应用 最新 方式方式1可编程序的单拍脉冲可编程序的单拍脉冲在这种方式下,当CPU写控制字之后(的上升沿),输出将保持为高(若原为低,则由低变高)。当CPU写完计数值后,计数器并不开始计数,直到外部门控脉冲GATE启动之后的下一个输入CLK脉冲的下降沿开始计数,输出OUT变低。因整个
6、计数过程中,OUT都维持为低,直到计数到0,输出变为高,因此,输出为一个单单拍拍脉脉冲冲。若外外部部再再次次触触发发启动,则可以再产生一个单拍脉冲。微机原理及应用 最新WRn#GATE(TRIGGER)43210OUTPUT34210 (MODE 1) CLOCKGATE(TRIGGER)OUTPUT23482538253工作方式工作方式 (6 6种)种)方式方式1 1:可编程单稳电路:可编程单稳电路微机原理及应用 最新 方式方式2速率发生器速率发生器在这种方式下,当CPU输出控制字后,输出将为高。在写入计数值后,计数器将立即自动对输入时钟CLK计数。在计数过程中输出始终保持为高,直至计数器减
7、到1时,输出将变低,经过一个CLK周期,输出恢复为高,且计数器开始重新重新计数。微机原理及应用 最新WRn#4321 0(3)OUTPUTGATE(RESET)OUTPUT(MODE 2) CLOCKn=4n=3 0(4)3212100(3)3210(3)210(3)21方式方式2 2:可变频率脉冲发生器:可变频率脉冲发生器0微机原理及应用 最新 方式方式3方波速率发生器方波速率发生器方式3的输出都是周期性的,方式3在计数过程中输出有一半时间为高,另一半时间为低。422 1 0(4)OUTPUT n=4GATE(RESET)OUTPUT n=4n=4n=3 0(4)2103210(4)21 3
8、31(MODE 3) CLOCKOUTPUT n=53210(5)43210(5)430(5)430微机原理及应用 最新 方式4软件触发选通(启动计数原理类似于方式0)在这种方式下,当写入控制字后,输出为高(原为高则保持为高,原为低则变为高)。当写入计数值后立即开始计数(相当于软件启动),当计数到0后,输出变低,经过一个输入时钟周期,输出又变高,计数器停止计数。这种方式计数也是一次性的,只有在输入新的计数值后,才能开始新的计数。区别:方式0输出高电平 方式方式4输出一个输出一个CLK宽度的负脉冲宽度的负脉冲微机原理及应用 最新(MODE 4) CLOCKWRn#WRn#n=4n=4OUTPUT
9、OUTPUTn=4n=40 01 12 23 34 44 44 43 32 21 10 0LOADnLOADn GATEGATEOUTPUTOUTPUT82538253工作方式工作方式 (6 6种)种)方式方式4 4:软件触发选通:软件触发选通微机原理及应用 最新 方式方式5硬件触发选通硬件触发选通启动计数原理类似于方式1在这种方式下,设置了控制字后,输出为高。在设置了计数值后,计数器并不立即开始计数,而是由门控脉冲的上升沿触发启动。当计数到0时,输出变低,经过一个CLK脉冲,输出恢复为高,停止计数。要等到下次门控脉冲的触发才能再计数。微机原理及应用 最新(MODE 5) CLOCKOUTPU
10、T(n=4)OUTPUT(n=4)0 01 12 23 34 44 43 32 21 10 0GATEGATE GATEGATEOUTPUTOUTPUT4 43 382538253工作方式工作方式 (6 6种)种)方式方式5 5:硬件触发选通:硬件触发选通微机原理及应用 最新7.2.3 8253的初始化的初始化例:要求计数器例:要求计数器0工作于方式工作于方式3,输出方波的重复,输出方波的重复频率为频率为2KHz,计数脉冲输入为,计数脉冲输入为2.5MHz,采用,采用BCD码计数,试写出初始化程序段。码计数,试写出初始化程序段。计算计数初值:计算计数初值:TC= 2.5MHz/ 2KHz=12
11、50方式字为:方式字为:0011 0111B=37H(计数器(计数器0,写,写16位,方式位,方式3,BCD计数)计数)设端口地址为:设端口地址为:80H、81H、82H、83H。则初始化程序为:则初始化程序为:微机原理及应用 最新MOV AL,37H;写入方式控制字;写入方式控制字OUT 83H,ALMOV AL,50H;写入计数初始值低;写入计数初始值低8位位OUT 80,ALMOV AL,12H ;写入计数初始值高;写入计数初始值高8位位OUT 80H,AL微机原理及应用 最新(3)读计数值)读计数值以普通对计数器端口读的方法取得当前计数值以普通对计数器端口读的方法取得当前计数值锁存计数
12、器的当前值(锁存计数器的当前值(RL1RL0=00)微机原理及应用 最新7.2.4 8253-57.2.4 8253-5的应用举例的应用举例一、用一、用8253-58253-5监视一个生产流水线监视一个生产流水线1.1.硬件设计硬件设计OUT0 CLK0GATE0 8253CLK1GATE1 OUT11驱驱动动器器INT+5V2.5MHz8255PA08253的应用的应用计数和定时计数和定时微机原理及应用 最新设计要求及设计方案确定设计要求及设计方案确定使用使用8253-5监视一个生产流水线,监视一个生产流水线,每每通过通过50个个工件,扬声器响工件,扬声器响5秒钟,秒钟,频率频率2000Hz
13、。工作原理:工作原理:1) 用用8253-5的通道的通道0设定为计数方式计数,计数满设定为计数方式计数,计数满50后,后,由由OUT0输出一个负脉冲,经反向后作为输出一个负脉冲,经反向后作为8259A的中断的中断请求信号,在中断服务程序中,启动请求信号,在中断服务程序中,启动8253-5通道通道1工作,工作,有通道有通道1连续输出频率为连续输出频率为2000Hz的方波信号,持续的方波信号,持续5秒秒后结束。后结束。2) 通道通道0工作于工作于方式方式2,通道通道1工作于工作于方式方式3,通道,通道1的门的门控信号控信号GATE1由由8255A的的PA0控制。控制。微机原理及应用 最新2.控制字
14、设置控制字设置通道通道0计数器工作于方式计数器工作于方式2,采用,采用BCD计数,因计数,因计数初值为计数初值为50,采用,采用RL1RL0=01(读(读/写计数写计数器的低器的低8位),则工作方式字为位),则工作方式字为00010101=15H。通道通道1计数器工作于方式计数器工作于方式3,CLK1接接2.5MHz时时钟,要求产生钟,要求产生2000Hz的方波,则计数初值应的方波,则计数初值应为为2.5106/2000=1250,采用,采用RL1RL0=11 (先(先读计数器的低读计数器的低8位,再读计数器的高位,再读计数器的高8位)。则位)。则工作方式字为工作方式字为01110111=77
15、H。设通道设通道0的地址为的地址为40H,通道,通道1的地址为的地址为41H,控制口地址为控制口地址为43H,8255A的口地址为的口地址为80-83H。微机原理及应用 最新主程序主程序:MOV AL,15H;通道;通道0初始化,方式初始化,方式2OUT 43H,ALMOV AL,50H;置计数初值;置计数初值OUT 40H,ALSTI ;开中断;开中断LPO:HLT ;等待中断;等待中断JMP LOP微机原理及应用 最新中断服务程序为:中断服务程序为:MOV AL,01H;通道;通道1的的GATE1置置1,启动计数,启动计数OUT 80H,AL ; 认为认为8255已经初始化,向已经初始化,
16、向8255 端口送数,使端口送数,使PA0为为“1”MOV AL,77H;通道;通道1初始化,方式初始化,方式3OUT 43H,ALMOV AL,50H;置计数初值低;置计数初值低8位位OUT 41H,ALMOV AL,12H ;置计数初值高;置计数初值高8位位OUT 41H,ALCALL DL5S ;延时;延时5秒,秒,DL5S为为5秒延时程序秒延时程序MOV AL,00H;通道;通道1的的GATE1置置0,停止计数,停止计数OUT 80H,AL ;复位;复位8255端口,使端口,使PA0为为“0”IRET注:本例中,通道注:本例中,通道0工作于计数状态,通道工作于计数状态,通道1工作于计时
17、状态工作于计时状态。微机原理及应用 最新二、二、8253在在IBM-PC/XT机中的应用机中的应用AB5AB6AB7AB8AB9ANED7-D0RDWRA0A1CS 8253AB Y2CG2AG2BG1DB7-DB0IORIOWAB0AB1OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2QD QQD Q&754778255A PB18255A PB0SPK扬声器扬声器8255A PC5DREQ0IRQ0PCLK1.193186MHz+5V+5V+5V图图8-29 8253在在IBM-PX机中的应用逻辑图机中的应用逻辑图微机原理及应用 最新1.工作原理分析工作原理分
18、析 系统分配给系统分配给8253的端口地址为的端口地址为040H043H,三,三个计数器在个计数器在IBM-PC机中的功能如下:机中的功能如下:(1)计数器)计数器0用来产生实时时钟信号,用来产生实时时钟信号,工作于方式工作于方式3,计数初值为,计数初值为0,采用二进制计数,输出,采用二进制计数,输出OUT0作作为中断请求为中断请求IRQ0,连接到中断优先权控制器,连接到中断优先权控制器8259A的的IR0。此时。此时OUT0端输出端输出1193181.665536=18.2(Hz)的方波脉冲序列,方的方波脉冲序列,方波的脉冲周期约为波的脉冲周期约为55ms(1/ 18.2(Hz) ),也就是
19、),也就是说,计数器说,计数器0每隔每隔55ms产生一次中断请求。产生一次中断请求。在中在中断处理程序中使用一个断处理程序中使用一个16位的软件计数器位的软件计数器(初值(初值为为0)进行加)进行加1计数,因此当该计数器由计数,因此当该计数器由FFFFH变变为为0000H时,表示已产生时,表示已产生65536次中断请求,共经次中断请求,共经过过65536 18.2( 65536 55ms )=3600秒秒时间。时间。微机原理及应用 最新(2)计数器)计数器1用来产生动态存储器刷新操作的定用来产生动态存储器刷新操作的定时控制,它时控制,它工作于方式工作于方式2,计数初值为计数初值为18,OUT1
20、端输出一个负脉冲序列,其脉冲周期约端输出一个负脉冲序列,其脉冲周期约为为18 1.1931816MHz=15.08(s)。该输出将。该输出将作为动态刷新控制器作为动态刷新控制器8237A中通道中通道0的的DMA请请求信号求信号DREQ0,控制,控制DMA控制器完成每隔控制器完成每隔15.08(s)对系统中的动态存储芯片进行一次刷对系统中的动态存储芯片进行一次刷新操作新操作微机原理及应用 最新(3)计数器)计数器2用于为系统中的扬声器发声时提供用于为系统中的扬声器发声时提供一个一个约约900Hz的方波信号的方波信号。工作于方式工作于方式3,计计数初值为数初值为0533H,GATE2接入一个自系统
21、板上接入一个自系统板上8255A的的PB0,作为扬声器发声时间控制信号。,作为扬声器发声时间控制信号。显然,当显然,当GATE2为高电平时,为高电平时,OUT2端将输出端将输出频率为频率为1193181.6 1331D(0533H)=896Hz的方波(的方波( 1193181.6 900=1326D=052EH),),该输出方波经功率放大器该输出方波经功率放大器75477放大与滤波后放大与滤波后驱动扬声器;当驱动扬声器;当GATE2为地电平时,计数器为地电平时,计数器2停止工作,在停止工作,在OUT2端无方波输出信号。端无方波输出信号。微机原理及应用 最新2. 8253的初始化程序段的初始化程
22、序段(1)对)对计数器计数器0的初始化的初始化MOV AL,0011 0110B;写入计数器写入计数器0的控制字,的控制字,CW表示表示 选择计数器选择计数器0,双字节写,方式,双字节写,方式3和二进制计数和二进制计数OUT 43H,ALMOC AL,0 ;计数初值为;计数初值为65536,先写入低,先写入低8位字节位字节 到到CRL,再写入高,再写入高8位字节到位字节到CRHOUT 40H,ALOUT 40H,AL微机原理及应用 最新(2)对)对计数器计数器1的初始化程序的初始化程序MOV AL,0101 0100B;写入计数器写入计数器1的控制字,的控制字,CW表示选择表示选择 计数器计数
23、器1的控制寄存器,只写入低位字的控制寄存器,只写入低位字 节,方式节,方式2和二进制计数和二进制计数OUT 43,ALMOV AL,18D ;计数初值写入;计数初值写入CRLOUT 41H,AL微机原理及应用 最新(3)对)对计数器计数器2的初始化程序的初始化程序MOV AL,1011 0110B;写入计数器写入计数器2的控制字,的控制字,CW表示选择表示选择 计数器计数器2的控制寄的控制寄 存器,双字节写、方式存器,双字节写、方式2和二进制计数和二进制计数OUT 43,ALMOV AX,0533H(052EH);计数初值计数初值0533H依次写入依次写入CRL、CRHOUT 42H,ALMO
24、V AL,AHOUT 42H,ALIN AL,61H;PB口端口地址口端口地址061HMOV AH,ALOR AL,03H;完成对完成对8255A PB0=PB1=1的设置,扬声器发声的设置,扬声器发声OUT 61H,AL。MOV AL,AHOUT 61H,AL;恢复恢复8255PB口口微机原理及应用 最新三、三、8253在实时控制系统中的应用在实时控制系统中的应用AB2AB3AB4AB5AB6AB7AB8AB9D7-D0RDWRA0A1CS 8253DB7-DB0IORIOWAB0AB1OUT0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK2QD QIRQ2PCLK+5
25、V+5V111111图图8-30 用用8253组成的采样周期发生器组成的采样周期发生器微机原理及应用 最新1. 采样周期发生器的设计原理采样周期发生器的设计原理对于对于8253中的每个计数器来说,如果中的每个计数器来说,如果CLK脉冲信号为脉冲信号为1.1931816MHz,计数初值为,计数初值为65536时,时,OUT输出脉冲的最输出脉冲的最大周期也只有大周期也只有55ms左右。因此,要产生符合采样周期要求左右。因此,要产生符合采样周期要求的时间间隔,可采用两种方法,其一是仅用一个计数器来实的时间间隔,可采用两种方法,其一是仅用一个计数器来实现,但此时必须降低现,但此时必须降低CLK频率才行
26、,未了降低频率必须增频率才行,未了降低频率必须增加分频器之类的硬件电路,增加了硬件成本。加分频器之类的硬件电路,增加了硬件成本。另一种方法就是将另一种方法就是将8253的两个计数器串联起来,使其中的的两个计数器串联起来,使其中的一个计数器作为定时器,当分频器使用,将其一个计数器作为定时器,当分频器使用,将其OUT输出信输出信号作为另一个计数器的号作为另一个计数器的CLK脉冲信号;而另一个计数器只脉冲信号;而另一个计数器只起计数作用,其起计数作用,其OUT输出端作为中断请求信号。输出端作为中断请求信号。显然后一种方法具有非常灵活的控制手段,只要通过软件修显然后一种方法具有非常灵活的控制手段,只要
27、通过软件修改两个计数器中任何一个的计数初值,就可以改变采样周期改两个计数器中任何一个的计数初值,就可以改变采样周期的时间间隔,因此能产生大范围的时间变化的采样周期信号,的时间间隔,因此能产生大范围的时间变化的采样周期信号,所以在实际的计算机控制系统中应用广泛。所以在实际的计算机控制系统中应用广泛。微机原理及应用 最新设设8253的端口地址为的端口地址为:230H233H8259的的IR2作为采样周期的中断源的输入端作为采样周期的中断源的输入端中断类型码为中断类型码为:0AH中断服务程序的首地址存放在中断服务程序的首地址存放在0028H002BH中断服务程序的名为中断服务程序的名为:RTIME计
28、数器计数器0工作于方式工作于方式2,计数初值为计数初值为0,仅写低仅写低8位字节位字节,采采用二进制计数用二进制计数. 计数器计数器0控制字为控制字为:0001 0100=54H计数器计数器1工作于方式工作于方式3,计数初值采用来自采样周期变量计数初值采用来自采样周期变量TIME,按先写高按先写高8位位,再写低再写低8位次序将位次序将16位计数初值写位计数初值写入入CR,采用二进制计数采用二进制计数. 计数器计数器1控制字为控制字为:0111 0110=76H微机原理及应用 最新2. 8253的初始化及及中断处理程序首地址的程序段的初始化及及中断处理程序首地址的程序段MOV DX,233H ;
29、写入计数器;写入计数器0的控制字的控制字MOV AL,0001 0100B(54H)OUT DX,ALMOV DX ,230H ;计数初值写入;计数初值写入CRL,并启动计数器,并启动计数器0MOV AL ,00HOUT DX,ALMOV DX,233H ;写入计数器;写入计数器1的控制字的控制字MOV AL,0111 0110B(76H)OUT DX,ALMOV DX,231H ;计数初值写入;计数初值写入CRL,并启动计数器,并启动计数器1MOV AL,BYTE PTR TIME ;PRT重新指定变量类型重新指定变量类型微机原理及应用 最新OUT DX,ALMOV AL,BYTE PTR
30、TIME+1OUT DX,AL MOV DI,28H ;存中断处理程序首地址偏移量到中;存中断处理程序首地址偏移量到中 断向量表断向量表MOV AX,OFFSET RTIMECLD ;设方向标志为设方向标志为0(递增加递增加1)STOSW ;写中断服务程序首地址偏移量写中断服务程序首地址偏移量MOV AX,SEG RTIME ;存中断处理程序首地址的段地址到;存中断处理程序首地址的段地址到 中断向量表中断向量表STOSW ;写中断服务程序首地址偏移量写中断服务程序首地址偏移量STI微机原理及应用 最新四、三个计数通道组合应用四、三个计数通道组合应用D7-D0RDWRA0A1CS 8253OUT
31、0GATE0CLK0OUT1GATE1CLK1OUT2GATE2CLK21时时钟钟OUT+5V11图图8-31 8253的应用的应用三个计数通道组合应用三个计数通道组合应用微机原理及应用 最新通道通道0:方式方式2,计数初值为计数初值为1000通道通道1:方式方式1,计数初值为计数初值为500通道通道2:方式方式3,计数初值为计数初值为2000外接时钟外接时钟2.5MHz设设8253的端口地址为的端口地址为:80H83H微机原理及应用 最新(1)解题分析)解题分析从图中可看出,从图中可看出,通道通道0、2的时钟的时钟CLK0、CLK2是固定的是固定的,即,即时钟源输出时钟源输出CLK频率为频率
32、为2.5MHz,周期周期T=400ns,即即0.4 s.通道通道2的工作方式为方式的工作方式为方式3,计数初值为计数初值为2000,输出为对称方波输出为对称方波,周期周期T2=2000T=800 s通道通道2的输出的输出经过反向器后又作为通道经过反向器后又作为通道1的的CLK1,通道通道1的工的工作方式为方式作方式为方式1(上升沿触发上升沿触发),计数初值为计数初值为500,输出波形为输出波形为单单个负脉冲个负脉冲,宽度宽度T1=500T2=500 2000T=400000 s=400ms.通道通道1的输出经过反向器后又作为通道的输出经过反向器后又作为通道0的门控信号的门控信号GATE0,通道
33、通道0的工作方式为的工作方式为方式方式2,计数初值为计数初值为1000,输出波形为连续输出波形为连续负脉冲负脉冲,脉冲重复周期脉冲重复周期T0=10000.4 s =400 s.通道通道0的输的输出负脉冲的持续时间为出负脉冲的持续时间为GATE0保持为高电平的时间即保持为高电平的时间即T1=400ms.由此得最终输出由此得最终输出OUT为为OUT0的反向波形的反向波形,其重复周期其重复周期T= 400 s,波形持续时间波形持续时间T1=400ms.微机原理及应用 最新图图8-32 8253各通道波形图各通道波形图5002000T5002000T1000T1000T2000TOUTGATE1GA
34、TE2OUT0OUT1OUT2CLK1GATE0CLKCLK0CLK2微机原理及应用 最新(2)初始化程序)初始化程序MOV AL,0011 0101B;计数;计数通道通道0为为方式方式2,16位计数位计数,BCD计数计数OUT 83H,ALMOV AL,00H ;通道;通道0写入计数初值写入计数初值1000OUT 80H,ALMOV AL,10HOUT 80H,ALMOV AL,0111 0011B ;计数;计数通道通道1为为方式方式1 ,16位计数位计数,BCD计数计数OUT 83H,ALMOV AL,00H ;通道;通道1写入计数初值写入计数初值500OUT 81H,ALMOV AL,0
35、5HOUT 81H,AL微机原理及应用 最新MOV AL,1011 0111B ;计数;计数通道通道2为为方式方式3 ,16位计数位计数,BCD计数计数OUT 83H,ALMOV AL,00H ;通道;通道2写入计数初值写入计数初值2000OUT 82H,ALMOV AL,20HOUT 82H,AL(3)讨论:)讨论: 上述三通道都为上述三通道都为BCD计数,若改为二进制计数,应作那些变动计数,若改为二进制计数,应作那些变动?控制字的最低位改为控制字的最低位改为“0”将十进制数初值:将十进制数初值:1000、500、2000改为十六进制数改为十六进制数1000D=03E8H500D =01F4
36、H2000D=07D0H微机原理及应用 最新习题习题:8.24 8253A-5的计数通道的计数通道0连接如图习连接如图习8-4所示所示,试回试回答答:(1)计数通道)计数通道0工作于何种方式,并写出工作方工作于何种方式,并写出工作方式名称;式名称;(2)写出计数通道)写出计数通道0的计数初值(列出计算式)的计数初值(列出计算式)(3)写出初始化程序)写出初始化程序D7-D0RDWRA0A1CS 8253GATE0CLK0 OUT0+5V400ns1ms图习图习8-4微机原理及应用 最新解:解:(1)由于出现一个)由于出现一个CLK周期宽度的负脉冲的方式有方式周期宽度的负脉冲的方式有方式25两种
37、两种,但是但是GATE0是一直保持高电平是一直保持高电平,因此方式因此方式5是是无法触发的无法触发的,因此可以判断计数通道因此可以判断计数通道0工作于方式工作于方式2(2)因为)因为CLK周期宽度为周期宽度为400ns, CLK正脉冲宽度为正脉冲宽度为200ns,因此,因此 计数通道计数通道0的计数初值的计数初值= 1ms/ 400ns=2500(3)初始化程序段)初始化程序段(设设8253的口地址为的口地址为:80H-83H)MOV AL,0001 0101BMOV 83H,ALMOV AL,00HOUT 80H,ALMOV AL,25HOUT 80H,AL微机原理及应用 最新 习题:习题:
38、7.8(P258) 若若8253计数器对设备的转轴的旋转速度进行测试,接计数器对设备的转轴的旋转速度进行测试,接口电路如图习口电路如图习7-5所示。从图可知,若与转轴相连的转盘所示。从图可知,若与转轴相连的转盘上均匀地钻有上均匀地钻有50个圆孔,当旋转时,通过光电转换,每个圆孔,当旋转时,通过光电转换,每通过一个小孔,产生一个正脉冲,当转轴转一圈,就会通过一个小孔,产生一个正脉冲,当转轴转一圈,就会产生产生50个脉冲通过个脉冲通过CLK输入输入8253计数器进行减法计数,计数器进行减法计数,若假设此转轴的速度范围在若假设此转轴的速度范围在50-1000转转/秒,并设秒,并设8253的的端口地址
39、为端口地址为84H87H。(1)若采用定时测试已转换过的脉冲个数而转换为测试)若采用定时测试已转换过的脉冲个数而转换为测试转轴的速度,单位为转转轴的速度,单位为转/秒。说明它的计算过程。秒。说明它的计算过程。(2)若用计数器)若用计数器0对脉冲计数,用计数器对脉冲计数,用计数器1作为定时,设作为定时,设它的它的CLK1频率为频率为200KHz,用定时,用定时100ms来计数。写出来计数。写出计数器计数器0、1的工作方式控制字和计数初值,并注释,并的工作方式控制字和计数初值,并注释,并且写出且写出8253的初始化程序。的初始化程序。微机原理及应用 最新D7-D0RDWRA0A1CS 8253GA
40、TE0CLK0 OUT0+5V转换电路图习图习7.2微机原理及应用 最新解:解: 因为最高转速为因为最高转速为1000转转/秒,因此,转一圈的脉冲数最高为秒,因此,转一圈的脉冲数最高为100050=50000个个=C350H,因此计数器必须用,因此计数器必须用16位计数,位计数,并且用二进制计数。并且用二进制计数。(1)采用定时测试已转速,计算方法为:)采用定时测试已转速,计算方法为: 是定时时间为:是定时时间为:TIME=100ms=0.1s 则则 转速转速=(定时到的计数值定时到的计数值/50)/0.1s 转转/秒秒(2)初始化程序段)初始化程序段:计数器计数器0初始化程序段初始化程序段: 计数初值计数初值=0000HMOV AL,0011 0000B ;通道通道0,方式方式0,16位计数位计数,二进制计数二进制计数OUT 87H,ALMOV AL,00OUT 84H,ALOUT 84H,AL微机原理及应用 最新计数器计数器1初始化程序段:初始化程序段: 计数初值计数初值= 100ms / (1/200kHz)=100/0.5=200DMOV AL,0111 0101B;通道通道1,方式方式2,16计数计数,BCD计数计数OUT 87H,ALMOV AL,00HOUT 85H,ALMOV AL,02HOUT 85H,AL微机原理及应用 最新