Autor Tema: dudilla con el registro tmr0  (Leído 2513 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
dudilla con el registro tmr0
« en: 15 de Noviembre de 2004, 03:00:00 »
A vel, el tmr0 puede contar ciclos de instrucción interna o pulsos de entrada por RA4.
Si yo lo quiero usar como contador de ciclos de instrucción, el preescaler sirve?? Osea, si yo lo pongo 1:2 contará 1, cada dos instrucciones?? o solo sirve para pulsos??

A ver si alguien me puede exar una manita, asias!!!

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: dudilla con el registro tmr0
« Respuesta #1 en: 15 de Noviembre de 2004, 03:28:00 »
Siempre que uses el TMR0 hay que ponerle un Preescaler, bien si lo usas como temporizador interno, bien si lo usas como contador de pulsos externos.

La fórmula que yo uso es la siguiente:

Valor a cargar en TMR0= 256- (Temporización·fosc)/(4·Preescaler)

Un saludo

Desconectado Xelene

  • PIC12
  • **
  • Mensajes: 81
RE: dudilla con el registro tmr0
« Respuesta #2 en: 15 de Noviembre de 2004, 05:16:00 »
Ok Pocher, asias! Yo configuro el preescaler a 1:2 y empleo el TMR0 como temporizador interno, entonces q es exactamente lo q hace?
Aumentar en una unidad cada dos ciclos de instrucción?

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: dudilla con el registro tmr0
« Respuesta #3 en: 15 de Noviembre de 2004, 07:06:00 »
Exactamente aumentaría en 1 cada 2 ciclos.

Usando un cristal de 4MHz 1C.M. (ciclo máquina) =1us , por lo tanto si usas un Preescaler de 2 tardaría 2us en incrementarse.

El Preescaler es un divisor de frecuencia. A medida que el Preescaler es mayor la frecuencia es más pequeña, con lo cual T=1/f el tiempo es mayor y se pueden conseguir temporizaciones más largas.

Un saludo