Upload
hue
View
18
Download
0
Embed Size (px)
DESCRIPTION
Capítulo 7 Os “Timers”/Contadores da família de microcontroladores MCS-51 da Intel. Capítulo 7. Interrupções :. Capítulo 7. Capítulo 7. Capítulo 7. Oscilador. 12. Flag de Inter. Controle. C/Tbarra=0. THX 8. TLX 5. TFX. C/Tbarra=1. TX pino. Registradores de contagem. - PowerPoint PPT Presentation
Citation preview
Prentice Hall Microcontroladores 8051 1
Capítulo 7Capítulo 7
Os “Timers”/Contadores da Os “Timers”/Contadores da família de microcontroladores família de microcontroladores
MCS-51 da IntelMCS-51 da Intel
Prentice Hall Microcontroladores 8051 2
Capítulo 7Capítulo 7
Interrupções:
Instrução Bytes Ciclos Codificação RepresentaçãoSimbólica
LCALL addr16
(sub-rotina)3 2 0001 0010 addr15-8 addr7-0 (PC) (PC) + 3
(SP) (SP) + 1((SP)) (PC7-0)(SP (SP) + 1
((SP)) (PC15-8)(PC) addr16
LCALL“endereçovetor de
interrupção”(definido pelo
fabricante)
0 2 - (PC) (PC) + 3(SP) (SP) + 1((SP)) (PC7-0)(SP (SP) + 1
((SP)) (PC15-8)(PC) addr16
Prentice Hall Microcontroladores 8051 3
Capítulo 7 Capítulo 7 Item Fonte de Interrupção Nível dentro da mesma prioridade
1 IE0 (++++++) Maior2 TF0 (+++++)3 IE1 (++++)4 TF1 (+++)5 RI+TI (++)6 TF2+EXF2 (+) Menor
Fonte de Interrupção Nome da Fonte de Interrupção Endereço VetorRESET Reset 0000h
IE0 Fonte de Interrupção Externa 0 0003hTF0 Fonte de Interrupção do Timer/Contador 0 000BhIE1 Fonte de Interrupção Externa 1 0013hTF1 Fonte de Interrupção do Timer/Contador 1 001Bh
RI + TI Fonte de Interrupção do Canal de Comunicação Serial 0023hTF2 + EXF2 Fonte de Interrupção do Timer/Contador 2 + Externa 2 002Bh
Prentice Hall Microcontroladores 8051 4
Capítulo 7Capítulo 7
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
Timer 1 Timer 0TMOD = GATE C/Tbarra M1 M0 GATE C/Tbarra M1 M0
Símbolo Posição FunçãoGATE TMOD.3
TMOD.7Controle de disparo:
0: O Timer/Contador X é habilitado sempre TRX=1 (contagem controlada porsoftware);1: O Timer/Contador é habilitado somente quando o pino INTX = 1 e TRX (emTCON) =1 (contagem controlada por software e hardware);
C/Tbarra TMOD.2TMOD.6
Seletor de Timer ou Contador:0: define operação Timer (entrada de clock do sistema interno - fcristal/12);1: define operação Contador (entrada de clock definido pelo pino externo TX).
M1 TMOD.0/1 Define o modo de operação dos Timers/Contadores, em conjunto com M0.M0 TMOD.4/5 Define o modo de operação dos Timers/Contadores, em conjunto com M1.
Prentice Hall Microcontroladores 8051 5
Capítulo 7Capítulo 7
M1 M0 Modo de operação0 0 7 6 5 4 3 2 1 0 4 3 2 1 0
0: Timer de 13 bits de contagem (THX8=xxxx xxxx TLX5= ***x xxxx) contagem inicial: ( 0000 0000 ***0 0000) : : contagem final: ( 1111 1111 ***1 1111)
0 1 1: Timer/Contador de 16 bits (THX8 TLX8)16
1 0 2: Timer/Contador de 8 bits com recarregamento automático. A cada interrupção, oregistrador de contagem (TLX) é recarregado automaticamente com o valor doregistrador de recarregamento (THX) Registrador de Contagem Registrador de Recarregamento
(TLX8=xxxx xxxx) (THX8= valor a ser recarregado no registrador de contagem)1 1 3:
Timer 0:- TL0 é um Timer/Contador de 8 bits controlado pelos bits de controle do Timer 0;- TH0 é simplesmente um Timer de 8 bits controlado pelos bits de controle Timer 1.Timer 1: parado.
Obs: X = 0 ou 1.
Prentice Hall Microcontroladores 8051 6
Capítulo 7Capítulo 7Oscilador 12
TX pino
C/Tbarra=0
C/Tbarra=1
THX8 TLX5 TFX
Controle
GATE
PortaAND
INTXbarra
Porta OR
TRX
Interrupção
Figura 1: Timer/Contador no Modo 0 de operação (13 bits de contagem).
Registradores decontagem
Flag de Inter.
Prentice Hall Microcontroladores 8051 7
Capítulo 7Capítulo 7bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
(TCON) = TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Símbolo Posição Nome e SignificadoTF1 TCON.7 Flag de overflow do Timer/Contador 1: Setado por hardware no overflow do
Timer/contador 1. Limpado por hardware quando o microprocessador vetoriza(endereça) a sub-rotina de atendimento a fonte de interrupção do Timer/Contador 1(001Bh).
TR1 TCON.6 Bit de controle de liga/desliga do Timer/Contador 1: Setado/Limpado por softwarepara ligar ou desligar o Timer/contador 1.
TF0 TCON.5 Flag de overflow do Timer/Contador 0: Setado por hardware no overflow doTimer/contador 0. Limpado por hardware quando o microprocessador vetoriza(endereça) a sub-rotina de atendimento a fonte de interrupção do Timer/Contador 1(000Bh).
TR0 TCON.4 Bit de controle de liga/desliga do Timer/Contador 0: Setado/Limpado por softwarepara ligar ou desligar o Timer/contador 0.
IE1 TCON.3 Flag de detecção de borda da interrupção externa 1: Setado/Limpado por hardwaresempre quando uma borda de descida da fonte de interrupção externa é detectada.Limpado quando a sub-rotina de atendimento a fonte de interrupção 1 é processada.
IT1 TCON.2 Bit de controle do tipo da interrupção 1: Setado/Limpado por software paraespecificar o tipo de detecção da interrupção externa 1, se é por borda de descida ounível baixo.
IE0 TCON.1 Flag de detecção de borda da interrupção externa 1: Setado/Limpado por hardwaresempre quando uma borda de descida da fonte de interrupção externa é detectada.Limpado quando a sub-rotina de atendimento a fonte de interrupção 0 é processada.
IT0 TCON.0 Bit de controle do tipo da interrupção 0: Setado/Limpado por software paraespecificar o tipo de detecção da interrupção externa 0, se é por borda de descida ounível baixo.
Prentice Hall Microcontroladores 8051 8
Capítulo 7Capítulo 7
Modo 1:
É um Timer/contador de 16 bits. Apresenta o mesmo hardware da figura 1, porém o seu registrador decontagem é de 16 bits (8 bits do registrador THX e também 8 bits do registrador TLX). Usado para gerartempos maiores que o modo 0.
Prentice Hall Microcontroladores 8051 9
Capítulo 7Capítulo 7
Oscilador 12
TX pino
C/Tbarra=0
C/Tbarra=1
THX8
TLX8 TFX
Controle
GATE
PortaAND
INTXbarra
Porta OR
TRX
Interrupção
Figura 2: Timer/Contador no Modo 2 de operação (8 bits de contagem).
Registrador decontagem Flag de
Inter.
Recarregamento
Prentice Hall Microcontroladores 8051 10
Capítulo 7Capítulo 7Oscilador 12
T0 pino
C/Tbarra=0
C/Tbarra=1
TH08
TL08 TF0
Controle
GATE
PortaAND
INT0barra
Porta OR
TR0
Interrupção
Figura 3: Timer/Contador 0 no Modo 3 de operação (8 bits de contagem).
Registrador decontagem Flag de
Inter.
Controle
Oscilador 12
TR1
TF1
Interrupção
Flag de Inter.
Prentice Hall Microcontroladores 8051 11
Capítulo 7Capítulo 7
Inicialização (set-up) dos Timers/Contadores:
TMODModo Função do Timer/Contador 0 Controle Interno
(nota 1)Controle Externo
(nota 2)0 Timer/Contador de 13 bits 04h 0Ch1 Timer/Contador de 16 bits 05h 0Dh2 8 bits com recarregamento automático 06h 0Eh3 2 Timers/Contadores de 8 bits 07h 0Fh
TMODModo Função do Timer/Contador 0 Controle Interno
(nota 1)Controle Externo
(nota 2)0 Timer/Contador de 13 bits 00h 80h1 Timer/Contador de 16 bits 10h 90h2 8 bits com recarregamento automático 20h A0h3 2 Timers/Contadores de 8 bits 30h B0h
Prentice Hall Microcontroladores 8051 12
Capítulo 7Capítulo 7
TMODModo Função do Timer/Contador 0 Controle Interno
(nota 1)Controle Externo
(nota 2)0 Timer/Contador de 13 bits 40h C0h1 Timer/Contador de 16 bits 50h D0h2 8 bits com recarregamento automático 60h E0h3 2 Timers/Contadores de 8 bits 70h F0h
Prentice Hall Microcontroladores 8051 13
Capítulo 7Capítulo 7
Rotina de atendimento a fonte de interrupção do Timer/Contado 0
(0040h)T0INT: PUSH ACC
PUSH PSWMOV TH0,#0FFhMOV A,P1RL AMOV P1,APOP PSWPOP ACC
RETI
Salvar (ACC) e (PSW) na pilha(TH0) #0FFh
(A) (P1)Rotaciona o (A) um bit para a esquerda
(P1) (A)Recupera (PSW) e (ACC) da pilha
RETI
Prentice Hall Microcontroladores 8051 14
Capítulo 7Capítulo 7
Rotina de atendimento a fonte de interrupção do Timer/Contado 1
(0060h)T1INT: PUSH ACC
PUSH PSWMOV TH1,#0FFhMOV A,P2RL AMOV P2,APOP PSWPOP ACC
RETI
Salvar (ACC) e (PSW) na pilha(TH1) #0FFh
(A) (P2)Rotaciona o (A) um bit para a esquerda
(P2) (A)Recupera (PSW) e (ACC) da pilha
RETI
Prentice Hall Microcontroladores 8051 15
Capítulo 7Capítulo 7
(0080h)SUBROT:MOV A,P0
INC AMOV P0,ACPL AMOV P3,A
RET
(A) (P0)(A) (A) + 1
(P0) (A) (A) not (A)
(P3) (A)
RET
Sub-rotina
Prentice Hall Microcontroladores 8051 16
Capítulo 7Capítulo 7
Programa Principal:
(0100h)PROGP: MOV SP,#30h
MOV TMOD,#10hMOV TH0,#0FFhMOV TL0,#00hMOV TH1,#0FFhMOV TL1,#00hMOV IE,#8AhMOV TCON,#50hMOV P0,#7FhMOV P1,#0FEhMOV P2,P1
LOOP: ACALL SUBROTSJMP LOOPEND
(SP) #30h(TMOD) #10h(TH0) #0FFh(TL0) #00h
(TH1) #0FFh(TL1) #00h(IE) #8Ah
(TCON) #50h(P0) #7Fh
(P1) #0FEh(P2) (P1)
Figura 4: Fluxograma e programa fonte estruturado do exercício resolvido 1.
Chama sub-rotina SUBROT