Autor Tema: interrupcion cada segundo?  (Leído 3351 veces)

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

Desconectado electronicpic

  • PIC10
  • *
  • Mensajes: 23
interrupcion cada segundo?
« en: 04 de Octubre de 2006, 13:16:42 »
hola, estoy empezando en esto de los microcontroladores, y me gustaria hacer una especie de reloj, pero tengo algunas dudas al respecto y quisiera saber vuestra opinion de expertos. En primer lugar no se como se hace una interrupcion por TMR0, y aun menos que sea a cada segundo, o si no es a cada segundo en un tiempo que yo pueda conocer para hacer un bucle hasta cnseguir 1seg. mi otra duda es sobre los 7segmentos, ya que voy a poner 3 multiplexados y no se cuanto tiempo tinene que estar cada uno encendido para que se visualice bien.

GRACIAS

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: interrupcion cada segundo?
« Respuesta #1 en: 04 de Octubre de 2006, 13:29:45 »
hola, estoy empezando en esto de los microcontroladores, y me gustaria hacer una especie de reloj, pero tengo algunas dudas al respecto y quisiera saber vuestra opinion de expertos. En primer lugar no se como se hace una interrupcion por TMR0, y aun menos que sea a cada segundo, o si no es a cada segundo en un tiempo que yo pueda conocer para hacer un bucle hasta cnseguir 1seg. mi otra duda es sobre los 7segmentos, ya que voy a poner 3 multiplexados y no se cuanto tiempo tinene que estar cada uno encendido para que se visualice bien.

GRACIAS

Los 7 segmentos si los muestreas cada 3 mseg (1 mseg encendido cada uno) debiera andar bien.

En cuanto a usar el TMR0 , bueno, depende de qué micro estes hablando.  Los pics son parecidos pero no iguales.  Esto depende del prescaler y debes tener en cuenta que es un timer ascendente con lo cual el tiempo hasta producirse el encendido el flag será lo que le demore en desbordarse.

Lo más práctico en tu caso, creo que sería hacer una interrupción cada 1mseg con la cual refrescar los 7 segmentos y por otra parte, ir incrementando una cuenta que al llegar a 1000 será 1 segundo.

Todo depende de la precisión con la que quieras trabajar.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado electronicpic

  • PIC10
  • *
  • Mensajes: 23
Re: interrupcion cada segundo?
« Respuesta #2 en: 04 de Octubre de 2006, 13:37:53 »
ok, el micro que quiero utilizar es el 16f84, y me parece perfecto lo de ponerlo a 1ms, pero ¿como se hace? he programado cosas con retrasos, pero nunca con interrupciones, y quisiera empezar ya a utilizarlas

GRACIAS

Desconectado pelusac

  • PIC16
  • ***
  • Mensajes: 118
Re: interrupcion cada segundo?
« Respuesta #3 en: 04 de Octubre de 2006, 13:38:18 »
No se si te servirá ya que está el codigo implementado en lenguaje C.

http://www.todopic.com.ar/foros/index.php?topic=4530.195

Ahí van resueltas las dos dudas la del Timer y la del reloj con 7segmentos espero te sirva.

Saludos.

Desconectado electronicpic

  • PIC10
  • *
  • Mensajes: 23
Re: interrupcion cada segundo?
« Respuesta #4 en: 04 de Octubre de 2006, 13:50:26 »
lo siento, pero no he manejado aun el C, pero gracias por el interes

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: interrupcion cada segundo?
« Respuesta #5 en: 04 de Octubre de 2006, 14:01:05 »
Creo que deberias empezar por decirnos que lenguaje usas?
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado electronicpic

  • PIC10
  • *
  • Mensajes: 23
Re: interrupcion cada segundo?
« Respuesta #6 en: 04 de Octubre de 2006, 14:05:07 »
lo siento, tienes razon.

el lenguage que utilizo es ensamblador, vamos, el que viene en el datasheet, los movwf, incf, btfss, etc...

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: interrupcion cada segundo?
« Respuesta #7 en: 04 de Octubre de 2006, 14:51:40 »
Si programas en ensamblador, este es el lugar indicado para tu mensaje.  :wink:

En este link hay un tutorial de como usar el timer0, esta en castellano y en ensamblador.

http://www.todopic.com.ar/utiles/tutorialtimer0_castellano.zip


Aqui unos ejemplos usando el timer

http://www.todopic.com.ar/foros/index.php?topic=12611.0
http://www.todopic.com.ar/foros/index.php?topic=13279.0

Hay mas ejemplos en este subforo, prueba usando el buscador.

Por aqui recuerdo tener un ejemplo para multiplexar, dejame buscar, si lo encuentro lo posteo.

Saludos
« Última modificación: 04 de Octubre de 2006, 14:59:05 por veguepic »
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado electronicpic

  • PIC10
  • *
  • Mensajes: 23
Re: interrupcion cada segundo?
« Respuesta #8 en: 04 de Octubre de 2006, 19:01:38 »
OK, me ha gustado mucho el tutorial sobre el timer, haber si mañana tengo un rato y lo pruebo. Muchas gracias a todos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: interrupcion cada segundo?
« Respuesta #9 en: 07 de Octubre de 2006, 04:25:23 »
También hay una explicación del Timer con ejemplos en la WikiPIC.

Timer

Desconectado electronicpic

  • PIC10
  • *
  • Mensajes: 23
Re: interrupcion cada segundo?
« Respuesta #10 en: 07 de Octubre de 2006, 06:53:43 »
muchas gracias, me sera de mucha ayuda