Você está na página 1de 4

Laboratrio de microcontroladores

Prof.Assis 2013

Experincia N 7

TEMPORIZADOR: 1.1 OBJETIVO:


Atravs desta experincia o aluno ser capaz de programar instrues que permitam manipular com temporizador interno do 8051. 1.2 INTRODUO: No microcontrolador 8051 os temporizadores so utilizados para gerar sinais peridicos e precisos, medir larguras de pulsos externos, contagem de tempo, contagem de eventos externos e outras funes. Nesta experincia iremos programar o temporizador interno do 8051 para contagem interna e externa. O 8051 possui dois temporizadores independentes e programados por software designados de TIMER0 e TIMER1. Ambos os temporizadores so controlados pelos registradores TCON e TMOD. Na figura abaixo temos o registrador TMOD (Timer Mode Modo do Timer) cuja finalidade programar o modo de como o temporizador ir trabalhar: Bit 7 GATE bit 0 M0

C/T

M1

M0

GATE

C/T TIMER 0

M1

TIMER 1 Onde:

GATE : Controla tipo de gatilho. Quando este pino for igual a 1 e TRX (onde X pode ser 0 ou 1, do registrador TCON) for 1 ento o temporizador ir operar somente enquanto o pino INTX (onde X pode ser 0 ou 1) estiver em 1. Quando GATE=0 o temporizador ir operar somente quando TRX=1. C/T : Seleo de temporizador ou contador. Operao como contador ( C ) nivel lgico 1, nesta situao a contagem realizada por pulsos externos atuando nas entradas T0 e T1. Operao como temporizador (T) nvel lgico 0. nesta situao a contagem realizada pelo sistema interno. M1 : Bit de seleo de modo. M0 : Bit de seleo de modo. Onde M1 e M0 estabelecem o modo de operao conforme a tabela abaixo:

M1 0 0 1 1

M0 0 1 0 1

Modo de operao Temporizador de 13 bits Temporizador de 16 bits Temporizador de 8 bits com recarregamento (temporizador 0) TL0 um temporizador de 8 bits controlado pelos bits do Timer0. TH0 um temporizador de 8 bits controlado pelos bits do Timer1.

O registrador TCON mostrado na figura abaixo. Atravs deste registrador possvel controlar os temporizadores. Bit 7 TF1 TR1 TF0 TR0 IE1 IT1 IE0 bit 0 IT0

TF1, TF0: Bit de overflow do temporizador 1 e 0. Sempre que ocorrer um estouro da contagem este bit ser setado, gerando o pedido de interrupo do temporizador 1 ou 0. resetado pelo microprocessador quando termina a rotina de interrupo. TR1, TR0: Bit de controle de operao do temporizador 1 e 0. Habilitado por software para ligar ou desligar a operao do temporizador 1 e 0. IT1, IT0: Bit de controle do tipo de interrupo do 1 e 0. Se este bit estiver em nvel lgico 1 ento a interrupo ser habilitada por transio, se o nvel for 0 ento ser habilitada por nvel. IE1, IE0: Bit de interrupo externa 1 e 0. Quando ocorre uma interrupo estes pinos so ativados, nvel lgico 1, pelo microprocessador, sinalizando a ocorrncia de uma interrupo. resetado logo aps o atendimento da interrupo. Alm desses registradores de controle, cada temporizador possui dois registradores dados denominados de TH1 e TL1 para o temporizador 1, e TH0 e TL0 para temporizador 0, conforme abaixo: 7 7 7 7 MODO DE OPERAO: A operao do temporizador no modo 1 mostrada na figura abaixo. Conforme estudado acima, atravs do bit C/T programamos se o mesmo contador (C/T=1) ou utiliza o clock interno para gerar a contagem (C/T=0). O pino de GATE controla se habilita ou no o pino de interrupo, e TR0 liga ou desliga o contador. Os registradores TH0-TL0 so decrementado a cada evento, quando atinge o valor zero ento gerado um sinal de
2

TH1 TL1 TH0 TL0

0 0 0 0 Temporizador 0 Temporizador 1

interrupo, atravs do pino TF0. Neste instante, se no microprocessador tiver habilitado a interrupo do timer0, ento ocorrer uma interrupo.

OSC

OSC/12
C/T=0 C/T=1

TL0

TH0

TF0

INTERRUPO

PINO T0

BIT TR0

GATE PINO INT0

O seguinte exemplo mostra como funciona o temporizador no modo1. Mostra-se tambm os passos necessrios para programar a interrupo do timer0.

PROGRAMA PRINCIPAL END 5000 5003 5006 5009 500C 500F 5011 5013 5016 5018 501A 501D 5020 5022 OPCODE 75 81 2F 75 89 01 75 88 00 75 8C EE 75 8A 00 D2 91 D2 8C 30 8D FD B2 91 C2 8D 75 8C EE 75 8A 00 D2 8C 80 EF LABEL MNEMNICO MOV SP, #2FH MOV TMOD,#01H MOV TCON,#00H MOV TH0,#EEH MOV TL0,#00 SETB P1.1 SETB TR0 JNB TF0,TESTE CPL P1.1 CLR TF0 MOV TH0,#EEH MOV TL0,#00 SETB TR0 SJMP TESTE COMENTRIOS Inicializa a pilha Timer 0: modo 1 Palavra de controle Inicializa registradores do timer Seta P1.1 Liga temporizador Espera chegar ao fim Complementa bit Desliga flag Inicializa registradores do timer Reinicializa time0 Loop infinito

TESTE

COMENTRIOS: A) Programao do modo do timer: 7 TMOD 0


3

0 TIMER1

0 TIMER0

Utiliza apenas o TIMER0 GATE=0, ou seja, a interrupo INT0 no afeta o timer Modo de programao 1 MOV TMOD,#01H B) palavra de controle: 7 0 TCON 1 0 0 0

0 EXERCCIOS

1) Fazer um programa para gerar uma onda quadrada simtrica no pino P1.1 cuja freqncia de 1kHz, utilizar o temporizador 0. 2) Fazer um programa para gerar uma onda assimtrica, no pino P1.1 cuja freqncia de 500Hz. O tempo do nvel alto deve ser trs vezes o tempo do nvel baixo. Utilizar o temporizador 0.

R.A.

NOME

ASSINATURA