Timer 0 En Lenguaje Ensamblador

Páginas: 6 (1406 palabras) Publicado: 12 de mayo de 2012
eIUT CUMANÁ

“Lo contrario del amor no es el odio, sino la indiferencia” E. Wiesel

MARZO 2012

MICROCONTROLADORES I

PROF.: MIGUEL VELANDIA



TMRO es un temporizador/contador de 8bits. Leíble y escribible. Reloj interno o externo. Selección de flanco activo en el reloj externo. Predivisor de 8bits programables. Solicitud de interrupción opcional en el desbordamiento..









OPTION_REG (Dir. 81H)
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0

RBPU: Resistencias PULL -UP del puerto B. 0: Habilita las resistencias PULL-UP. 1: Deshabita las resistencias. INTEDG: Selector de flanco de la interrupción INT. 0: Flanco de bajada. 1: Flanco de subida. TOCS: Fuente de Reloj para TMR0. 0:Pulsos internos Fosc/4 (Temporizador). 1: Pulsos introducidos por a través deTOCLK1 (Contador).

OPTION_REG (Dir. 81H)
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0

T0SE: Tipo de flanco en T0CLK1. 0: Incremento de TMR0 cada flanco ascendente. 1: Incremento de TMR0 cada flanco descendente. PSA: Asignación del divisor de frecuencia. 0: El divisor de frecuencia se la asigna al TMR0. 1: El divisor de frecuencia se la asigna al WDT

"Es mejor permanecer callado y parecer tontoque hablar y despejar las dudas definitivamente.“ Proverbio Oriental

OPTION_REG (Dir. 81H)
RBPU INTEDG T0CS T0ES PSA PS2 PS1 PS0 PS2:PS0: Valor con que se programa el divisor de frecuencia PS2 0 0 0 0 PS1 0 0 1 1 PS0 0 1 0 1 División TMR0 1:2 1:4 1:8 1:16 División WDT 1:1 1:2 1:4 1:8

1
1 1 1

0
0 1 1

0
1 0 1

1:32
1:64 1:128 1:256

1:16
1:32 1:64 1:128

Para que operecomo temporizador, el bit TOCS (del registro OPTION) debe ser cero (0), el bit PSA= 0 y deben ser cargados los bits PS2 a PS0, según sea el preescaler a utilizar para lograr nuestra temporización.

Para que opere como contador, se usa una entrada de reloj externo en el TMR0 y se deben de cumplir ciertos requisitos para que el reloj externo pueda ser sincronizado con el reloj interno (TOSC).Además existe un retardo en el incremento real del TMR0, después de la sincronización. El bit TOCS= 1. Se debe seleccionar el tipo de flanco que producirá el incremento del TMR0 ( TOSE = 1 ó 0).

"No reírse de nada es de tontos, reirse de

todo es de estupidos.“ Groucho Marx

 Divide

la frecuencia de reloj de entrada del Timer0, entre valores predefinidos, como se ve en la tabla asociadaal registro OPTION, 1:32, 1: 64, 1:256, etc., genera una nueva señal de menor frecuencia a la salida, que será la señal de reloj de entrada al registro TMR0.  “Ralentiza” señales de entrada demasiado rápidas para nuestros propósitos.

Tomada: Prof. Luis Zurita





También existe un postescaler, asociado al perro guardián WDT (Watch Dog Timer) del microcontrolador, pero en este casorecibe el nombre de postcaler, ya que se usa a la salida del WDT, no pudiendo estar asignado a la vez al Timer0 o al WDT. El preescaler es transparente para el programador, no se puede leer ni escribir sobre él, pero se puede seleccionar por software, como ya se ha dicho, mediante el registro OPTION. Nota: Para evitar un RESET no deseado del sistema, es necesario ejecutar una secuencia deinstrucciones específicas cuando se cambia la asignación del prescaler del TMR0 al WDT. Esta secuencia debe ser seguida, aún cuando el WDT esté inactivo.
Tomada: Prof. Luis Zurita

Tomada: Prof. Luis Zurita

Cuando se carga en el registro TMR0 un valor XXH (0xXX), él mismo contará: (FFH – XXH) impulsos y el tiempo que tarda en hacerlo tiene dado por la expresión:


Temporización= 4 * TOSC * ValorReal TMR0 * Rango del divisor de Frecuencia. Valor Real TMR0 = (28 – N10) = (256 – N10) N10= Valor a cargar en el TMR0
Tomada: Prof. Luis Zurita





Ejemplo. Sea un valor a cargar en el TMR0 de 100, un prescaler seleccionado de 1:32 y un oscilador XT. Determine el tiempo en que tardará el TMR0 en desbordarse. Solución: Sea XT = Frecuencia = 4 MHz, T = 0.25 µs.
Temporización= 4*0.25...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Timer 0
  • Lenguaje ensamblador
  • Lenguaje Ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS