Sie sind auf Seite 1von 7

COMANDOS BSICOS

DEBUG Var
Visualiza la informacin contenida en la variable Var en la ventana del depurador durante la ejecucin. Var: variable con un valor previamente cargado Ejemplo: inicio: debug b1 let b1 = b1+1 pause 500 salto inicio visualiza el valor de b1 incrementa el valor de b1 en una unidad espera de 0,5 segundos salta a inicio (bucle)

VARIABLES El sistema PICAXE da soporte a las siguientes variables: Words: W0, W1, W2, W3, W4, W5, W6 Bytes: DIRS, PINS (solo PICAXE-08), INFRA, KEYVALUE B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13 Bits: PIN0, PIN1, PIN2, PIN3, PIN4, PIN5, PIN6, PIN7 (conjuntamente igual PINS) BIT0, BIT1, BIT2, BIT3, BIT4, BIT4, BIT5, BIT6, BIT7 (conjuntamente igual B0) BIT8, BIT9, BIT10, BIT11, BIT12, BIT13, BIT14, BIT15 (conjuntamente igual B1) In/Out aade los pseudo nombres: INPUT0, INPUT1, etc. puede usarse en lugar de PIN0, PIN1, tec. OUTPUT0, OUTPUT1, etc. puede usarse en lugar de 0, 1, 2, etc.

END
Detiene la ejecucin del proceso y entra en modo de bajo consume. Todos los pins de I/O permanecen en el estado en que se encuentran. END trabaja ejecutando una instruccin SLEEP continua dentro de un bucle. Un END, STOP GOTO deben ser colocados al final de un programa para evitar pasar del lmite de la misma u comience nuevamente. Ejemplo: inicio: let b2 = 15 pause 2000 gosub flash let b2 = 5 pause 2000 gosub flash end flash: for b0 = 1 to b2 high 1 pause 500 low 1 pause 500 next b0 return define el bucle con el valor b2 salida 1 a nivel alto espera de 0,5 segundos salida 1 a nivel bajo espera de 0,5 segundos fin de bucle retorno a linea siguiente de la llamada
1 www.tecnologiaseso.es carliebrawn2001@yahoo.es

set b2 con valor 15 espera de 2 segundos salta al procedimiento flash set b2 con valor 5 espera de 2 segundos salta al procedimiento flash

FOR NEXT
FOR contador = start TO end {STEP {-} inc} {body} El bucle FOR NEXT permite a los programas ejecutar un nmero de declaraciones {body} un nmero de veces, usando una variable como contador. Debido a su complejidad y versatilidad, es mejor describirla paso a paso. El valor de start se asigna a la variable ndice: count, que puede ser una variable de cualquier tipo. Se ejecuta las instrucciones de body. Body es opcional y puede ser omitido (quizs por un bucle de demora). El valor de inc es sumado a ( restado si se especifica -) count. Si no se define un valor steep, se incrementa count en una unidad. Si count no pas end desbord el tipo de variable, la ejecucin vuelve al paso 2. Si el bucle necesita contar ms de 255 (count > 255), se debe usar una variable de tamao Word. Ejemplo: bucle: for b0 = 1 to 20 high 1 pause 500 low 1 pause 500 next b0 pause 2000 goto bucle define el bucle con repeticin de 1 a 20 salida 1 a nivel alto espera de 0,5 segundos salida 1 a nivel bajo espera de 0,5 segundos fin de bucle espera de 2 segundos salta a bucle para comienzo de nuevo

GOSUB etiqueta
Salta a la subrutina indicada en etiqueta, guardando su direccin de regreso en la pila (snack). A diferencia del GOTO, cuando se llega a un RETURN, la ejecucin sigue con la declaracin siguiente al ltimo GOSUB ejecutado. Se puede usar un nmero ilimitado de subrutinas en un programa y pueden estar anidadas. En otras palabras, las subrutinas pueden llamar a otra subrutina. Cada anidamiento no debe ser mayor de cuatro niveles. Ejemplo: inicio: let b2 = 15 pause 2000 gosub flash let b2 = 5 pause 2000 gosub flash end flash: for b0 = 1 to b2 high 1 pause 500 low 1 pause 500 next b0 return define el bucle con el valor b2 salida 1 a nivel alto espera de 0,5 segundos salida 1 a nivel bajo espera de 0,5 segundos fin de bucle retorno a linea siguiente de la llamada set b2 con valor 15 espera de 2 segundos salta al procedimiento flash set b2 con valor 5 espera de 2 segundos salta al procedimiento flash

2 www.tecnologiaseso.es carliebrawn2001@yahoo.es

GOTO etiqueta
La ejecucin del programa contina en la declaracin de la etiqueta. Ejemplo: inicio: high 1 salida 1 a nivel alto pause 5000 espera de 5 segundos low 1 salida 1 a nivel bajo pause 5000 espera de 5 segundos goto inicio salta a inicio

HIGH pin
Pone a nivel alto el pin especificado y lo convierte automticamente en salida. Pin puede ser una constante, 0 7, una variable que contenga un nmero de 0 7 (p. ej. B0) un nmero de pin (p. ej. PORTA.0) Ejemplo: bucle: high 1 pause 5000 low 1 pause 5000 goto bucle pone salida 1 a nivel alto espera de 5 segundos pone la salida 1 a nivel bajo espera de 5 segundos salta a comienzo de bucle repetitivo

ifthen ifandthen iforthen


IF variable ?? valor {AND/OR variable ?? valor } THEN etiqueta Estructura de comparacin condicional con salto a una direccin determinada (etiqueta) en caso de que se cumpla. ??: condicional =, <>, >=, <=, >, < Variable: valor de la comparacin Valor: variable constante Etiqueta: direccin del salto en caso de cumplir el condicional Efecta una o ms comparaciones. Cada trmino variable puede relacionar un valor con una constante otra variable e incluye uno de los operadores listados anteriormente. IFTHEN evala la comparacin en trminos de CIERTO o FALSO. Si lo considera cierto, se ejecuta la operacin posterior al THEN. Si lo considera falso, no se ejecuta la operacin posterior al THEN. Las comparaciones que dan 0 se consideran falso. Cualquier otro valor es cierto. Ejemplo: inicio: if pin0 = 1 then flash flash: high 1 pause 5000 low 1 goto inicio pone a valor alto la salida 1 espera de 5 segundos pone a valor bajo la salida 1 salto a inicio salta a flash si el valor del pin0 es un 1 goto inicio sino salta a inicio

3 www.tecnologiaseso.es carliebrawn2001@yahoo.es

INPUT pin
Convierte el Pin especificado en una entrada. Pin debe ser una constante entre 07, o una variable que contenga un nmero 0-7 (p. ej.: B0) o el nombre de un pin (p. ej.: PORTA.0) Ejemplo: inicio: input 1 reverse 1 reverse 1 output1 configura el pin1 como entrada configura el pin 1 como salida configura el pin1 como entrada configura el pin1 como salida

LOW pin
Coloca el pin especificado en valor bajo y automticamente lo convierte en salida. Pin puede ser una variable/constante de 0-7. Ejemplo: inicio: high 1 pause 5000 low 1 pause 5000 goto inicio

pone el pin 1 a nivel alto espera de 5 segundos pone el pin 1 a nivel bajo espera de 5 segundos salta a inicio del bucle

OUTPUT pin
Convierte el Pin especificado en una salida. Pin debe ser una constante entre 07, o una variable que contenga un nmero 0-7 (p. ej.: B0) o el nombre de un pin (p. ej.: PORTA.0) Ejemplo: inicio: input 1 reverse 1 reverse 1 output1 configura el pin1 como entrada configura el pin 1 como salida configura el pin1 como entrada configura el pin1 como salida

PAUSE periodo
Detiene el programa por periodo milisegundos. Periodo tiene 16 bits, por lo que los retardos pueden ser hasta 65635 milisegundos (un poco ms de un minuto). Ejemplo: inicio: high 1 pause 5000 low 1 pause 5000 goto inicio pone el pin 1 a nivel alto espera de 5 segundos pone el pin 1 a nivel bajo espera de 5 segundos salta a inicio del bucle

4 www.tecnologiaseso.es carliebrawn2001@yahoo.es

READADC canal,variable
El contenido del convertidor A/D (8 bits de resolucin) indicado por canal es almacenado en variable. Canal:variable/constante que especifica el canal (0-3) Variable: variable donde se almacena el byte leido. Ejemplo: inicio: readadc 1,b1 if b1 > 50 then flash goto inicio flash: high 1 pause 5000 low 1 goto inicio pone a nivel alto el pin 1 espera de 5 segundos pone a nivel bajo la salida 1 salto a inicio lee el valor y lo almacena en b1 salta a flash si b1 > 50 sino salta a inicio

READTEMP pin,variable READTEMP pin,wordvariable


Lee la temperatura de un DS18B20, sensor digital de temperatura, conectado en pin y almacena su lectura en variable. Pin: es el pin de entrada del PICAXE que tiene conectado el sensor. Variable: donde se almacena el byte ledo. READTEMP: la resolucin de la lectura es de enteros de grado, y el sensor funciona de -55 C hasta +125 C. El bit 7 indicar si los valores de temperatura son positivos (0) o negativos (1).READTEMP12: (para programadores avanzados). La temperatura viene expresada con una resolucin de 0,125 C y necesita 12 bits para su representacin digital. El usuario debe interpretar los datos a travs de clculo matemtico. Ver el dataste del DS18B20 (www.dalsemi.com) para ms informacin en relacin con Data Temperatura. Ejemplo: inicio: readtemp 1,b1 if b1 > 127 then neg serout, 7, T2400, (#b1) goto inicio neg: let b1 = b1 128 serout 7,T2400, (-) serout 7,T2400, (#b1) goto inicio ajuste del valor negativo en b1 transmite el smbolo negativo transmite el valor al LCD en formato serie lee el valor del sensor en pin 1 y lo almacena en b1 chequeo si el valor medido es negativo transmite el valor al LCD en formato serie salta a inicio

RETURN
Vuelve desde una subrutina. Retoma la ejecucin en la declaracin que sigue al GOSUB que llam la subrutina. Ejemplo:

5 www.tecnologiaseso.es carliebrawn2001@yahoo.es

inicio: let b2 = 15 pause 2000 gosub flash let b2 = 5 pause 2000 gosub flash end flash: for b0 = 1 to b2 high 1 pause 500 low 1 pause 500 next b0 return define el bucle para el tiempo de b2 pone la salida 1 a nivel alto espera 0,5 segundos pone la salida 1 a nivel bajo espera 0,5 segundos fin del bucle vuelve a lnea siguiente de llamada asigna a la variable b2 el valor 15 espera de 2 segundos llamada a subrutina flash asigna a la variable b2 el valor 5 espera de 2 segundos llamada a subrutina flash

SERVO pin,pulse
Enva un pulso por el pin indicado para el control de un dispositivo de radio control tipo servo. Pin: es un pin de salida del PICAXE (0-7). Pulse: es una variable/constante (75-225) que especifica la posicin del servo. Este comando pone el pin a nivel alto durante un tiempo (x0.01 ms) cada 20ms indicado por pulse. Generalmente el servo de RC requiere un pulso (0.75 a 2.25ms de duracin) cada 20ms. Por consiguiente el comando servo 1,75 mover el servo a la posicin de 0 grados, con el comando servo1,225 se posicionar en el extremo opuesto 180 . Con el comando servo 1,150 colocar el servo en la posicin central. No usar un valor de pulso menor de 75 o mayor de 255, dado que esto puede causar que el servo funcione incorrectamente. Debido a las tolerancias en la fabricacin de los servos todos los valores son aproximados y requieren un ajuste fino por experimentacin. Ejemplo: inicio: servo 4,75 pause 2000 servo 4,150 pause 2000 servo 4,225 pause 2000 goto inicio mueve el servo a la posicin inicial 0 grados espera 2 segundos mueve el servo a la posicin central espera 2 segundos mueve el servo a la posicin final 180 grados espera 2 segundos salta a inicio y repite ciclo

SOUND pin,(note,duration,note duration)


Genera un tono y/o ruido blanco en el pin especificado. Pin se configura automticamente como salida. Pin: es una variable/constante (0-7) que especifica el pin i/o a utilizar. Note(s): es una variable o constante (0-255) que especifica la frecuencia del sonido emitido. Note 0: silencio Note (1-127): tonos Note (128-255): ruido blanco Duration: es una variable/constante (0-255) que determina la duracin de la nota, en incrementos de 12 ms. Los tonos y el ruido blanco estn en una escala ascendente (p.e. 1 y 128 son las frecuencias menores,129 y 266 las mayores). Note 1 es aproximadamente 78,74 Hz y note 127 es aproximadamente 10000Hz. SOUND entrega como salida ondas cuadradas con nivel TTL. Gracias a las caractersticas del micro PIC, se puede manejar un altavoz a travs de un condensador. El valor del condensador debe ser
6 www.tecnologiaseso.es carliebrawn2001@yahoo.es

determinado en funcin de las frecuencias a usar y la carga del altavoz. Altavoces piezoelctricos se pueden conectar directamente. Ejemplo: inicio: let b0 = b0 + 1 incrementa b0 sound 7,(b0,50) configura y emite sonido por pin 7 goto inicio repite programa indefinidamente

WAIT seconds
Pausa de ejecucin del cdigo del programa de seconds segundos. Seconds: es una constante (0-65) que especifica la duracin de la pausa en segundos. Ejemplo: inicio: switch on 7 wait 5 switch off 7 wait 5 goto inicio configura pin 7 como salida a nivel alto espera 5 segundos configura pin 7 como salida a nivel bajo espera 5 segundos repite programa indefinidamente

7 www.tecnologiaseso.es carliebrawn2001@yahoo.es

Das könnte Ihnen auch gefallen