Paso 3: Programación del microcontrolador
El código del microcontrolador trabaja monitoreando la señal de entrada de AC de los opto-aisladores. La señal de AC de la señal aparece como pulsos a un ritmo de 60 Hz, que es un promedio de tiempo para convertir a una señal DC, que es luego debounced. Cuando una señal debounced (pérdida de señal) se detecta o que se activa la salida correspondiente (encendido o apagado) de 1/2 segundo. Las salidas tiran el controlador Mini X-10 interruptor de contacto, que normalmente es flotante, a Vcc o a tierra. Alguna lógica adicional evita que las salidas de la conmutación en más de una vez cada 5 segundos con el fin de evitar el sistema X-10 de control de inundaciones.
PIC12F508 archivo hexadecimal:
: 020000040000FA
: 1000000025006600090C0600DF0C0200670068008E
: 100010006900410C2A006B006C004C0C2F004B0C4B
: 10002000300047056705E706190AE107130AE705E7
: 10003000130AE106130AE70404000607AB02660789
: 10004000AC02EA02570A0F0C8B000307330A3C0C80
: 10005000880143063B0AA8023C0C880143073B0A7F
: 10006000C705A6053B0A280243063B0AE8004307EA
: 100070003B0AC704A6040F0C8C0003074B0A3C0C78
: 1000800089014306530AA9023C0C89014307530A1C
: 10009000A7058605530A29024306530AE9004307C8
: 1000A000530AA7048604410C2A006B006C00C707A2
: 1000B000A7065E0A8707620A8704610A8706620A42
: 1000C000870567052707710AEE02930AED02930A76
: 1000D00026044604270447054C0C2F004B0C300027
: 1000E000930A47077E0AF002930AEF02930A470435
: 1000F000D60C3100930C3200A40C330067078C0A35
: 1001000067048706850A4605860A26052705070C23
: 100110002D00A10C2E00930AF302930AF202930A17
: 08012000F102930A800A130AA0
: C 0401280000080008 3
: 0203FE008C0C65
: 021FFE00EE0FE4
: 00000001FF