Dentro De Twotones.sPin; Control De Contador Con Un Objeto - Parallax Propeller Manual Del Usuario

Kit educativo
Tabla de contenido

Publicidad

Práctica de Módulos Contadores y Aplicaciones de Circuitos
DAT
pins
byte 27, 3
'index
0
durations byte 1,
anotes
word 1047,
bnotes
word 0,

Dentro de TwoTones.spin

El objeto TwoTones declara el objeto SquareWave (ver apéndice A) en su bloque
. Este objeto tiene un método con el mismo nombre y función que
SqrWave
TerminalFrequencies, pero el código se basa en métodos adaptados del objeto CTR de la Librería
Propeller para desarrollar el cálculo
El primer ciclo
en el método
repeat
8 y 9 del arreglo
, los cuales son los registros
spr
para ver los números de pin listados en a secuencia
. El segundo ciclo
byte[@pin][index]
del bloque
. Cada secuencia tiene cinco elementos así el ciclo
bnotes
DAT
obtener cada elemento en cada secuencia.
Observe el comando
frqa := SquareWave.NcoFrqReg(word[@Anotes][index])
del objeto TwoTones. Primero
repeat
derecha de la etiqueta
anotes
cuarta vez
es 1, 2 y 3. Regresa 0 cada vez. La quinta vez
index
vez. Cada uno de estos valores regresados por
de método
SquareWave.NcoFrqReg
almacena en la variable
se convierte al valor correcto por

Control de Contador con un Objeto

Si examina el objeto SquareWave quizá note que tiene un método
modulo contador 0 o 1 para contador A o Contador B), un pin y una frecuencia. El método
considerablemente simplifica el objeto TwoTones.
Compare TwoTonesWithSquareWave (abajo) con el objeto TwoTones (arriba).
Cargue TwoTonesWithSquareWave en el chip Propeller y verifique que se comporta igual
que el objeto TwoTones.
''TwoTonesWithSquareWave.spin
''Toca notas individuales con cada bocina, luego toca notas con ambos al ''mismo tiempo.
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
OBJ
SqrWave : "SquareWave"
Pagina 150 · Kit Educativo de Prácticas Propeller: Fundamentos
1
2
2,
1,
0,
0,
0,
1319,
se inicializa el método
PlayTones
ve elementos en las secuencias
repeat
word[@Anotes][index]
. El primer ciclo
index
. Finalmente el valor regresado por
. ¿El resultado? Un valor de una frecuencia dada en la secuencia
frqa
para hacer que el modulo contador toque una nota.
frqa
' Reloj de sistema → 80 MHz
3
4
2,
1
0,
1047
0,
1319
counter
y
. La variable
ctra
ctrb
del bloque
Pins
regresa el valor de
es 0 así que regresa 1047. La segunda, tercera y
es 4 así que regresa 1047 otra
index
es un parámetro en la llamada
word[@Anotes][index]
y le da el apodo
OBJ
en el objeto
NcoFrqReg
creando los elementos
en ese ciclo es usada
index
usando
DAT
pin :=
,
durations
anotes
cataloga de 0 a 4 para
repeat
en el segundo ciclo
elementos a la
index
SquareWave.NcoFrqReg
anotes
que permite escoger el
Freq
y
se
Freq

Publicidad

Tabla de contenido
loading

Tabla de contenido