TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: LOBONET1 en 30 de Marzo de 2005, 15:18:00
-
Hola Colegas tengo una duda cn respecto al manejo de los tiempos con el TMR0
se que hay que configurar el OPTION_REG en donde se deshabilito las pullups y se configuro el prrescaler a 32 pero cuando hago un debug de la variable que incremento aunque modifico el preescaler a 1:2 , 1:4, 1:8, o cualquier preescaler que asigne la variable se incrementa con la misma velocidad tambien aunque ponga el TMR0 en 0 o en cualquier otro valor por ejemplo 100 alguien sabe bien como se manejan los tiempos
adjunto el codigo que es muy sencillo
desde ya muchas gracias y espoero que alguien me sepa explicar
include "modedefs.bas"
DEFINE OSC 4
trisb=%00000000
portb=%00000000
inc var byte
update var byte
OPTION_REG = %10000110
TMR0 = 96
ON INTERRUPT GOTO myint " Interrupt handler is myint
INTCON = %10100000 "habilita int y timer
inc = 0
update = 0
main:
if update = 1 then
toggle portb.1
inc = 0
update = 0
endif
goto main
DISABLE " Disable interrupts in handler
myint:
inc = inc + 1
if inc > 254 then
update = 1
endif
serout porta.0,t2400,[#inc,13]
RESUME " Return to main program
ENABLE " Enable interrupts after handler
-
Que onda Ususario_registrado,
Aqui hay bastante informacion de calculo y uso de interrupciones via timer:
http://miarroba.com/foros/ver.php?foroid=8826&temaid=2664719
http://miarroba.com/foros/ver.php?foroid=8826&temaid=2661542
Estos son para proton+ pero el calculo te puede servir para pbp los post son un poco extensos
pero vale la pena que veas la resolucion que definio el pana Khasistos de sus usos.
Salu2 pana!