微型计算机原理与接口技术:计数器 定时器 8253.ppt
每来3个时钟脉冲,输出1个负脉冲,即3分频(三)方式2:分频器(周期性负脉冲输出)3、在计数器工作期间,如果向计数器写入新的初值,则计数器仍按原计数值计数,直到计数值为1,OUT输出一个时钟周期的低电平后,才按新写入的计数值计数。4、门控信号GATE为高电平时允许计数。在计数期间,若门控信号GATE=0,则停止计数,待GATE=1后计数器按原装入的初值重新计数。(三)方式2:分频器(周期性负脉冲输出)(四)方式3:方波发生器(输出周期性方波)模式3也有软、硬2种启动方式,也能自动重复置数,其输出为方波。其特点如下:OUT输出是占空比为1﹕1或近似1﹕1的方波。此时是作减2计数,写入初值后,先OUT输出高电平,待减2为零从新计数后,再输出低电平。输出连续方波的周期为T=N*CLK。当计数初值为偶数时:输出OUT在前一半计数过程中为高电平,后一半为低电平,可获得完全对称的方波。若GATE=1,则由写入初值启动。若写入初值时GATE=0,则由GATE的上升沿启动。计数过程中应保持GATE=1,若GATE=0,则OUT立即变为高电平,终止计数,待GATE上升沿再次启动后,计数器从头开始计数。当计数初值为奇数时:前半周比后半周多一个时钟周期,但总数不变,仍为计数初值N。在计数过程中,若写入新的初值,不会影响当前的半个周期,仅在下半个周期启用新值。(四)方式3:方波发生器(输出周期性方波)(五)方式4:软件触发的选通信号发生器这是一种软件触发,不能自动重复置数的方式。特点如下:1、写入控制字后,输出OUT变为高电平,若GATE=1,写完计数初值后,在下一个时钟脉冲的下降沿到来时,将计数初值写入“减1计数器”,在下一个CLK的下降沿处开始减1计数。计数为0时输出变为低电平;维持1个时钟周期后又恢复高电平,输出一直保持高电平。2、GATE=1时,允许计数器工作;GATE=0时,停止计数器工作,恢复高电平后,计数器又从原设定初值开始减1计数。3、计数器工作期间,如果向计数器写入新的初值,则不影响当前的计数状态,仅在计数回零时,计数器才按写入的新值开始计数,一旦计数完毕,计数器就停止工作。(五)方式4:软件触发的选通信号发生器1、写入控制字后,输出OUT变为高电平,写入初值后,计数器并不立即开始工作,待门控信号GATE的上升沿到来后的下一个时钟周期才将计数初值送到计数器执行部件,计数为0时,输出一个时钟周期的低电平,之后又恢复高电平。(六)方式5:硬件触发的选通信号发生器这是一种硬件启动,不能自动重复置数的方式。特点如下:2、在计数过程中,或计数结束后,如果GATE上升沿再次出现,则计数器将从原设定的初值重新计数。3、在计数过程中若写入新的初值,只写到计数寄存器,不会影响当前计数,待GATE上升沿再次出现,才送入减1计数器,不论当前计数是否完毕都重新计数。(六)方式5:硬件触发的选通信号发生器MOV DX,307H ;控制口地址(A1A0=11)MOV ALB ;方式字OUT DX,ALMOV DX,305H ;T1数据口(A1A0=01)MOV AL,BYTEL ;BYTEL是计数初值低8位OUT DX,ALMOV AL,BYTEH ;BYTEH是计数初值高8位OUT DX,ALSC1SC0RL1RL0M2M1M0BCD练习1:编一程序段,使计数器T1工作在0方式,进行16位二进制计数。(设:=304~307H,CPU为8088)MOV DX,307H ;控制口地址(A1A0=11)MOV AL;方式字OUT DX,ALMOV DX,306H ;T2数据口(A1A0=10)MOV AL,BYTEL ;BYTEL是计数初值低8位OUT DX,AL注:程序把T2设定为仅读/写低8位计数初值,高8位自动补0。SC1SC0RL1RL0M2M1M0BCD练习2:编一程序段,使计数器T2工作在1方式,进行8位二进制计数。(设:=304H,CPU为8088)例题:用8253的计数器0每隔10ms产生一个定时信号,已知输入时钟频率为100KHz,由软件启动8253,片选信号地址为260~267H,请画出8253与PC总线的连接示意图,并编写初始化程序段。图略。fout=1/10ms=100Hz计数初值=100KHz/100Hz=1000MOV DX,263HMOV AL,34HOUT DX,ALMOV