TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: ger_va en 25 de Octubre de 2010, 23:44:01
-
hola que tal.
quisiera saber que instrucción o que tengo que tener en cuenta. para en un decrementador de 9 a 0.
indicarle al pic que vuelva a la parte de inicio del programa donde,
espera si se pulsa la tecla o no, en ese momento el contador estara en 0.despues de haber decrementado.
para empezar nuevamente desde 9 a decrementar hasta el 0.
el programa es en ensamblador.
muchas gracias.-
-
Las "decisiones" del PIC se toman con las instrucciones: DECFSZ, INCFSZ, BTFSS, BTFSC, ADDWF PCL,F.
Esas son las que se me ocurren ahora. Estoy hablando para un pic de la familia con instrucciones RISC.
En tu caso debería ser algo así:
contador equ 0x20
inicio movlw 0x09
movwf contador
repito decfsz contador
goto repito
goto pulsador.
La etiqueta pulsador, es una rutina para escanear el teclado. Una decisión parecida se toma ahí para volver a la etiqueta repito o a otra parte del programa.
-
Hola ger_va.
Ademas de las instrucciones que menciona Leon Pic, también son muy importantes los bits Z (Zero) y C (Carry) del registro STATUS, los cuales cambian de estado según el resultado de una operación matemática u operaciones booleanas (AND, XOR, IOR, etc).
Las siguientes lineas de código llegan al mismo resultado del ejemplo anterior pero utilizando operaciones booleanas y el bit Z (Zero) del registro STATUS, en este caso contador varia de 18 a 9 para hacerlo mas interesante :mrgreen:
contador equ 0x20
inicio
movlw 0x12
movwf contador
repito
decf contador
movlw 0x09
xorwf contador, 0
btfss STATUS, Z
goto repito
goto pulsador
Para aprender estas y muchas mas instrucciones te recomiendo que tengas a mano el Set de Intrucciones" (http://ww1.microchip.com/downloads/en/DeviceDoc/31029a.pdf) de los PIC de gama media, como así también la hoja de datos correspondiente al microcontrolador que quieras utilizar.
Saludos!