Estudio de Soluciones
Soluciones a Proyectos de la Practica E/S y Tiempo
1) Ejemplo de Solución:
''File: NonActuatedStreetlights.spin
''Un prototipo alta velocidad de semáforo controlador N/S E/O.
PUB StreetLights
dira[9..4]~~
repeat
outa[4..9] := %001100
waitcnt(clkfreq * 8 + cnt)
outa[4..9] := %010100
waitcnt(clkfreq * 3 + cnt)
outa[4..9] := %100001
waitcnt(clkfreq * 8 + cnt)
outa[4..9] := %100010
waitcnt(clkfreq * 3 + cnt)
2) Ejemplo de Solución:
''File: ActuatedStreetlightsEW.spin
''Un prototipo alta velocidad de semáforo controlador N/S E/O.
PUB StreetLightsActuatedEW
dira[9..4]~~
repeat
outa[4..9] := %001100
repeat until ina[21]
waitcnt(clkfreq * 3 + cnt)
outa[4..9] := %010100
waitcnt(clkfreq * 3 + cnt)
outa[4..9] := %100001
waitcnt(clkfreq * 8 + cnt)
outa[4..9] := %100010
waitcnt(clkfreq * 3 + cnt)
3) Ejemplo de Solución:
''File: LedFrequenciesWithoutCogs.spin
''Experimente la molestia de desarrollar procesos que de otra
''manera podrían funcionar de manera independiente en Cogs
''separados. En este ejemplo, los LED parpadean a 1, 2, 3, 5, 7 y
'' 11Hz.
CON
_xinfreq = 5_000_000
_clkmode = xtal1 + pll16x
T_LED_P4 = 2310
T_LED_P5 = 1155
T_LED_P6 = 770
T_LED_P7 = 462
T_LED_P8 = 330
T_LED_P9 = 210
PUB Blinks | T, dT, count
Pagina 202 · Kit Educativo de Prácticas Propeller: Fundamentos
' Activa pins E/S a salida
' Ciclo principal
' N/S verde, E/O rojo
' 8 s
' N/S amarillo,E/O rojo
' 3 s
' N/S rojo, E/O Verde
' 8 s
' N/S rojo,E/O amarillo
' 3 s
' Activa pins E/S a salida
' Ciclo Principal
' N/S verde, E/O rojo
' Auto en calle E/O
' 8 s
' N/S amarillo,E/O rojo
' 3 s
' N/S rojo, E/O verde
' 8 s
' N/S rojo,E/O amarillo
' 3 s
' 5 MHz cristal externo
' 5 MHz cristal multiplicado → 80 MHz
' Constantes de incremento de tiempo