120 likes | 331 Views
Timers/Counters do 8051. Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI. Registradores dos T/C’s. 7. 0. TH1. (0X8D). T/C 1. TL1. (0X8B). TH0. (0X8C). T/C 0. TL0. (0X8A). (0X88). TCON. TF1. TR1. TF0. TR0. IE1. IT1. IE0. IT0. GATE0. TMOD. GATE1. T/C1.
E N D
Timers/Counters do 8051 Disciplina: Microcontroladores Prof. Remy Eskinazi, MSc UPE - POLI
Registradores dos T/C’s 7 0 TH1 (0X8D) T/C 1 TL1 (0X8B) TH0 (0X8C) T/C 0 TL0 (0X8A) (0X88) TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 GATE0 TMOD GATE1 T/C1 M11 M10 T/C0 M01 M00 (0X89)
Registrador TCON TF1 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 software para ligar ou desligar o Timer /contador 1. TF0 TCON.5 Flag de overflow do Timer /Contador 0 : Setado por hardware no overflow do Timer /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 software para ligar ou desligar o Timer /contador 0. IE1 TCON.3 Flag de detecção de borda da interrupção externa 1 : Setado/Limpado por hardware sempre 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 para especificar o tipo de detecção da interrupção externa 1, se é por borda de descida ou nível baixo. IE0 TCON.1 Flag de detecção de borda da interrupção externa 1 : Setado/Limpado por hardware sempre 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 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON (0X88) Símbolo Posição Nome e Significado : Setado/Limpado por software para especificar o tipo de detecção da interrupção externa 0, se é por borda de descida ou nível baixo.
Registrador TMOD GATE0 TMOD (0X89) GATE1 T/C1 M11 M10 T/C0 M01 M00
Registrador TMOD GATE0 TMOD (0X89) GATE1 T/C1 M11 M10 T/C0 M01 M00
Modo 0 dos T/Cs Oscilador 12 Flag de Inter. Controle C/T=0 THX8 TFX TLX5 C/T=1 TX pino Registradores de contagem Interrupção Timer/Contador no Modo 0 de operação (Prescaler: 13 bits de contagem). TRX Porta AND GATE Porta OR X = 0 ou 1 INTX
Modo 1 dos T/Cs Oscilador 12 Flag de Inter. Controle C/T=0 TLX8 TFX THX8 C/T=1 TX pino Registradores de contagem Interrupção Timer/Contador no Modo 1 de operação (Contagem plena: 16 bits de contagem). TRX Porta AND GATE Porta OR X = 0 ou 1 INTX
Modo 2 dos T/Cs Oscilador 12 Registrador de contagem Flag de Inter. Controle C/T=0 TLX8 TFX C/T=1 TX pino Interrupção Recarregamento TRX Porta AND THX8 GATE Porta OR Timer/Contador no Modo 2 de operação (8 bits de contagem com recarga). INTX X = 0 ou 1
Modo 3 dos T/Cs Oscilador 12 Registrador de contagem Flag de Inter. Controle C/T=0 TL08 TF0 C/T=1 T0 pino Interrupção TR0 Porta AND GATE Porta OR Timer/Contador 0 no Modo 3 de operação (8 bits de contagem). INT0 Flag de Inter. Controle TH08 TF1 Oscilador 12 Interrupção TR1 X = 0 ou 1
15 15 15 0 0 0 THx THx THx TLx TLx TLx C/T M1x M0x CKint TFx CK Prescaler Bits 04 Contagem Tx 0 0 Modo 0: Contador 8 bits c/ preescaler TFx TRx Contagem Contagem GATEx 1 0 Modo 1: Contagem plena INTx TFx (X =1 ou 0) Recarga Contagem 1 0 Modo 2: Recarga automática TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF0 TCON 15 0 TF1 TL0 TH0 GATE0 GATE1 T/C1 M11 M10 T/C0 M01 M00 TMOD CK TR0 Timers / Counters - 8051 TR1 1 1 Modo 3: 2 Contadores Independentes 8 bits
Geração de Delay de 1s INÍCIO R0 20d T1 15.535d 65.535 - 50.000 15535 Liga Timer TF = 1 ? N S R0 R0 - 1 R0 = 0 ? N S RET
Geração de Delay de 1s INÍCIO T1 15.000d R0 20d 65.536 - 50.000 15536 Liga Timer TF = 1 ? N S R0 R0 - 1 R0 = 0 ? N Repetir utilizando interrupções S RET