El ejempo inicia con la instruccion bucle que es igual a repetir( con la diferencia que hace iteraciones infinitas hasta que se sale del programa. el programa se quedara leyendo la instruccion si( y comparando el valor de %p, si %p es igual a 112 (pin 1 activado) se ejacutara todas las instrucciones abajo de si( hasta llegar a finsi. Si %p no es igual a 112, se salteara todas las instrucciones y el programa seguira desde finsi.
#----programa de ejemplo----# declarar las variables al inicio del codigovariables
$tiempo=100
$puerto=1
finvariablesinicio# poner los pines del puerto a cero y esperar
#5000 milisegundomultipuerto(0,5000)# iniciar un bucle infinito y leer
# el puerto de controlbucle# si el puerto de control es igual a 119
# repetir 5 veces multipuerto( $puerto,$tiempo)
# y sumar $puerto + 1si(%p=119)
repetir(5)
multipuerto($puerto,$tiempo)$puerto=suma($puerto;1)
finrepetir
finsi# si el puerto de control es igual a 119# apagar todos los pines y salir del sistemasi(%p=112)# apagar los pines y salir del programamultipuerto(0,0)# cuando se llega a la instruccion"final"# se sale del sistemafinal
finsifinbucle
final
al iniciarse el programa entra en un bucle infinito, y se queda leyendo todo el tiempo el puerto de control (%p). si %p= 119 envia al puerto de datos el valor de $puerto.
si %p=119 sale del sistema.
En el video se puede ver en la protoboard 2 micro-swichts que al ser presionados ponen en estado alto los pines del puerto de control.

No hay comentarios:
Publicar un comentario