TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: electronicpic 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
-
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.
-
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
-
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.
-
lo siento, pero no he manejado aun el C, pero gracias por el interes
-
Creo que deberias empezar por decirnos que lenguaje usas?
-
lo siento, tienes razon.
el lenguage que utilizo es ensamblador, vamos, el que viene en el datasheet, los movwf, incf, btfss, etc...
-
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
-
OK, me ha gustado mucho el tutorial sobre el timer, haber si mañana tengo un rato y lo pruebo. Muchas gracias a todos
-
También hay una explicación del Timer con ejemplos en la WikiPIC (http://Wiki-PIC.elrebujito.es).
Timer (http://elrebujito.es/modules.php?name=Guiki&MODE=SHOW&PAGE=Timer)
-
muchas gracias, me sera de mucha ayuda