Parallax Propeller Manual Del Usuario página 158

Kit educativo
Tabla de contenido
Práctica de Módulos Contadores y Aplicaciones de Circuitos
lenguajes de programación donde el tiempo es justo, pero no tiene un impacto significativo en la
interpretación del programa en lenguaje Spin
Los pasos para programar un contador aun contemplan la activación del campo bit de CTRMODE del
registro CTR (bits 30..26) y su bit de campo APIN (bits 5..0) junto con la programación del registro
FRQ al valor que debería ser sumado al registro PHS cuando se detecta al límite. Antes de la
medición pueden activarse a cero.
ctrb[30..26] := %01110
ctrb[5..0] := 27
frqb~
phsb~
Un ejemplo del siguiente programa que demuestra una forma de usar el modo detector NEGEDGE
para controlar la duración de un tono tocado en una bocina. El modulo contador A se activa para
transmitir una onda cuadrada de 2kHz en modo NCO de terminación sencilla en el mismo pin E/S que
el registro del contador B va a monitorear con el modo detector NEGEDGE. El registro
a 1 para que con cada ciclo de reloj se sume 1 a
2000 ciclos. El comando
para detener el sonido después de que se han detectado los 2000 cambios.
frqa
frqb := 1
frqa := SquareWave.NcoFrqReg(2000)
repeat while phsb < 2000
frqa~
Censando: Este ejemplo censa el registro phsb esperando a que el numero de cambios exceda un cierto
valor, pero no necesariamente necesita censar durante los 2000 ciclos. Esto libera el cog para hacer algunas
cosas mientras la señal se está transmitiendo y verifica periódicamente para revisar que tan cerca esta phsb
de los 2000 cambios.
Cargue CountEdgeTest.spin en el chip Propeller y verifique que el contador de limites se
puede usar para controlar la duración de un tono.
{{
CountEdgeTest.spin
Transmite la señal NCO con el contador A
Usa el contador B para monitorear los límites negativos de la señal
Y detener la señal después de los 2000.
}}
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
OBJ
SqrWave
: "SquareWave"
PUB TestFrequency
' Configura Módulos Contadores.
ctra[30..26] := %00100
ctra[5..0] := 27
ctrb[30..26] := %01110
Pagina 158 · Kit Educativo de Prácticas Propeller: Fundamentos
frqb
repeat while phsb < 2000
. Para tocar un tono de 2kHz por 1 segundo toma
solo permite al programa continuar y limpiar
'Reloj de Sistema → 80 MHz
'ctra modulo a modo NCO
'ctrb modulo a NEGEDGE detector
se activa
frqb
Tabla de contenido
loading

Tabla de contenido