Está en la página 1de 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

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 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

flash:

1
www.tecnologiaseso.es

carliebrawn2001@yahoo.es

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

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 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

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

salta a flash si el valor del pin0 es un 1 goto inicio sino salta a


inicio

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

flash:

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

lee el valor y lo almacena en b1


salta a flash si b1 > 50
sino salta a inicio

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

flash:

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

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

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

neg:

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

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

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

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

También podría gustarte