Paso 2: El código
-archivo: spider.jal--FOTO: 16F675
--objetivo: caer y levantar araña cuando el sensor de infrarrojos
--Hacer lo que quiera con el código.
incluyen f675_4i
incluyen jdelay
var bit M1 es pin_a5
pin_a5_direction = salida
var bit M2 es pin_a4
pin_a4_direction = salida
var es IR pin_a2
pin_a2_direction = entrada
var byte volátiles gpio en 0 x 05
var byte volátiles cmcon en 0x19
var byte volátiles wpu en 0x95
var byte volátiles ansel a 0x9F
cmCon = 0b0001_0111--comparador de
GPIO = 0b0000_0000--inicializar baja de pernos de la entrada-salida
--por favor consulte la hoja de datos para obtener más información acerca de registro bancario
ASM status_rp0 bsf - Banco 1
Ansel = 0b0000_0000--apague A/D, hacer los pines E/S digitales
OPCIÓN = 0b0000_0000--pedacito 7: permite finalizar todo el mundo
WPU = 0b0001_0100--finalizar individuales permiten
ASM status_rp0 de millones de pies cúbicos--volver al banco 0
--Normalmente, es alto si no detectar un haz de 38kHz IR el sensor de infrarrojos
--Si lo hace, toma la línea de baja
--el código no es robusto y se basa en el sensor para rechazar señales falsas
para siempre del lazo
M1 = alto
M2 = alto
mientras que (IR) circuito final circuito
delay_1ms (1)
if (!. IR) entonces
delay_1ms (1)
M2 = bajo
delay_100ms (7)
M2 = alto
delay_100ms (1)
M1 = bajo
delay_100ms (2)
M1 = alto
delay_100ms (1)
delay_100ms (13)
para el lazo 3
M1 = bajo
delay_10ms (12)
M1 = alto
delay_10ms (8)
bucle final
delay_100ms (8)
delay_100ms (8)
para el lazo 6
M1 = bajo
delay_10ms (6)
M1 = alto
delay_10ms (8)
bucle final
terminar si
mientras (!. IR) circuito final circuito
delay_1s (3);
lazo de final