Sistemas Microprocessados sato<at>utfpr<dot>edu<dot>br http://pessoal.utfpr.edu.br/sato/
Temporizadores e Contadores do 8051 sato<at>utfpr<dot>edu<dot>br
Sobre o material Essas transparências foram baseadas em materiais elaborados pelos professores Hugo Vieira Neto, Eduardo Bertonha e Gabriel Kovalhuk
Temporizadores e Contadores Operação independente Programável por software Aplicações contagem de tempo Contador de eventos medição da largura de pulsos geração de sinais PWM geração periódica de interrupções
Temporizadores e Contadores Timer registers Timer 1 = TH1 + TL1 Timer 0 = TH0 + TL0 8 + 8 bits = 16 bits Contagem máxima ativa TFn Interrupção habilitada + contagem máxima = pedido de interrupção
Temporizadores e Contadores Registro Timer Control - TCON TCON TF1 TR1 TF0 TR0 TFn: 1 (HW) quando da contagem máxima e do timer overflow 0 (SW) reinicialização do T/C TRn: 1 (SW) para iniciar contagem 0 (SW) para parar contagem
Temporizadores e Contadores Registro Timer Mode - TMOD TMOD G1 T/C1 M11 M01 G0 T/C0 M10 M00 Gn: 1 (SW) TRn & INTn 0 (SW) TRn T/Cn: 1 (SW) Contador 0 (SW) Temporizador M1n M0n Modo - caractéristicas 0 0 0 Contagem 8 bits, prescaler de até 32x 0 1 1 Contagem de 16 bits 1 0 2 Contagem 8 bits com recarga automática 1 1 3 Contador 8 bits + Temporizador 8 bits
Modo 0 Temporizador / Contador de eventos de 8 bits com prescaler de 5 bits Divisão de freqüência programada nos 5 bits menos significativos de TLn (2 a 32) Contagem nos 8 bits de THn No overflow da contagem ocorre o pedido da interrupção, se habilitada A recarga do valor inicial por software
Modo 0 Oscilador Interno Tn (P3) INTn (P3) Gn TRn (TCON) 1 T/Cn = 0 Divisor por 12 TLn THn 1 T/Cn = 1 & Prescaler 5 bits Contador 8 bits TFn (TCON) Interrupção
Modo 1 Temporizador / Contador de eventos de 16 bits Contagem nos 16 bits (FFFFh) de TH0/TL0 ou de TH1/TL1 No overflow da contagem ocorre o pedido da interrupção, se habilitada Recarga do valor inicial feita por software
Modo 1 Oscilador Interno Tn (P3) INTn (P3) Gn TRn (TCON) 1 T/Cn = 0 Divisor por 12 TLn THn 1 T/Cn = 1 & Contador Contador 8 bits 8 bits TFn (TCON) Interrupção
Modo 2 Temporizador / Contador de eventos de 8 bits com recarga automática Contagem ocorre nos 8 bits de TLn Valor de recarga (valor inicial) de contagem armazenado em THn Recarga ocorre quando do overflow O T/C1 no Modo 2 serve para gerar a taxa de transmissão da interface serial
Modo 2 Oscilador Interno Divisor por 12 T/Cn = 0 Contador 8 bits TLn Tn (P3) T/Cn = 1 INTn (P3) Gn TRn (TCON) 1 1 & THn Recarga 8 bits TFn (TCON) Interrupção
Modo 3 Temporizador 8 bits (TH0) + Contador de 8 bits (TL0) TH0 Temporizador 8 bits que sinaliza em TF1 e é controlado por TR1 TL0 Contador 8 bits que sinaliza em TF0 e é controlado por TR0
Modo 3 Oscilador Interno Divisor por 12 TR1 (TCON) Temp. 8 bits TH0 TF1 (TCON) T/C0 = 0 Contador 8 bits TL0 Int. T0 (P3) TR0 (TCON) T/C0 = 1 & TF0 (TCON) INT0 (P3) G0 1 1 Int.
Calculando o conteúdo do T/C T/C0 Exemplo Temporizador de 20ms Modo 1 16 bits Interrupção no estouro Clock de 12MHz
Supondo que Exemplo T/C1 não é usado O temporizador depende somente de TR0 Então G0=0 (Somente TR0) T/C0=0 (Temporizador) M10=0 e M00=1 (Modo 1) TMOD = 00000001b = 01h
Se f clock = 12MHz Exemplo E f t/c = f clock /12 f t/c = 1MHz t t/c = 1/ f t/c = 1µs Como 20 ms = 20.000 µs o T/C deve contar 20.000
Exemplo O valor no T/C deve ser: 65.535(FFFFh) 20.000 + 1 = 45.536 Em hexa B1E8h Então: TH0=B1h e TL0=E8h
Sobre o material Essas transparências foram baseadas em materiais elaborados pelos professores Hugo Vieira Neto, Eduardo Bertonha e Gabriel Kovalhuk