Enlaces a

Antes de hacer ejercicios, verifica el estado de la placa probando el siguiente programa. Deben encenderse todos los led

Prueba

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

Ejercicios 2: variables y repeticiones

Puedes copiar directamente el código de los ejemplos y pegarlo en el editor PICAXE.

Variables

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.

Las variables en el sistema picaxe se llaman b0, b1, b2, etc. b viene de box (caja) ya que la variable se comporta como una caja en la que podemos meter o sacar algo

Para meter algo en la caja usamos el signo =. b1=5 significa que metemos el número 5 en la caja 1

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.

El número de cajas donde almacenar datos depende del chip que se está usando.El chip 18M2 tiene 28 cajas b (de la 0 a la 27)

Prueba el siguiente programa y observa como funciona.


b0=0
inicio:
high b0
pause 100
low b0
b0=b0+1
goto inicio


  • Ejercicio 1

    Modifica el programa anterior para que funcione como el siguiente ejemplo. Pincha en reset para reiniciarlo


  • Ejercicio 2

    Realiza un programa que funcione como el siguiente ejemplo. Pincha en reset para reiniciarlo


  • Debug

    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. Podemos ver el valor de las variables. b0 y b1 tienen siempre almacenado el mismo valor, mientras que b2 va cambiando.

    
    b0=5
    b1=8
    b2=0
    inicio:
    b2=b2+10
    debug 
    wait 1
    goto inicio

    Cuando cargues el programa se abrirá una ventana como la siguiente en la que se ven los valores almacenados en las cajas. Para que esto suceda, la controladora debe estar conectada al ordenador.

    Capacidad de las cajas

    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)

    For

    For es una instrucción se sirve para repetir algo un número de veces. Se escribe de la siguiente manera:

    for caja (puede ser b0, b1,etc.) = valor inicial to valor final step incremento

    Las instrucciones que se escriban aquí se repetirán

    next

    Las instrucciones entre for y next se repetiran un número de veces que dependerá del valor inicial, el final y el incremento. La primera vez que se haga, la caja contendrá el valor inicial. Caa vez que lleguemos a next de aumenta el valor del dato contenido en la caja en la cantidad indicada después de step. Cuando se llega a un valor mayor que el valor final, ya no se repiten las instrucciones. Si no se introduce el dato step, se considera que es 1. Ejemplo

    for b0=1 to 5 step 1
    ....
    instrucciones
    ...
    next
    

    La instrucción se repetirá 5 veces. En la primera b0 contendrá el valor 1, en la segunda el 2, y así hasta llegar a la quita que contendrá el valor 5.


  • Ejercicio 3

    Escribe un programa en el que la salida 4 parpadea 10 veces. Se puede hacer con menos de 6 instrucciones.

    Observa el ejemplo. Pincha en reset para reiniciarlo


  • Ejercicio 4

    Escribe un programa que funcione como el siguiente ejemplo usando la instrucción for.


  • Ejercicio 5

    Escribe un programa que funcione como el siguiente ejemplo usando la instrucción for.


  • Ejercicio 6

    Escribe un programa que funcione como el siguiente ejemplo usando la instrucción for.


  • Ejercicio 7

    Escribe un programa que funcione como el siguiente ejemplo usando la instrucción for.


  • Ejercicio 8

    Escribe un programa que funcione como el siguiente ejemplo usando la instrucción for.


  • Ejercicio 9

    Escribe un programa que funcione como el siguiente ejemplo usando la instrucción for.


  • Ejercicio 10

    Escribe un programa que funcione como el siguiente ejemplo mediante el uso de for. Pincha en reset para reiniciarlo


  • Ejercicio 11

    Escribe un programa que funcione como el siguiente ejemplo usando la instrucción for.


  • Ejercicio 12

    Escribe un programa que funcione como este: Pincha en reset para reiniciarlo


  • Código legible

    comentarios

    Cuando escribimos un programa entendemos lo que hace, pero es posible que dentro de un tiempo se nos olvide porque lo hicimos así y nos cueste entenderlo. Por eso,es muy conveniente insertar comentarios en el código. Para escribir un comentario, sólo hay que poner un punto y coma (;). LO que pongamos después lo ignorará el programador. Por ejemplo, la siguiente instrucción:

    high(3); se enciende la salida 3
    

    funcioan exactamente igual a la siguiente, pero se entiende mejor

    high(3)
    

    nombres de variables

    Como hemos comentado anteriormente, las variables se llaman por defecto con la letra b seguida de un número. Eso no nos da información sobre qué se almacena en la caja, por eso podemos cambiarle el nombre con la instrucción symbol:

    symbol   pepe = b0 ;vamos a llamar pepe a la caja b0 

    A partir de este momento, los programas deben tener comentarios y las variables nombres significativos.


  • Ejercicio 13

    Los bucles for se pueden anidar, esto es meter uno dentro de otro

    Escribe como el anterior pero que se repita en un bucle infinito


  • Ejercicio 14

    Escribe un programa que funcione como este: Pincha en reset para reiniciarlo