1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,计时器,计时器的作用,产生周期性的时标,串行传输波特率发生器、方波发生器等,各种限时器、时间间隔,各种占空比的脉冲宽度调制输出,计时器的一般工作原理,标准时钟输入,预分频器,时间常数寄存器,计数器,计时器的启动(触发)方式,内触发,写时间常数,同时启动计时器,先写入时间常数,再用单独的指令启动触发器,外触发,通过硬件引脚上的电平高低或电平变换(沿)进行触发,GATE,高电平:正常计时,低电平:暂停计时,8253,的结构和功能,8253,采用,N,沟道,MOS,工艺制成,有三个独立的,16,位计数器
2、只需要一组,5V,电源。,内部结构,8253,的内部结构,数据总线缓冲器,它是,8,位双向三态缓冲器,可直接连接到数据总线上。初始化编程时,,CPU,写入,8253,的方式控制字和计数初值、,CPU,从计数器中读取的当前计数值都经这里传送。,读,/,写控制逻辑,产生相应的控制信号,来选择读,/,写操作的端口及控制数据的传送方向。,计数器,0,、,1,、,2,三个计数器的内部结构相同,但相互独立。计数器从时钟输入端接收时钟脉冲或事件计数脉冲。,控制字寄存器,控制字寄存器是,8,位的,只能写不能读。写入的内容包括计数器的工作方式或计数器的初值,8253,的引脚信号,8253,的功能,定时,计数,
3、8253,的方式控制字,(,1,),C1,、,C0,:,用于选择计数器,C1 C0,选择的计数器,0 0,计数器,0,0 1,计数器,1,1 0,计数器,2,(,2,),RL1,、,RL0,:,读,/,写控制位,RL1 RL0,操作,0 0,计数器锁存,0 1,读,/,写低字节,1 0,读,/,写高字节,1 1,先读,/,写低字节,后读,/,写高字节,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,C1,C0,RL1,RL0,M2,M1,M0,BCD,(,3,),M2,、,M1,、,M0,:,方式选择位,M2 M1 M0,方式选择,0 0 0,方式,0,0 0 1,方式,1,0
4、 1 0,方式,2,0 1 1,方式,3,1 0 0,方式,4,1 0 1,方式,5,(,4,),BCD,:,选择计数格式。,BCD=1,,,十进制计数。,BCD=0,,,二进制计数。,可,编,程,定,时,器,计,数,器,8253,8253,的工作方式,方式,0,计数结束产生中断,1.,写入控制字之后,输出端,OUT,为低电平作为初始电平,并且在计数值到达,0,之前一直保持低电平。,2.,当计数到达,0,时,输出端,OUT,为高电平,并且一直保持高电平,除非写入新的计数值。,可,编,程,定,时,器,计,数,器,8253,方式,1,可重复触发的单稳态触发器,1.,写入控制字之后,输出端,OUT,
5、以高电平作为起始电平,,2.,计数初值送到初值寄存器后,再经过一个时钟周期,便送到计数执行部件。,3.,另一方面,门控信号,GATE,上升沿到来时,边沿触发器触发,下一个时钟脉冲时,输出端,OUT,变为低电平,并在计数到达,0,以前一直保持低电平。,可,编,程,定,时,器,计,数,器,8253,方式,2,一分频(波特率发生器),1.,写入控制字之后,输出端,OUT,变为高电平作为初始状态,,2.,当计数初值写入初值寄存器后,下一个时钟脉冲时,计数器初值被写到计数执行部件,然后计数执行部件作减,1,计数。减到,1,(不是减到,0,)时,输出,OUT,变为低电平。,可,编,程,定,时,器,计,数,
6、器,8253,方式,3,方波发生器,1.,写入控制字之后,输出端,OUT,出现高电平作为起始电平。,2.,计数初值送到初值寄存器后,下一个时钟脉冲到来时,计数执行部件获得初始计数值,并开始作减,1,计数。,3.,当计数计到一半时,输出变为低电平,计数器继续作减,1,计数,计数到终值时,输出变为高电平,从而完成一个周期。之后,马上自动进入下一个周期。由此不断进行下去,产生周期为,N,个时钟脉冲宽度的输出。,可,编,程,定,时,器,计,数,器,8253,方式,4,软件触发的选通,1.,写入控制字之后,输出端,OUT,变为高电平作为初始电平;,2.,计数初值送到初值寄存器,再经过一个时钟周期,计数执
7、行部件获得计数初值,并开始计数。,3.,当计数器减到,0,的时候,输出端,OUT,变为低电平,此低电平持续一个时钟周期,然后又自动变为高电平并一直维持高电平。一般将此负脉冲作为选通信号。,可,编,程,定,时,器,计,数,器,8253,方式,5-,硬件触发的选通,1.,写入控制字之后,输出端,OUT,出现高电平作为起始电平。,2.,写入计数值之后,必须有门控信号,GATE,的上升沿到来,才在下一个时钟周期将计数初值送到计数执行部件。此后,计数执行部件作减,1,计数,计数到达,0,的时候,输出端出现一个宽度为,1,个时钟周期的负脉冲,然后又自动变为高电平,并将持续不变。此输出负脉冲可以用作选通脉冲
8、它是通过硬件电路产生的门控信号上升沿触发后得到的,所以叫硬件触发的选通脉冲。,可,编,程,定,时,器,计,数,器,8253,8253,的初始化编程,系统初始化时,由,BIOS,对,8253,进行初始化,并进行检查,程序如下:,1.,对计数器,0,的初始化,CLI,;关中断,MOV AL,36H,;,选择计数器,0,,双字节,方式,3,,二进制计数的控制字,OUT 43H,AL,;送控制字寄存器,MOV AL,0,;,置初值为,0,OUT 40H,AL,;,把低字节(,LSB,),送到定时器(计数器)寄存器,OUT 40H,AL,;,把高字节(,MSB,),送到定时器(计数器)寄存器,可,编,
9、程,定,时,器,计,数,器,8253,8253,的初始化编程,2,对计数器,1,的初始化,MOV AL,,,54H,;,选择计数器,1,,写低字节,方式,2,,,M,进制计数的控制字,OUT 43H,,,AL,;,送控制字寄存器,MOV AL,,,18,;,赋值给低字节,OUT 41H,,,AL,;,送计数器,1,可,编,程,定,时,器,计,数,器,8253,8253,的初始化编程,3,对计数器,2,的初始化,MOV AL,10110110,;,选择计数器,2,以双字节写,方式,3,,二进制计数的控制字,OUT 43H,,,AL,;,送控制字寄存器,MOV AX,,,533H,;,确定,1000HZ,的除数,OUT 42H,,,AL,;,把低字节(,LSB,),送到定时器(计数器),2,寄存器,MOV AL,,,AH,;,OUT 42H,,,AL,;,把高字节(,MSB,),送到定时器(计数器),2,寄存器,






