MICROCONTROLADORES PIC TIMER 0 MODULO TIMER 0 Es
- Slides: 14
MICROCONTROLADORES PIC TIMER 0
MODULO TIMER 0 � Es un modulo contador/temporizador de 8 BITs, que cuenta con un preescalador programable de 8 BITs � Puede funcionar como temporizador o como contador � En modo temporizador el modulo Timer 0 se incrementa con cada ciclo de instrucción. � En el modo contador el modulo timer 0 se incrementa en cada flanco (ascendente o descendente) del pin RA 4/TOCKI. � En ambos casos al desbordarse (pasar de FF A 00) el modulo timer 0 genera una interrupción.
MODULO TIMER 0 � EL REGISTRO OPTION. El registro OPTION (o registro de opciones) se emplea para programar las opciones del temporizador TMR 0, el tipo de flanco con el que se detecta una interrupción y la activación de las resistencias de polarización del puerto B. Ocupa la posición 81 h de la página 1 del banco de registros. Debe escribirse usando la instrucción especial OPTION. Esta instrucción carga el contenido de W en el registro OPTION. q si el BIT TOCS del registro OPTION es cero entonces se trabaja en modo temporizador. q si el BIT TOCS del registro OPTION es uno entonces se trabaja en modo contador. q En el modo contador se puede seleccionar si el incremento se producirá en un flanco de subida o en un flanco de bajada, mediante el BIT TOSE del registro OPTION. q El Preescaler es compartido por el TIMER 0 y por el WATCHDOG, se asigna a un modulo o a otro mediante el BIT PSA del registro OPTION. q El valor del preescaler se selecciona con los BITS PS 0: PS 2.
MODULO TIMER 0
Modulo TIMER 0
MODULO TIMER 0 � El tiempo de desbordamiento del TIMER 0, se halla de acuerdo a la siguiente formula. � T=TCM*PRESCALER*(256 -carga � TCM=4/FOSC=CICLO DE MAQUINA. TIMER 0)
TIMER 0 EN CCS � SETUP_TIMER_0(MODO). - establece la fuente de reloj, el preescaler, etc. para el TIMER 0; donde MODO esta definido en el fichero de cabecera, estos afectan a los BITs 0: 5 del registro OPTION.
TIMER 0 EN CCS SETUP_TIMER_0(MODO) OPTION_REG() RTCC_INTERNAL 00 H RTCC_EXT_L_TO_H 20 H RTCC_EXT_H_TO_L 30 H RTCC_DIV_1 08 H RTCC_DIV_2 01 H RTCC_DIV_4 02 H RTCC_DIV_8 03 H RTCC_DIV_16 04 H RTCC_DIV_32 05 H RTCC_DIV_64 05 H RTCC_DIV_128 06 H RTCC_DIV_256 07 H
TIMER 0 EN CCS Estos distintos modos se puede agrupar usando el símbolo | Setup_timer_0(RTCC_DIV_2|RTCC_INTERNAL|RTCC_8_BIT); � SET_TIMER 0() ◦ Fija el valor inicial del TIMER 0 para que empiece la cuenta. SET_TIMER 0(15); � VALUE=GET_TIMER 0(); ◦ Lee el valor actual del Timer 0;
Uso del TIMER 0 como temporizador �Generar una señal cuadrada de 62. 5 Hz utilizando la interrupción del TIMER 0 � Se necesita un semiperiodo de 8 m. S, por lo tanto, utilizando la siguiente formula: T=TCM*PRESCALER*(256 -carga TIMER 0) 8 ms=4/(4 MHZ)*2*(256 -X) X=?
ESQUEMATICO
USO DEL TIMER 0 COMO CONTADOR � Hacer parpadear un LED conectado al PIN_B 0 cada 500 m. S y ademas hacer cambiar de estado a un led conectado al PIN_B 1 cada tres pulsos que ingresan por RA 4. Solucion: El timer 0 es un registro de 8 bit que puede contar hasta 256, para que se desborde con tres pulsos se le cargara con 253.
ESQUEMATICO
CODIGO #include<16 f 628 a. h> #fuses xt, nowdt, protect #use delay(clock=4 Mhz) #INT_TIMER 0 void isr_timer 0(){ output_toggle(PIN_B 1); set_timer 0(253); } //rutina de atencion a la interrupcion del timer 0 //invirtiendo el estado del pin b 1 //cargando el timer 0 con 253 void main(){ setup_timer_0(RTCC_EXT_H_TO_L|RTCC_DIV_1); //timer 0 como contador enable_interrupts(INT_TIMER 0); //habilitacion de la interrupcion timer 0 enable_interrupts(GLOBAL); //habilitacion global de interrupcion set_timer 0(253); //se carga el registro timer 0 con 253 while(true){ output_toggle(PIN_B 0); //parpadeo de led delay_ms(500); } }
- Pwm arduino frequenza
- Evolucion de los microcontroladores
- Microcontroladores philips
- Características de los microcontroladores
- Familias de microcontroladores
- 68hc908
- Microcontroladores historia
- Proyecto final microcontroladores
- Pic timer 0
- Pic timer programming in c
- Modulo n counter
- Integer modulo n
- Modulo elastico materiali
- Types of counters
- Kongruencja