Un buen año para todos mis buenos compañeros de este tan exelente foro......Después de una larga auscencia regreso a buscar mediante su ayuda aclarar una serie de dudas, siguiendo terquenado al MKB me he topado con las interrupciones, he leido creo que toda la teoría acerca de este tema pero al revisal el HELP del MKB solo veo unos pocos ejemplos que no me dejan claro algunos puntos, trate de programar de acuerdo al orden del ensamblador y no hago nada con el programa, no me queda calro el por que del:
sub procedure interrupt
if INTCON.TMR0IF = 1 then attente = attente+1
TMR0 = 96
INTCON.TMR0IF = 0
etc....
relicé un ejemplo del foro y lo quise cambiar para hacerlo como contador de impulsos externos a través del TOCK1 pero no consigo nada, espero pueadan ayudarme he aqui el programa:
program TMRO2
' Este programa produce el encendido del led en RBO cada interrupciòn del TMRO
'al recibir imnpulsos externos a travès del TOCKI(RA4)
dim conta as byte
sub procedure interrupt
if INTCON.T0IF = 1 then 'Checa bandera de interrupciòn del TMRO
conta = conta + 1 'Incrementamos conta por cada interrupciòn
INTCON = $20 'Activamos la interrupciòn del TMRO (TOIE=1)
if conta=1 then 'Verifica que halla desbordamiento del TMRO
conta=0 'Resetea contador
portb.0=1 'Pone "1" en RB0 si se ha producido la interrupción
else
portb.0=0 'Si no permanece en "0"
end if
end if
end sub
main:
option_reg=%01110000 'Divisor a 2, y asignadoa a TMRO(PSA),Incremento
'flanco ascendente TOSE=0, Como contador TOCS=1
intcon=%10100000 ' Habilitamos las interrupciones GIE=1 y el TOIE=1
trisa=255
trisb=0 'Puerto B como salida
portb=0 'Limpiamos el puerto B
porta=0
end.
Sinceramente estoy solo suponiendo pero no encuentro ninguna guia que me oriente, espero puedan ayudarme...Gracias....................Saludos