7: Práctica de Módulos Contadores y Aplicaciones de Circuitos
Código Ejemplo de Modo DUTY de Terminación Sencilla
El objeto LedDutySweep.spin demuestra los pasos para configurar un contador DUTY terminado
sencillo y transmisión de una señal duty con un pin E/S. También cambia una variable
255 repetidamente provocando que el LED en P4 incremente gradualmente en brillo y se apague.
Cargue el objeto LedDutySweep en el chip Propeller y observe el efecto.
''LedDutySweep.spin
''Ciclo de LED P4 de apagado, brillo parcial, brillo complete.
CON
scale = 16_777_216
PUB TestDuty | pin, duty, mode
'Configura el modulo contador.
ctra[30..26] := %00110
ctra[5..0] := 4
frqa := duty * scale
'Usa contador para tomar un LED de apagado a brillo completo repitiendo a 2 Hz.
dira[4]~~
repeat
repeat duty from 0 to 255
frqa := duty * scale
waitcnt(clkfreq/128 + cnt)
Modos Duty de Terminación Sencilla vs. Diferencial
Diferencial es la segunda opción para modos DUTY, al igual que muchos otros modos contadores.
Las señales diferenciales son útiles para obtener señales a través de líneas de transmisión más largas
y se usan en Ethernet cableado, RS485 y ciertas señales de audio.
Cuando un modulo contador funciona en modo diferencial usa un pin E/S para transmitir la misma
señal que transmite la terminación sencilla junto con un segundo pin E/S que transmite la señal de
polaridad opuesta. Por ejemplo un modulo contador activado para modo diferencial puede enviar la
señal opuesta que P4 transmite en P5 o algún otro pin. Cada que la señal en P4 es alta la de P5 es baja
y viceversa. Intente modificar una copia de LedDutySweep.spin para que envíe la señal diferencial en
P5. Así en cuanto P4 se empieza a iluminar más P5 ira bajando de intensidad. Aquí están los pasos:
Guarde una copia del objeto LedDutySweep que modificara.
Para activar el modulo contador a modo DUTY diferencial cambie
ctra[30..26] := %00111.
Active el campo BPIN agregando un comando
Active P5 a salida para que la señal se transmita por el pin E/S con el comando
Usando ambos módulos contadores A y B
Usando ambos contadores para mostrar la intensidad del LED también es un ejercicio valioso. Para
obtener dos módulos contadores enviando señales duty en pins separados intente estos pasos:
Guarde otra copia del objeto original, no modificado LedDutySweep objeto.
' 2³²÷ 256
' Activa ctra a modo DUTY
' Activa APIN de ctra
' Activa registro frqa
' Activa P5 como salida
' Repite indefinidamente
' Cambia duty de 0 a 255
' Actualiza registro frqa
' Retrasa por 1/128 s
ctra[14..9] := 5
Kit Educativo de Practicas Propeller: Fundamentos · Página 137
de 0 a
duty
ctra[30..26] := %00110
dira[5]~~.
a