Download - Aplicaciones de Microcontroladores
![Page 1: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/1.jpg)
Aplicaciones de mC Lenguaje C- CC5x-Temporizadores
Preparado por : Juan Ignacio HuircánDepartamento de Ingeniería Eléctrica
Universidad de La Frontera
Otoño 2009
![Page 2: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/2.jpg)
Introducción
• El µC posee 3 Módulos Timer, llamados:
– TMR0– TMR1 – TMR2
Aplicaciones de µC
• Cada uno de ellos posee diversas características
• En la programación intervienen varios registros
• Su uso puede resultar complejo dado que requieren del manejo deinterrupciones
![Page 3: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/3.jpg)
Timer 0
• Es un Timer/counter de 8 bit
• Selector de clock interno o externo
• Interrupción de overflow de FFh a 00h
Aplicaciones de µC
• Preescalar de 8 bit configurable por software
• Selección del canto para clock externo
![Page 4: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/4.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
Aplicaciones de µC
![Page 5: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/5.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Aplicaciones de µC
![Page 6: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/6.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Carga Inicial
Aplicaciones de µC
![Page 7: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/7.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Carga Inicial
Aplicaciones de µC
![Page 8: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/8.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Carga Inicial 0xFD
Aplicaciones de µC
El timer empieza a contar los cantos dereloj a partir de la carga inicial
![Page 9: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/9.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Carga Inicial 0xFE
Aplicaciones de µC
El timer empieza a contar los cantos dereloj a partir de la carga inicial
![Page 10: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/10.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Carga Inicial 0xFF
Aplicaciones de µC
El timer empieza a contar los cantos dereloj a partir de la carga inicial
![Page 11: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/11.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Carga Inicial 0x00
Aplicaciones de µC
El timer empieza a contar los cantos dereloj a partir de la carga inicial
![Page 12: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/12.jpg)
Como funciona un sistema genérico??
Timer
Sea el bloque
clock
Carga Inicial 0x00
Aplicaciones de µC
El timer empieza a contar los cantos dereloj a partir de la carga inicial
Cuando llega a 0xFF y pasa a 0x00, se habilita el Flag de Interrupción TMR0IF
![Page 13: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/13.jpg)
Que es un preescalar?
clock
Divisor por 2
Es un mecanismo por el cual pasa previamente el clock antes deingresar al Timer, donde es divido. Por lo general por una potencia de 2
Aplicaciones de µC
Timer
clock
Pre-escalar
![Page 14: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/14.jpg)
Que es un preescalar?
Es un mecanismo por el cual pasa previamente el clock antes deingresar al Timer, donde es divido. Por lo general por una potencia de 2
clock
Divisor por 4
Aplicaciones de µC
Timer
clock
Pre-escalar
![Page 15: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/15.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
osc
T0CS
PSA
T0SE
PIN RA4/T0CK TMR0 Reg
Aplicaciones de µC
MUX
MUX
Pre-escalar
PSA
PSA
PSA
WDT Enable bit
WDT time-out
Watchdog Timer
![Page 16: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/16.jpg)
Registros Involucrados
• OPTION (En el manual aparece como OPTION_REG)• INTCON
• Procedimiento– Se debe configurar la operación del módulo en el registro
Aplicaciones de µC
– Se debe configurar la operación del módulo en el registro OPTION
– Se debe configurar el registro INTCON para habilitar las interrupciones
![Page 17: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/17.jpg)
Registro OPTION
RBPU INTEDG T0CK T0SE PSA PS2 PS1 PS0
![Page 18: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/18.jpg)
Registro OPTION
RBPU INTEDG T0CK T0SE PSA PS2 PS1 PS0
Bit que selecciona la fuente de clock
1 Transición el pin TOCK1
0 Clock interno
![Page 19: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/19.jpg)
Registro OPTION
RBPU INTEDG T0CK T0SE PSA PS2 PS1 PS0
Bit que selecciona el canto del clock
1 Incremento del clock con canto de bajada en el pin T0CK1
0 Incremento del clock con canto de subida en el pin T0CK1
![Page 20: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/20.jpg)
Registro OPTION
RBPU INTEDG T0CK T0SE PSA PS2 PS1 PS0
Bits de asignación del preescalar
1 Preescalar asignado al WDT (Watch Dog Timer)
0 Preescalar asignado al Timer0
![Page 21: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/21.jpg)
Registro OPTION
RBPU INTEDG T0CK T0SE PSA PS2 PS1 PS0
Bits que seleccionan el preescalar
000 1:2000 1:2
001 1:4
010 1:8
011 1:16
100 1:32
101 1:64
110 1:128
111 1:256
![Page 22: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/22.jpg)
Registro INTCON
GIE PEIE TMR0IE INTIE RBIE TMR0IF INTIF RBIF
![Page 23: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/23.jpg)
Registro INTCON
GIE PEIE TMR0IE INTIE RBIE TMR0IF INTIF RBIF
Habilita todas las interrupcionesHabilita todas las interrupciones
![Page 24: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/24.jpg)
Registro INTCON
GIE PEIE TMR0IE INTIE RBIE TMR0IF INTIF RBIF
Habilita la interrupción por el TMR0
![Page 25: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/25.jpg)
Registro INTCON
GIE PEIE TMR0IE INTIE RBIE TMR0IF INTIF RBIF
Flag de interrupción del TMR0
![Page 26: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/26.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
Pre-escalar
osc
T0CS
PSA
T0SE
PIN RA4/T0CK
TMR0 Reg
Watchdog Timer PSA y T0CS son
bits de control
Aplicaciones de µC
MUX
PSA
PSA
WDT Enable bit
WDT time-out
bits de control
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
![Page 27: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/27.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
Pre-escalar
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Watchdog Timer PSA y T0CS son
bits de control
Aplicaciones de µC
MUX
0
0
WDT Enable bit
WDT time-out
bits de control
RBPU INTEDG 0 T0SE 0 PS2 PS1 PS0
![Page 28: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/28.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
Pre-escalar
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Watchdog Timer PSA y T0CS son
bits de control
Aplicaciones de µC
MUX
0
0
WDT Enable bit
WDT time-out
bits de control
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
![Page 29: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/29.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
Pre-escalar
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG 0 T0SE 0 PS2 PS1 PS0
![Page 30: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/30.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
Pre-escalar
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0
![Page 31: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/31.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:2
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 0 0 0
![Page 32: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/32.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:4
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 0 0 1
![Page 33: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/33.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:8
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 0 1 0
![Page 34: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/34.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:16
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 0 1 1
![Page 35: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/35.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:32
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 1 0 0
![Page 36: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/36.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:64
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 1 0 1
![Page 37: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/37.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:128
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 1 1 0
![Page 38: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/38.jpg)
Esquema del Timer 0 (simplificado)
MUX
MUX
MUX
1:256
osc
0
0
T0SE
PIN RA4/T0CK
TMR0 Reg
Aplicaciones de µC
0
RBPU INTEDG T0CS T0SE PSA 1 1 1
![Page 39: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/39.jpg)
Interrupciones
• Es el mecanismo más eficiente para atender los periféricos.
• Permite generar temporización más precisa.
• Las fuentes pueden ser distintas
Aplicaciones de µC
– Los Clock internos
– Señales externas tales como INT u otros bits definidos
– Periféricos internos de uC tales como la UART o el ADC o el PWM
![Page 40: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/40.jpg)
Como Funcionan las interrupciones
• Cuando un periférico requiere atención, a través de una señal losolicita a la CPU.
• Inmediatamente, el control del programa salta una rutina llamadaRSI o Rutina de servicio de interrupción.
Aplicaciones de µC
• Esta función atiende al periférico y luego retorna al programaprincipal.
![Page 41: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/41.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
![Page 42: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/42.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
![Page 43: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/43.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
![Page 44: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/44.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
![Page 45: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/45.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
Periférico
![Page 46: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/46.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
Periférico
![Page 47: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/47.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
Periférico
![Page 48: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/48.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
Periférico
![Page 49: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/49.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
Periférico
![Page 50: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/50.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
Periférico
![Page 51: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/51.jpg)
Funcionamiento General
Rutina de Servicio de Interrupción
Aplicaciones de µC
Programa Principal
interrupción
Periférico
![Page 52: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/52.jpg)
En el uC PIC con CC5X
• Se configura el trabajo con interrupciones en los registros OPTION e INTCON
• Se incluye un archivo de cabecera int16cxx.h proporcionado por el que desarrolló el compilador
• La RSI queda en la dirección 0x0004
Aplicaciones de µC
• Cada vez que se interrumpe se setea un FLAGS de acuerdo a la fuente de interrupción
– INTF : Indica la interrupción por INT– T0IF : Indica la interrupción por Overflow de TMR0– RBIF : Int. Por PORTB– ADIF: Int. Del ADC– RCIF : Int. De Rx UART– TXIF : Int. De tx UART
![Page 53: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/53.jpg)
Se implementa una RSI bajo el formato indicado a continuación
#include "int16CXX.H"#pragma origin 4
interrupt rsi( void){
int_save_registers // W, STATUS (and PCLATH)
Aplicaciones de µC
// En esta zona se debe preguntar por// el flag correspondiente
int_restore_registers // W, STATUS (and PCLATH)}
![Page 54: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/54.jpg)
Se implementa una RSI bajo el formato indicado a continuación
#include "int16CXX.H"#pragma origin 4
interrupt rsi( void){
int_save_registers // W, STATUS (and PCLATH)
if ( T0IF) { /* TMR0 overflow interrupt */
Aplicaciones de µC
T0IF = 0; /* reset flag */}
if(INTF) {
INTF=0; }
if(ADIF){
ADIF=0;}
int_restore_registers // W, STATUS (and PCLATH)}
![Page 55: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/55.jpg)
Esquema de programa
#include "int16CXX.H"
#pragma origin 4
interrupt rsi(void)
{
// codigo
}
Aplicaciones de µC
void main()
{
// Config. Puertos I-O
// Config. Timer
// Config. Interrupciones
while(1) // ciclo for ever
{
}
}
![Page 56: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/56.jpg)
Aplicación con el TMR0
#include "int16CXX.H"
#pragma origin 4
interrupt rsi( void){
int_save_registers // W, STATUS (and PCLATH)
Aplicaciones de µC
if ( T0IF) {/* TMR0 overflow interrupt */TMR0 = 128;
if(PORTB.0==0) PORTB.0=1;else PORTB.0=0;
T0IF = 0; /* reset flag */}
int_restore_registers // W, STATUS (and PCLATH)}
![Page 57: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/57.jpg)
void main(){//TRISB.0=0;PORTB.0=1;
//Programación del TMR0OPTION.5=0; OPTION.3=0; // PSA=0;
Aplicaciones de µC
OPTION.3=0; // PSA=0;OPTION.2=0; // PS2=0;OPTION.1=0; // PS1=0;OPTION.0=0; // PS0=0;TMR0=128; // Carga inicial del Timer
INTCON.5=1; //TMR0IE=1;GIE=1; // INTCON.7=1;
while(1){}
}
![Page 58: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/58.jpg)
Timer 1
• El Timer1 es un módulo de Temp/cont de 16 bits que tiene 2 registros de lectura y escritura TMR1H y TMR1L.
• El registro formado por ambos TMR1H:TMR1L se incrementa desde0000h a FFFFh.
• La Interrupción TMR1 si es habilitada es generada por el overflow el cual
Aplicaciones de µC
• La Interrupción TMR1 si es habilitada es generada por el overflow el cuales capturado por el flag TMR1IF.
• Esta puede ser habilitada o deshabilitada por el TMR1IE.
• El modulo trabaja como:– Timer– Counter
– El modo queda determinado por el bit que selecciona el clock
![Page 59: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/59.jpg)
• En modo Timer, Timer1 se incrementa cada ciclo de instrucción.
• En modo counter, el incremento es en cada canto de subida de una entrada de clock externa
Aplicaciones de µC
de una entrada de clock externa
• El Timer1 se habilita/deshabilita mediante el bit TMR1ON.
• También tiene una entrada de reset
![Page 60: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/60.jpg)
Diagrama Timer1 (Simplificado)
TMR1H TMR1L
TMR1ON
T1SYNC
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS0TMR1CS
RC0
RC1
T1OSCEN
![Page 61: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/61.jpg)
Registros Involucrados
T1CKPS1 T1CKPS0 T1OSEN T1SYNC TMR1CS TMR1ON
T1CON
![Page 62: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/62.jpg)
T1CKPS1 T1CKPS0 T1OSEN T1SYNC TMR1CS TMR1ON
T1CON
1:1 0 0
1:2 0 1
1:3 1 0
1:4 1 1
Preescalar
![Page 63: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/63.jpg)
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON
T1CON
Selecciona fuente de clock externo
![Page 64: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/64.jpg)
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON
T1CON
![Page 65: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/65.jpg)
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON
T1CON
Selección de la fuente de clock
![Page 66: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/66.jpg)
TMR1H TMR1L
TMR1ON
T1SYNC
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS0TMR1CS
RC0
RC1
T1OSCEN
![Page 67: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/67.jpg)
TMR1H TMR1L
TMR1ON
T1SYNC
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS0TMR1CS
RC0
RC1
T1OSCEN
T1CKPS1 T1CKPS0 T1OSEN T1SYNC TMR1CS TMR1ON
![Page 68: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/68.jpg)
TMR1H TMR1L
TMR1ON
T1SYNC
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS0TMR1CS
RC0
RC1
T1OSCEN
T1CKPS1 T1CKPS0 T1OSEN T1SYNC TMR1CS TMR1ON
![Page 69: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/69.jpg)
TMR1H TMR1L
TMR1ON
T1SYNC
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS0TMR1CS
RC0
RC1
T1OSCEN
T1CKPS1 T1CKPS0 T1OSEN T1SYNC TMR1CS TMR1ON
![Page 70: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/70.jpg)
TMR1H TMR1L
TMR1ON
T1SYNC
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS0TMR1CS
RC0
RC1
T1OSCEN
T1CKPS1 T1CKPS0 T1OSEN 0 0 TMR1ON
![Page 71: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/71.jpg)
TMR1H TMR1L
TMR1ON
0
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS00
RC0
RC1
T1OSCEN
T1CKPS1 T1CKPS0 T1OSEN 0 0 TMR1ON
![Page 72: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/72.jpg)
TMR1H TMR1L
TMR1ON
0
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS00
RC0
RC1
T1OSCEN
T1CKPS1 T1CKPS0 T1OSEN 0 0 TMR1ON
![Page 73: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/73.jpg)
TMR1H TMR1L
TMR1ON
0
TMR1
RC0
Fosc/4Clock ext
Pre-scaler
T1CKPS1:T1CKPS00
RC0
RC1
T1OSCEN
T1CKPS1 T1CKPS0 T1OSEN 0 0 TMR1ON
![Page 74: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/74.jpg)
TMR1H TMR1L
TMR1ON
0
TMR1
RC0
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
0 0 T1OSEN 0 0 TMR1ON
![Page 75: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/75.jpg)
TMR1H TMR1L
TMR1ON
0
TMR1
RC0
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
0 0 T1OSEN 0 0 TMR1ON
![Page 76: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/76.jpg)
TMR1H TMR1L
TMR1ON
0
TMR1
RC0
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
0 0 T1OSEN 0 0 1
![Page 77: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/77.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
0 0 T1OSEN 0 0 1
![Page 78: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/78.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 79: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/79.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 80: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/80.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 81: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/81.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
0x0000
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 82: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/82.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
0x0001
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 83: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/83.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
0xFFFD
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 84: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/84.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
0xFFFE
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 85: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/85.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
0xFFFF
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 86: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/86.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
0x0000
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN
![Page 87: Aplicaciones de Microcontroladores](https://reader034.vdocuments.co/reader034/viewer/2022052223/563dba97550346aa9aa6eb25/html5/thumbnails/87.jpg)
TMR1H TMR1L
1
0
TMR1
RC0
0x0000
TMR1IF=1
Fosc/4Clock ext
1:1
0 00
RC0
RC1
T1OSCEN