Parallax Propeller Manual Del Usuario página 146

Kit educativo
Tabla de contenido
Práctica de Módulos Contadores y Aplicaciones de Circuitos
''DoReMi.spin
''Toca Do6, Re6, Mi6, Fa6, Sol6, La6, Si6, Do7 como cuartos y detiene cuartos en medio.
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
PUB TestFrequency | index
'Configure ctra module
ctra[30..26] := %00100
ctra[5..0] := 27
frqa := 0
repeat index from 0 to 7
frqa := long[@notes][index]
'Transmite la señal por 1/4 s
dira[27]~~
waitcnt(clkfreq/4 + cnt)
dira[27]~
waitcnt(clkfreq/4 + cnt)
DAT
'Valores 80 MHz frqa para onda cuadrada de aproximaciones de la nota musical con el modulo
contador
'configurado a NCO:
'
Do6
Re6
notes long 56_184, 63_066, 70_786, 74_995, 84_181, 94_489, 105_629, 112_528
Ejemplo de Contador Modo NCO con bit 3 en lugar de bit 31
En modo NCO el estado de salida del pin E/S es controlado por bit 31 del registro PHS. Sin embargo
la frecuencia encendido/apagado para cualquier bit en una variable o registro puede calcularse usando
la Eq. 4 y asumiendo que un valor es sumado repetidamente a un rango dado:
frequency = (value × rate) ÷ 2
El siguiente ejemplo se puede hacer en papel y puede ayudar a clarificar como funciona
Ejemplo Bit 3: ¿A qué frecuencia cambia el bit 3 en una variable si se le agrega 4 ocho veces cada
Segundo? Aquí
es 4,
value
frequency = (value × rate) ÷ 2
= (4 × 8 Hz) ÷ 2
= 32 Hz ÷ 16
= 2 Hz
La Tabla 7-2 muestra cómo trabaja. Cada 1/8 de segundo el valor 4 se suma a una variable. Como
resultado el bit 3 de la variable cambia dos veces cada segundo a 2 Hz.
Pagina 146 · Kit Educativo de Prácticas Propeller: Fundamentos
' Reloj de sistema → 80 MHz
' Activa ctra para "NCO Terminación sencilla"
' Activa APIN a P27
' No toca notas todavía
' Asigna la frecuencia.
' Activa P27 a salida
' Espera por tono para tocar por
' Detiene 1/4 s
Mi6
Fa6
Sol6
bit + 1
es 8 Hz, y
es 3, así
rate
bit
bit + 1
3 + 1
La6
Si6
Do7
s/
Eq. 4
Tabla de contenido
loading

Tabla de contenido