Antes de hacer ejercicios, verifica el estado de la placa probando el siguiente programa. Deben encenderse todos los led
Descarga el siguiente programa en la controladora con las placas de led conectadas. Deben encenderse todos los led. Si hay alguno que no se encienda, verifica la conexión correspondiente.
high 0,1,2,3,4,5,6,7
Cuando un valor se va a repetir muchas veces a lo largo de un programa podemos usar una constante, esto es darle un nombre al principio del programa. Para modificar el programa sólo hará falta cambiar el valor de la constante. El nombre se da con la instrucción symbol con la siguiente sintaxis:
symblo nombre = valor
Por ejemplo:
symbol espera = 1000
do
high 0
pause espera
low 0
pause espera
high 1
pause espera
low 1
pause espera
high 2
pause espera
low 2
pause espera
loop
Prueba el programa anterior modificando el valor escrito e rojo, por ejemplo con 500 o 200.
Las variables son espacios de memoria de la controladora que permiten almacenar datos. El valor de los datos puede modificarse durante la ejecución del programa.
tenemos dos tipos de variables en el sistema picaxe las llamadas b0, b1, b2, etc. y las llamadas w0, w1, w2 etc. Las que empiezan por una b permiten almacenar números pequeños (entre el 0 y el 255) y las que empiezan por w, números mayores (entre el 0 y el 65535).
Para meter algo en la variable usamos el signo =. b1=5 significa que metemos el número 5 en la variable b1. Para sacar algo de la caja, vale con nombrarlo. Por ejemplo si después de escribir lo anterior, escribo b1 sería lo mismo que escribir el número 5. Por ejemplo, en ese caso haciendo high b1, encendería la salida 5.
Prueba el siguiente programa, observa como funciona e intenta entender el código.
b0=0 inicio: high b0 pause 100 low b0 b0=b0+1 goto inicio
Modifica el programa anterior para que funcione como el siguiente ejemplo. Pincha en reset para reiniciarlo. No tienes que hacer un programa nuevo, sólo hacer un pequeño cambio para que funcione como el ejemplo.
Realiza un programa que funcione como el siguiente ejemplo. Pincha en reset para reiniciarlo
Realiza un programa que funcione como el siguiente ejemplo. Pincha en reset para reiniciarlo
Si se quiere poner un nombre significativo a una variable hay que usar la instrucción symbol de la siguiente manera:
symbol nombre = variable
Por ejemplo en el siguiente programa llamamos salida a la variable b0
symbol salida = b0 symbol espera = 500 salida = 1 high salida pause espera salida = salida +1 high salida pause espera salida = salida +2 high salida pause espera salida = salida +1 high salida
Ejercicio 4
Haz un programa similar al anterior, pero el doble de rápido. Sólo tienes que cambiar una cosa.
Debug es una instrucción muy interesante que nos permite visualizar en la pantalla del ordenador los valores almacenados en las variables. Prueba el siguiente programa, muy parecido al último ejemplo, pero con la instrucción debug
symbol salida = b0 symbol espera = 500 debug salida = 2 high salida pause espera salida = salida +1 high salida pause espera salida = salida +2 high salida pause espera salida = salida +1 high salida
Haz un programa que funcione como el siguiente ejemplo usando variables y constantes
Haz un programa que funcione como el siguiente ejemplo usando variables y constantes. Si el anterior lo has hecho bien tendrás que modificar muy pocas cosas.
Observa que en el programa anterior, la variable b2 va aumentando de valor, pero llegado un momento, de nuevo el valor se hace bajo. Esto es porque las cajas sólo permiten meter valores entre el 0 y el 255. Si a 255 le añadimos 1, volvemos al valor 0 (eso se llama desbordamiento).
Si necesitas almacenar valores mayores, puedes unir dos cajas usando w. Así tendremos w0, w1, etc. Las cajas w pueden almacenar calores desde el 0 al 65535. Las 28 cajas del chip 18M2 se pueden agrupar en 14 cajas w (de la 0 a la 13)
Prueba el siguiente programa
symbol numero = b0 numero = 0 do debug numero = numero+20 pause 500 loop
Observa que el valor del numero va cambiando y que nunca se hace mayor de 255
Haz un programa similar al anterior pero en el que sí consigas que número tome valores mayores de 255 como en el siguiente ejemplo.