Paso 4: Fundamentos de programación
Para que charlieplexing funcione encender un led a la vez. Para que funcione con nuestro BS2 necesitamos dos pasos básicos:1. establecer los modos de salida de los pines mediante el comando de salidas.
2. Dile el BS2 que pines como salidas usando el comando DIRS
Esto funciona porque el BS2 puede decirse que los pernos a alta y baja y espera hacerlo hasta que especifique qué pines son salidas.
Vamos a ver si las cosas se enganchan correctamente por tratando de parpadear el LED 1. Si nos fijamos en el esquema que se puede ver que P0 está conectado al cátodo (-) del LED 1 y P1 está conectado al ánodo de ese mismo LED. Esto significa que queremos conducir bajo P0 y P1 alta. Esto puede ser así: "OUTS = % 11110" que conduce P4-P1 alta y baja de P0.
(% indica que un número binario es seguir. El dígito binario más bajo está siempre a la derecha. 0 = BAJA, 1 = ALTO)
El BS2 almacena esa información pero no actuar sobre ella hasta que declaramos que pines son salidas. Este paso es clave como alfileres sólo dos salidas al mismo tiempo. El resto debe ser entradas, que establece los pines en modo de alta impedancia por lo que no hundirán cualquier corriente. Necesitamos unidad de P0 y P1 por lo que las salidas estableceremos y el resto a entradas como: "DIRS = % 00011".
(% indica que un número binario es seguir. El dígito binario más bajo está siempre a la derecha. 0 = ENTRADA 1 = SALIDA)
Vamos a poner juntos eso en algún código útil:
' {$STAMP BS2e}
' {$PBASIC 2.5}
HACER
OUTS = % 11110 ' baja Drive P0 y P1-P4 alta
DIRS = % 00011 ' Set P0-P1 P2-P4 como salidas como entradas
PAUSE 250 ' pausa para LED en
DIRS = 0 ' configurar todos los pines de entrada. Esto apagará el LED
PAUSE 250 ' pausa para permanecer apagado del LED
LAZO