-
Notifications
You must be signed in to change notification settings - Fork 197
Capítulo 19: Secuenciando notas
Ejemplos de este capítulo en github
Hasta ahora hemos generado sonidos en canales diferentes, de manera independiente. Implementaremos un secuenciador que nos permita tocar 4 notas que sonarán consecutivamente en el altavoz. Reproduciremos la secuencia: DO, RE, MI, (silencio) y se volverá al comienzo. Esto nos abre la puerta a la creación de melodías sencillas :-)
Una manera de lograr la secuenciación de las notas es utilizar un multiplexor, con el que se seleccionará en cada momento el canal a escuchar En este ejemplo, tocaremos las notas DO, RE, MI, que se introducirán por las entradas 0, 1 y 2 respectivamente del multiplexor. Por la cuarta pondremos un "0" para que haya silencio.
La entrada de selección la conectamos a un contador de 2 bits, de forma que seleccione alternativamente los canales 0, 1, 2 y 3. Este contador tendrá una entrada de reloj que determinará la duración de la nota, que establecemos en 250ms.
El esquema del circuito se muestra en esta figura:
Dibujo
0 You are leaving the privative sector (EN)
1 ¡Hola mundo! (EN) (RU)
2 De un bit a datos (EN)
3 Puerta NOT (EN)
4 Contador de 26 bits (EN)
5 Prescaler de N bits (EN)
6 Múltiples prescalers (EN)
7 Contador de 4 bits con prescaler (EN)
8 Registro de 4 bits (EN)
9 Inicializador (EN)
10 Registro de desplazamiento (EN)
11 Multiplexor de 2 a 1 (EN)
12 Multiplexor de M a 1 (EN)
13 Inicializando registros (EN)
14 Registro de N bits con reset síncrono
15 Divisor de frecuencias
16 Contador de segundos
17 Generando tonos audibles
18 Tocando notas
19 Secuenciando notas
20 Comunicaciones serie asíncronas
21 Baudios y transmisión
22 Reglas de diseño síncrono
23 Controladores y autómatas finitos
24 Unidad de transmisión serie asíncrona
25 Unidad de recepción serie asíncrona
26 Memoria ROM
27 Memoria ROM genérica
28 Memoria RAM
29 Puertas triestado
30 Hacia el microprocesador y más allá