Está en la página 1de 33

INSTITUTO POLITÉCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERÍA Y


TECNOLOGÍAS AVANZADAS

DISPOSITIVOS PROGRAMABLES

GRUPO 4BV2

PRÁCTICA2.1 SONATA MOONLIGHT POR LUDWI


G VAN BEETHOVEN

23/ABRIL/2020.

ALUMNOS

PÉREZ GONZÁLEZEDSONOSVALDO

SEGURA CABALLERO ROGELIO

PROFESOR DAVID ARTURO GUTIÉRREZ BEGÓVICH.


Objetivos

Reproducir inteligiblemente a través del único buzer que contiene la PIC16F887 los
primeros tres minutos del primer movimiento de la sonata Moonlight compuesta por
Ludwig Van Beethoven. Mediante la modulación de la frecuencia recibida por el
zumbador.

Introducción

Un buzzer o zumbador es un transductor electroacústico que produce un sonido o


zumbido continuo o intermitente, normalmente de un mismo tono (buzzer del tipo activo),
que hoy en día es usado en múltiples dispositivos de uso cotidiano para alertarnos o dar
aviso sobre algún cambio en el estado de algún sistema al cual pertenece dicho buzzer,
por ejemplo en un despertador.
Debido a que el buzer que se encuentra en la placa PIC16f887 con la que se trabaja es de
tipo pasivo, para su activación requiere además de una tensión positiva y su
correspondiente conexión a tierra, una frecuencia con la cual el tono o zumbido del buzzer
podrá ser variado según la frecuencia aplicada.
En otras palabras, cuando se provea al buzzer con una frecuencia baja el sonido que este
componente emitirá será un tono grave, cuando se aplique una frecuencia media, se
obtendrá un tono medio, mientras que cuando se alimente con una frecuencia alta se
obtendrá un sonido más agudo según el espectro audible o campo tonal del ser humano.
Conociendo las frecuencias que cada nota musical emite y mirando el tiempo que dura
cada nota al ser tocada en la partitura de la sonata, se pretende reproducir de la manera
más clara posible dicha melodía.

Marco Teórico
Escala musical
Una escala, a nivel general, consiste en una secuencia de elementos. En este caso, las
escalas musicales son secuencias de sonidos en serie que se encuentran ordenados
según su altura; cada sonido nuevo que aparece es más agudo que el anterior a medida
que la escala asciende, y más grave a medida que la escala desciende, como se
ejemplifica en la figura 1.

Figura 1.0 Tono de la nota musical de acuerdo a


su posición en el pentagrama [1].
1
La función de las escalas es establecer la base de una tonalidad y por lo tanto de una
melodía y una composición musical. Gracias a la serie de sonidos que conforman una
escala musical, se pueden realizar combinaciones entre ellos para generar nuevas
sonoridades.
El pentagrama (del griego penta: cinco, y grama: escritura, dibujo, línea) o pauta musical
es el lugar donde se escriben las notas y todos los demás signos musicales en el sistema
de notación musical occidental. Está formado por cinco líneas horizontales y cuatro
espacios o interlíneas equidistantes que se enumeran de abajo hacia arriba [1].

Clave de sol

La clave es un símbolo que se coloca en el comienzo de la partitura e indica dónde se


sitúa la nota de referencia a partir de la cual se obtienen las demás.
La clave de sol es utilizada por instrumentos agudos como el violín, la flauta, la trompeta y
por otros no tan agudos como la guitarra.

Nótese que la primera línea (la inferior) corresponde a la nota mi mientras que el primer
espacio inferior a fa. En otras palabras la notas musicales siguen sobre el pentagrama
(línea-espacio-línea) el orden natural (do, re, mi, fa, sol, la y si). Como se puede observar
en la figura 1.1, se puede escribir debajo de la primera línea (línea inferior) y sobre la
quinta línea (superior) para escribir notas más agudas o graves:

Figura 1.1 Clave de sol con todas las notas posibles para esta clave [2].

Clave de fa
La clave de fa es utilizada por instrumentos graves como el contrabajo, el violonchelo, el
fagote y el trombón.
En la figura 1.2 se puede ver la nota musical representada por cada una de las líneas y
espacios de un pentagrama con clave de fa. También se han incluido las líneas
adicionales.

Figura 1.2 Clave de fa con todas las notas posibles para esta clave. El do más
agudo que aparece sobre la primera línea adicional superior es el do central [3].

Uso combinado de clave de fa y clave de sol

2
Combinando un pentagrama con clave de sol y otro con clave de fa podemos escribir
cualquier nota, desde la más grave hasta la más aguda, ver figura 1.3.

Figura 1.3 El piano requiere del uso combinado de la clave de sol más
la clave de fa para alcanzar los tonos de hasta 4 octavas [4].

El último do de clave de fa (el más agudo) y el primero de clave de sol son la misma nota.
Es el do central. Cabe mencionar que la música para piano se escribe normalmente
usando un pentagrama en clave de sol y otro en clave de fa.

Simbología
La duración de un sonido determinado o de un silencio se representa mediante símbolos,
llamados figuras y silencios respectivamente. El símbolo de una figura musical está
formado por tres partes: cabeza, plica y corchete.
Así como existen estas figuras para representar la duración del sonido, existen también
signos que representan la duración del silencio. Así, se tiene silencio de redonda, silencio
de blanca, silencio de negra, silencio de corchea, de semicorchea, de fusa y semifusa. La
duración de los silencios es equivalente a la de las figuras correspondientes. Lo anterior
se representa en la figura 1.4 [5]

Figura 1.4 Figuras de los sonidos, representación de


los silencios y su duración [5].

3
Espectro audible
El espectro audible, también denominado campo tonal, se encuentra conformado por las
audiofrecuencias, es decir, toda la gama de frecuencias que pueden ser percibidas por el
oído humano. Un oído sano y joven es sensible a las frecuencias comprendidas entre los
20 Hz y los 20 kHz. No obstante, este margen varía según cada persona y se reduce con
la edad (se le denomina presbiacusia a la pérdida de audición con la edad).
El espectro audible varía según cada persona y se altera con la edad por eso es muy
importante cuidarlo y no exponerlo a sonidos o ruidos muy fuertes que pueden dañarlo
irremediablemente. El espectro audible puede ser subdividido en función de los tonos:

• Tonos graves (frecuencias bajas, correspondientes a las 4 primeras octavas,


esto es, desde los 16 Hz a los 256 Hz).
• Tonos medios (frecuencias medias, correspondientes a las octavas quinta, sexta
y séptima, esto es, de 256 Hz a 2 kHz).
• Tonos agudos (frecuencias altas, correspondientes a las tres últimas octavas,
esto es, de 2 kHz hasta poco más de 16 kHz).

En la figura 1.5 se muestra la forma de la onda de dos señales de un sonido agudo y de


otro grave respectivamente.

a)

b)

Figura 1.5 En a) señal de sonido agudo emitida por una señal con frecuencia alta,
mientras que en b) se presenta un sonido grave por tener una señal de frecuencia baja.

En Occidente se suele dividir el espectro audible en 11 secciones que denominamos


octavas [6].

Frecuencia de las notas

Para calcular la frecuencia de las notas musicales se debe dividir en octavas el espectro
audible antes mencionado, y a su vez las octavas en notas. Se tienen siete notas
musicales, cada una de ellas tendrá una frecuencia determinada de acuerdo a la octava
que pertenezca. Cabe mencionar que la octava inferior de una nota tendrá la mitad de
frecuencia y la octava superior tendrá el doble de frecuencia.

Por ejemplo la nota la de la tercera octava tiene una frecuencia de 440 Hz, mientras que
la de la cuarta octava tiene 880 Hz, en la segunda octava 220 Hz, etc. Por lo tanto
sabiendo la frecuencia de una nota de cualquiera de las ocho octavas de un piano de
cuatro cuartos se puede calcular la frecuencia de la misma nota para cualquier octava.

4
En la tabla 2 se presentan las frecuencias en Hertz de las siete notas musicales existentes
más cinco de las que pertenecen a las notas sostenidas.

Tabla 2. Frecuencias en Hz de las primeras octavas requeridas para


reproducir la sonata Moonlight en el buzzer de la PIC16F887 [7].

Para calcular el periodo de cada nota se sustituye la frecuencia conocida en la fórmula (1);

Y posteriormente el resultado se debe dividir entre 2, ya que es como debe estar; en alto o
en bajo para la PIC16F887, finalmente para obtener el resultado en microsegundos se
debe multiplicar por 1𝑥106.

Por ejemplo, si se desea calcular el periodo de la nota la perteneciente a la tercera octava,


se deben realizar los siguientes pasos:

𝑓 = 440 𝐻𝑧; se sustituye en (1) y se obtiene


3

Se divide T/2;

𝐹𝑖𝑛𝑎𝑙𝑚𝑒𝑛𝑡𝑒, 𝑇𝑃𝐼𝐶 = 1.136𝑥10−3 𝑠 ∗ 1𝑥106 = 1136.36 𝑢𝑠

En la tabla 3, se muestran todos los tiempos en microsegundos us de las notas


mencionadas en la tabla 2.

5
Tabla 3. Periodo en microsegundos us de las primeras octavas requeridas para
reproducir la sonata Moonlight en el buzzer de la PIC16F887 [7].

Las notas musicales pueden ser generadas usando señales cuadradas trabajando a la
frecuencia de la nota deseada. Para reproducir una melodía con el zumbador pasivo de un
microcontrolador, lo único que se requiere es la partitura ya que ella tiene toda la
información de la duración y tipo de nota.

Primer movimiento de la sonata Moonlight de Ludwig Van Beethoven Historia


Moonlight (luz de luna), es una de las obras más famosas del autor, junto con el primer
movimiento de la Quinta Sinfonía y su bagatela para piano For Elise. Fue compuesta en
1801 y estuvo dedicada a su alumna, la condesa Giulietta Guicciardi, de 17 años, y de
quien se decía que estaba enamorado.

La sonata consta de tres movimientos: adagio sostenuto, allegretto y presto agitato. El


primer movimiento es pianissimo y sólo en algunos pasajes alcanza el mezzoforte. El
apodo luz de luna se haría popular después de la muerte de Beethoven, surgiendo a raíz
de una comparación que el poeta y crítico musical alemán Ludwig Rellstab realizó entre el
primer movimiento de la pieza y la luz de luna del lago de Lucerna.
El músico contemporáneo Hector Berlioz, dijo sobre la sonata; " Es uno de esos poemas
que el lenguaje humano no es suficiente para describirlo" [8].

Buzzer o zumbador
Un zumbador (buzzer en inglés) es un dispositivo de señalización de audio, capaz de
convertir la energía eléctrica en sonido. Existen principalmente 2 tipos de zumbadores:
electromecánicos y piezoeléctrico.
Las aplicaciones típicas de los zumbadores incluyen dispositivos de alarmas,
temporizadores, como indicador de confirmación en respuesta a la entrada de datos por
parte del usuario, como un clic del ratón o la tecla, también se utilizan ampliamente en
ordenadores, impresoras, fotocopiadoras, alarmas, juguetes electrónicos, equipos de
automoción electrónico, teléfonos, temporizadores y otros productos electrónicos para los
dispositivos de sonido.
Mediante la modulación de la frecuencia recibida por el zumbador es posible generar
diferentes tonos musicales, y utilizarlos de acuerdo a las necesidades del proyecto. A
diferencia del zumbador activo este tipo de zumbador forzosamente requiere el uso de
una señal modulada para su funcionamiento. En la figura 1.6 se muestra un buzzer
común tipo pasivo.

6
El modelo AR-BUZZERP es un generador pasivo de señales de audio también conocido
como zumbador pasivo. Para conocer las principales características de este buzzer ver
tabla 3.

Figura 1.6 Módulo zumbador pasivo, responde a una señal modulada,


por lo cual puede generar diferentes tonos [9].

Tabla 3.0 Principales especificaciones técnicas del buzzer modelo AR-BUZZERP [1].
Especificaciones Técnicas

Dimensiones 25 mm x 15 mm x 10 mm
FR-4 (FR-4 es un material compuesto de tela de fibra de
Material vidrio tejida con un aglutinante de resina epoxi resistente a
las llamas (autoextinguible).
Peso 2 gramos
Voltaje de operación 5 Vcc
Corriente de operación 150 mA
Tipo de dispositivo Piezoeléctrico
Modo de operación Pasivo

Buzzer con principio de funcionamiento electromagnético


La figura 1.7 describe la estructura de un zumbador magnético. Al igual que la tecnología
piezoeléctrica, los zumbadores magnéticos están disponibles en configuraciones de
transductor e indicador. En un zumbador magnético, el transistor actúa como el circuito de
activación.
Los indicadores incluyen el transistor, que crea un tono cuando se aplica un voltaje de CC.
Los transductores carecen de este transistor, lo que requiere una señal de onda cuadrada
para funcionar correctamente.

7
Figura 1.7 Corte transversal en un zumbador tipo magnético [10].

El disco vibratorio en un zumbador magnético es atraído al polo por el campo magnético.


Cuando una señal oscilante se mueve a través de la bobina, produce un campo
magnético fluctuante que hace vibrar el disco a una frecuencia igual a la de la señal de
accionamiento.

En la figura 1.8 se esquematizan los componentes arriba mencionados.

Figura 1.8 Representación de corte transversal de un buzzer de tipo


magnético y señal de entrada modulada [10].

En la figura 1.9 se muestra un ejemplo de un circuito de operación recomendado.

Figura 1.9 Conexión de un buzer magnético tipo transductor [9].


8
Buzzer con principio de funcionamiento piezoeléctrico

En el corazón de todos los zumbadores de tipo piezoeléctrico está el elemento


piezoeléctrico. El elemento piezoeléctrico está compuesto por una cerámica piezoeléctrica
y una placa metálica unida con adhesivo, ver figura 2.0. Ambos lados de la placa cerámica
piezoeléctrica contienen un electrodo para conducción eléctrica. Los materiales
piezoeléctricos exhiben un fenómeno específico conocido como efecto piezoeléctrico y
efecto piezoeléctrico inverso. La exposición a la tensión mecánica hará que el material
desarrolle un campo eléctrico, y viceversa.

Figura 2.0 Componentes del buzzer con


funcionamiento piezoeléctrico [10].

Cuando se aplica una tensión alterna al elemento piezocerámico, el elemento se extiende


y se contrae diametralmente. Esta característica del material piezoeléctrico se utiliza para
hacer que la placa de cerámica vibre rápidamente para generar ondas de sonido.
En la figura 2.1 se esquematiza lo anterior.

Figura 1.1 Representación gráfica del movimiento diametral de las placas de material
piezoeléctrico cuando una tensión es aplicada [10].

Existen dos tipos de zumbadores piezoeléctricos: transductores e indicadores. Los


transductores consisten en una carcasa, un elemento piezocerámico y un terminal. Para
operar un transductor, el usuario debe enviar una señal de onda cuadrada al timbre. Los
indicadores consisten en una carcasa, un elemento piezocerámico, una placa de circuito y
un terminal. Para operar un indicador, el usuario debe enviar al zumbador un voltaje de
CC especificado. En la figura 2.2 se muestra el corte transversal de ambos tipos de
zumbadores piezoeléctricos.
Cabe mencionar que algunos zumbadores piezoeléctricos de dispositivos incluyen una
línea de retroalimentación. Los circuitos de activación para zumbadores con
retroalimentación tienden a ser más simples que los circuitos sin retroalimentación. La
retroalimentación se logra dividiendo el elemento piezoeléctrico en dos piezas aisladas
9
eléctricamente. Cuando se activa el elemento piezoeléctrico principal, comprime la porción
de retroalimentación, creando un voltaje en la línea de retroalimentación. Una forma
sencilla de utilizar la retroalimentación es tener la línea de retroalimentación conectada a
la base de un transistor. A medida que el elemento piezoeléctrico oscila, la señal de
retroalimentación oscilará y el transistor alternativamente bloqueará o permitirá que fluya
la corriente.

La línea de retroalimentación proporciona un voltaje que es proporcional a la tensión en el


elemento piezoeléctrico principal. Este voltaje se puede usar para crear un circuito simple
y auto oscilante.

Figura 2.2 Conformación de un zumbador tipo a)


transductor, b) indicador [10].

Dentro de los piezoeléctricos podemos encontrar 2 tipos:

• Sin oscilador: Requieren de un voltaje y un oscilador externo para funcionar


• Con oscilador: Cuentan con un oscilador interno lo que facilita el funcionamiento,
ya que solo es cuestión de aplicar voltaje.

Finalmente se cree relevante mencionar las principales diferencias, ventajas y desventajas


de los zumbadores indicadores o transductores, ya tengan como principio de
funcionamiento el fenómeno piezoeléctrico o el electromagnético.
En el caso de los zumbadores piezoeléctricos y magnéticos de tipo indicador, tienen los
circuitos de conducción integrados en el diseño, creando una solución conecta y usa.
Debido a esto, no es necesario construir un circuito complejo para accionar el timbre. Sin
embargo, la desventaja es que los indicadores operan en una frecuencia fija, lo que
reduce la flexibilidad ofrecida para lograr una frecuencia alternativa a medida que cambian
los requisitos de la aplicación.
Los transductores, por otro lado, no tienen el circuito de conducción incorporado, por lo
que a los ingenieros se les ofrece una mayor flexibilidad al diseñar su circuito. La
desventaja viene del hecho de que los transductores requieren una señal de conducción
externa para funcionar correctamente, lo que potencialmente agrega complejidad y tiempo
al ciclo de diseño.
Desarrollo Experimental

10
A continuación, se presenta el diagrama de flujo del programa

Código del programa


------------------------------------------------------------------------------------------------------
;INSTITUTO POLITECNICO NACIONAL
;UPIITA
;DISPOSITIVOS PROGRAMABLES ;23
DE ABRIL DEL 2020.
;EOPG Y SCR
;PRACTICA 2.1 SONATA MOONLIGHT DE LUDWIG VAN BEETHOVEN
;ESCRITO PARA PIC16F887 EN ENSAMBLADOR (MPLAB)
;SE BUSCA REPRODUCIR LOS PRIMEROS TRES MINUTOS DE LA SONATA ;MOONLIGHT
A TRÁVES DEL BUZER QUE CONTIENE LA PIC.
;CONOCIDA LA FRECUENCIA DE CADA NOTA, SE CALCULA EL ;TIEMPO QUE DEVE DE
DURAR CADA UNA DE ELLAS Y SE REPRODUCE ;POR MEDIO DE UNA SEÑAL TIPO
PWM.

PROCESSOR 16F887
__CONFIG 0X2007,0X23E4
__CONFIG 0X2008,0X0100
INCLUDE <P16F887.INC> Configuración inicial
ORG 0X0000 de la PIC16f887.
CLRF PORTC
BCF PORTB,RB4
BSF STATUS,RP0
BSF STATUS,RP1 ;B3.
CLRF ANSEL

CLRF ANSELH ;PA,PB Y PE = DIGITALES.


BCF STATUS,RP1 ;B1.
BCF TRISB,RB4
CLRF TRISC

BCF STATUS,RP0 ;B0.

;--------------------------------------------------------------------------

; EMPIEZA SINFONÍA SI SE PRESIONA RB0


BTFSS PORTB,RB0 ; SALTA LA SIGUIENTE LINEA DE CÓDIGO SI
RB0 DEL PUERTO B ES IGUAL A 1.
GOTO $-1 ; ESTA LÍNEA DE CÓDIGO NOS AYUDA A
INCIAR LA MELODÍA CUANDO SE PRESIONE RB0.
CALL T50MS ; LLAMA A LA SUBRITUNA T50MS
BTFSC PORTB,RB0 ;SI EL RB0 DEL PUERTO B ES CERO SE
SALTARÁ LA SIGUIENTE LINEA DEL CÓDIGO.
GOTO $-1

11
MOVLW 0X08 ; SE CARAGA A W CON LO QUE HAYA EN EL
REGISTRO 0X08.
MOVWF 0X71 ; SE CARGA AL REGISTRO 0X71 CON W.

CALL SOL_0 ; SE LLAMA A LA SUBRUTINA SOL_0, LA


CUAL REPRODUCE LA FRECUENCIA DE LA NOTA SOL.
CALL DO

CALL MI ;X8
DECFSZ 0X71,F

GOTO $-4

MOVLW 0X02

MOVWF 0X71

CALL LA_0

CALL DO

CALL MI ;X2
DECFSZ 0X71,F

GOTO $-4

MOVLW 0X02

MOVWF 0X71

CALL LA_0

CALL RE

CALL FA ;X2
DECFSZ 0X71,F

GOTO $-4

CALL SOL_0

CALL SI_0

CALL FA

CALL SOL_0

CALL DO

CALL MI

CALL SOL_0

CALL DO

CALL RE

CALL FA_0

12
CALL SI_0

CALL RE

CALL MI

CALL SOLS_0

CALL DO

CALL SOL_0

CALL DO

CALL T1S

CALL SOL_0

CALL DO

CALL MI

CALL SOL_0
CALL DO

CALL MI

CALL SOL

13
SOL

CALL RE

CALL FA

MOVLW 0X03
MOVWF 0X71

CALL SOL_0

CALL RE

CALL FA ;X3
CALL SOL

DECFSZ 0X71,F

GOTO $-4

MOVLW 0X02

MOVWF 0X71

CALL SOL_0

CALL DO

CALL MI ;X2
DECFSZ 0X71,F

MOVLW 0X02

MOVWF 0X71

CALL LA_0

CALL DO

CALL FA ;X2
DECFSZ 0X71,F

14
CALL

GOTO $-4

MOVLW 0X02

MOVWF 0X71

CALL SOL_0

CALL SI_0

CALL MI ;X2
DECFSZ 0X71,F

GOTO $-4

MOVLW 0X02

MOVWF 0X71

CALL LA_0

CALL SI_0

CALL RE ;X2
DECFSZ 0X71,F

GOTO $-4

CALL SOL_0

CALL SI_0

CALL MI

MOVLW 0X03

MOVWF 0X71

CALL SOL_0

CALL SI_0

CALL MI ;X3
DECFSZ 0X71,F

15
GOTO $-4

MOVLW 0X03

MOVWF 0X71

CALL SOL_0

CALL SI_0

CALL MI ;X3
DECFSZ 0X71,F

GOTO $-4

CALL SOL
CALL MI

CALL SOL

MOVLW 0X03

MOVWF 0X71

CALL SOL_0

CALL SI_0

CALL FA ;X3
DECFSZ 0X71,F

GOTO $-4

CALL SOL

CALL FA

CALL SOL

CALL SOL_0

CALL DO

16
CALL

CALL MI

CALL SOL_0

CALL SI_0

CALL MI

CALL SOL

CALL DO

CALL MI

CALL FA

CALL FA

CALL SOL

CALL FA

CALL FA

CALL FA

MOVLW 0X02

MOVWF 0X71

CALL SI

CALL RE

CALL FA ;X3
DECFSZ 0X71,F

GOTO $-4

CALL SI_0

CALL RE_S

17
CALL FA

CALL SI_0

CALL RE

CALL FA

CALL SI_0

CALL MI

CALL SOL

MOVLW 0X02
MOVWF 0X71

CALL SI_0

CALL MI

SOLS ;X3

DECFSZ 0X71,F

GOTO $-4

CALL SI
CALL RE

CALL FA

MOVLW 0X02

MOVWF 0X71

CALL SI_0

CALL RE

CALL FA ;X3

18
CALL

DECFSZ 0X71,F

GOTO $-4

CALL SI

CALL RE

CALL FA

MOVLW 0X02

MOVWF 0X71

CALL SI_0

CALL MI

CALL SOL
DECFSZ 0X71,F

GOTO $-4

CALL SI

CALL MI

CALL SOL

MOVLW 0X02

MOVWF 0X71

CALL SI_0

CALL RE

CALL FA ;X2
DECFSZ 0X71,F

GOTO $-4

CALL SI

19
CALL RE

CALL MI

CALL SI_0

CALL RE

CALL FA

GOTO TERMINA
:------------------------------------------------------
; OCTAVA 0
;------------------------------------------------------
FA_0:
CLRF W

MOVLW 0X2C

MOVWF 0X70

OTROFA0 BSF PORTB,RB4

CALL TFA
NOP NOP

BCF PORTB,RB4

CALL TFA
NOP

NOP

DECFSZ 0X70,F
GOTO OTROFA0
RETURN
;------------------------------------------------------
SOL_0:
CLRF W
MOVLW 0X31
MOVWF 0X70
OTROSOL0 BSF PORTB,RB4
CALL TSOL
NOP

20
CALL

NOP
BCF PORTB,RB4
CALL TSOL
NOP
NOP
DECFSZ 0X70,F
GOTO OTROSOL0
RETURN
;------------------------------------------------------
SOLS_0:
CLRF W
MOVLW 0X34
MOVWF 0X70
OTROSOLS BSF PORTB,RB4
CALL TSOLS
NOP
NOP
BCF PORTB,RB4
CALL TSOLS
NOP
NOP
DECFSZ 0X70,F
GOTO OTROSOLS
RETURN
;------------------------------------------------------
LA_0:
CLRF W
MOVLW 0X37
MOVWF 0X70
OTROLA0 BSF PORTB,RB4
CALL TLA
NOP
NOP
BCF PORTB,RB4
CALL TLA
NOP
NOP
DECFSZ 0X70,F
GOTO OTROLA0
RETURN
;------------------------------------------------------
LAS_0:
CLRF W
MOVLW 0X3A

21
MOVWF 0X70
OTROLAS0 BSF PORTB,RB4
CALL TLAS
NOP
NOP
BCF PORTB,RB4

TLAS
NOP
NOP
DECFSZ 0X70,F
GOTO OTROLAS0
RETURN
;------------------------------------------------------
SI_0:
CLRF W
MOVLW 0X3D
MOVWF 0X70
OTROSI0 BSF PORTB,RB4
CALL TSI
NOP
NOP
BCF PORTB,RB4
CALL TSI
NOP
NOP
DECFSZ 0X70,F
GOTO OTROSI0
RETURN
;------------------------------------------------------
; OCTAVA 1
;------------------------------------------------------
DO:
CLRF W
MOVLW 0X41
MOVWF 0X70
OTRODO1 BSF PORTB,RB4
CALL T1DO
NOP
NOP
BCF PORTB,RB4
CALL T1DO
NOP
NOP

22
CALL

DECFSZ 0X70,F
GOTO OTRODO1
RETURN
;------------------------------------------------------
DOS:
CLRF W
MOVLW 0X45
MOVWF 0X70
OTRODOS1 BSF PORTB,RB4
CALL T1DOS
NOP
NOP
BCF PORTB,RB4
CALL T1DOS
NOP
NOP
DECFSZ 0X70,F
GOTO OTRODOS1
RETURN
;------------------------------------------------------
RE:
CLRF W
MOVLW 0X49
MOVWF 0X70
OTRORE1 BSF PORTB,RB4

CALL T1RE
NOP
NOP
BCF PORTB,RB4
CALL T1RE
NOP
NOP
DECFSZ 0X70,F
GOTO OTRORE1
RETURN
;------------------------------------------------------
RE_S:
CLRF W
MOVLW 0X4E
MOVWF 0X70
OTRORES1 BSF PORTB,RB4
CALL T1RES
NOP

23
NOP
BCF PORTB,RB4
CALL T1RES
NOP
NOP
DECFSZ 0X70,F
GOTO OTRORES1
RETURN
;------------------------------------------------------
MI:
CLRF W
MOVLW 0X52
MOVWF 0X70
OTROMI1 BSF PORTB,RB4
CALL T1MI
NOP
NOP
BCF PORTB,RB4
CALL T1MI
NOP
NOP
DECFSZ 0X70,F
GOTO OTROMI1
RETURN
;------------------------------------------------------
FA:
CLRF W
MOVLW 0X57
MOVWF 0X70
OTROFA1 BSF PORTB,RB4
CALL T1FA
NOP
NOP
BCF PORTB,RB4
CALL T1FA
NOP
NOP
DECFSZ 0X70,F
GOTO OTROFA1
RETURN
;------------------------------------------------------
FAS:
CLRF W
MOVLW 0X5D

24
MOVWF 0X70
OTROFAS1 BSF PORTB,RB4
CALL T1FAS
NOP
NOP
BCF PORTB,RB4
CALL T1FAS
NOP
NOP
DECFSZ 0X70,F
GOTO OTROFAS1
RETURN
;------------------------------------------------------
SOL:
CLRF W
MOVLW 0X62
MOVWF 0X70
OTROSOL1 BSF PORTB,RB4
CALL T1SOL
NOP
NOP
BCF PORTB,RB4
CALL T1SOL
NOP
NOP
DECFSZ 0X70,F
GOTO OTROSOL1
RETURN
;------------------------------------------------------
SOLS:
CLRF W
MOVLW 0X68
MOVWF 0X70
OTROSOLS1 BSF PORTB,RB4
CALL T1SOLS
NOP
NOP
BCF PORTB,RB4
CALL T1SOLS
NOP
NOP
DECFSZ 0X70,F
GOTO OTROSOLS1
RETURN
;------------------------------------------------------
LA:
CLRF W
MOVLW 0X6E
MOVWF 0X70

25
OTROLA1 BSF PORTB,RB4
CALL T1LA
NOP
NOP
BCF PORTB,RB4
CALL T1LA
NOP
NOP
DECFSZ 0X70,F
GOTO OTROLA1
RETURN
;------------------------------------------------------
LAS:
CLRF W
MOVLW 0X75
MOVWF 0X70
OTROLAS1 BSF PORTB,RB4
CALL T1LAS
NOP
NOP
BCF PORTB,RB4
CALL T1LAS
NOP
NOP
DECFSZ 0X70,F
GOTO OTROLAS1
RETURN
;------------------------------------------------------
SI:
CLRF W
MOVLW 0X7B
MOVWF 0X70
OTROSI1 BSF PORTB,RB4
CALL T1SI
NOP
NOP
BCF PORTB,RB4
CALL T1SI
NOP
NOP
DECFSZ 0X70,F
GOTO OTROSI1
RETURN
;------------------------------------------------------
; OCTAVA 1
;------------------------------------------------------

26
; TIEMPO EN ALTO PARA DO 1ERA OCTAVA 7645 us
T1DO: MOVLW .18
MOVWF 0X61
MOVLW .60
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA DOS 1ERA OCTAVA 7215 us
T1DOS: MOVLW .26
MOVWF 0X61
MOVLW .39
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA RE 1ERA OCTAVA 6810 us
T1RE: MOVLW .20
MOVWF 0X61
MOVLW .48
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA RES 1ERA OCTAVA 6428 us
T1RES: MOVLW .8
MOVWF 0X61
MOVLW .114
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA MI 1ERA OCTAVA 6067 us
T1MI: MOVLW .7
MOVWF 0X61
MOVLW .123
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA FA 1ERA OCTAVA 5727 us
T1FA: MOVLW .44
MOVWF 0X61
MOVLW .18
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA FAS 1ERA OCTAVA 5405 us
T1FAS: MOVLW .4

27
MOVWF 0X61
MOVLW .192
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA SOL 1ERA OCTAVA 5102 us
T1SOL: MOVLW .76
MOVWF 0X61
MOVLW .9
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA SOL# 1ERA OCATAVA 4815 us
T1SOLS: MOVLW .4
MOVWF 0X61
MOVLW .171
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA LA 1ERA OCTAVA 4545 us
T1LA: MOVLW .5
MOVWF 0X61
MOVLW .129
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA LAS 1ERA OCTAVA 4290 us
T1LAS: MOVLW .23
MOVWF 0X61
MOVLW .26
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA SI 1ERA OCTAVA 4049 us T1SI:
MOVLW .5
MOVWF 0X64
MOVLW .1
MOVWF 0X65
MOVLW .73

28
MOVWF 0X66
CALL ST3V
RETURN
; TIEMPO EN ALTO PARA FA 0CTAVA 0 11453 us

TFA: MOVLW .11


MOVWF 0X61
MOVLW .148
MOVWF 0X62
CALL ST2V
RETURN
;-----------------------------------------------------
; TIEMPO EN ALTO PARA SOL 0CTAVA 0 10204 us

TSOL: MOVLW .1
MOVWF 0X64
MOVLW .41
MOVWF 0X65
MOVLW .35
MOVWF 0X66
CALL ST3V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA SOL# 0CTAVA 0 9631 us
TSOLS: MOVLW .74
MOVWF 0X61
MOVLW .18
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA LA OCTAVA 0 9091 us
TLA: MOVLW .89
MOVWF 0X61
MOVLW .14
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA LA# OCTAVA 0 8580 us
TLAS: MOVLW .84
MOVWF 0X61
MOVLW .14
MOVWF 0X62
CALL ST2V
RETURN
;------------------------------------------------------
; TIEMPO EN ALTO PARA SI OCTAVA 0 8099 us
TSI: MOVLW .6
MOVWF 0X61
MOVLW .192
MOVWF 0X62
CALL ST2V

29
RETURN
;------------------------------------------------------
; SUBRUTINAS DE TIEMPO

; SUBRUTINA 1S
T1S: MOVLW .11
MOVWF 0X64
MOVLW .147
MOVWF 0X65
MOVLW .88
MOVWF 0X66
CALL ST3V
RETURN
;------------------------------------------------------
; SUBRUTINA 1S

T50MS: MOVLW .9
MOVWF 0X64
MOVLW .3
MOVWF 0X65
MOVLW .222
MOVWF 0X66
CALL ST3V
RETURN
;------------------------------------------------------
TERMINA
BCF PORTB,RB4
GOTO $
INCLUDE <H:\9o\Dispotivos Programaveis\P2.1 Moonlight\SUBTIEMPO.asm> ; EN ESTA LÍNEA SE INVOCA
AL CÓDIGO DE LA SUBRUTINA DE TIEMPO CON LA DIRECCIÓN EN DONDE SE ENCUENTRA DICHO
ARCHIVO.
END ; FINALIZA EL PROGRAMA
----------------------------------------------------------------------------------------------------------------------------------------
Resultados

A continuación se muestra el link y código QR en donde se puede observar el video


donde se reproduce la sonata.

https://www.youtube.com/watch?v=iWAE3I_x20s&feature=youtu.be

30
Conclusiones individuales

Rogelio Segura Caballero: El buzzer de tipo activo es un dispositivo que responde a la


señal modulada o PWM, con lo cual se pueden obtener diferentes tonos.
Las subrutinas de tiempo no solo sirven para ahorrar espacio en el código del programa,
ya que además de reducir notablemente el tiempo de ensamble, el código es más fácil de
entender. Parecen ser una alternativa eficiente en donde se puede escribir cualquier
sección de código y después ser llamada por el programa principal, por lo tanto, se podría
obtener una completa librería de subrutinas.

Pérez González Edson Osvaldo: Conforme a los resultados obtenidos en la práctica


(videos) se pudo diferenciar las diferentes tonalidades dependiendo de la frecuencia de
cada nota musical, es de importancia decir que las señales emitidas desde el buzzer son
de baja calidad debido de igual manera al tipo de buzzer que utilizamos en ésta práctica,
sin embargo, suficientemente capaz de hacernos escuchar la melodía. De nuevo el uso
de subrutinas de tiempo en esta práctica es indispensable.

Comentarios

Dado que el sistema únicamente ofrece un buzzer, solo fue posible reproducir por medio
de este una nota musical a la vez, cuando en la realidad se toca otra casi al mismo
tiempo en la clave de fa, perdiendo de este modo fidelidad pero no inteligibilidad de la
melodía. Si las condiciones lo hubiesen permitido, conectando un buzzer y unas líneas de
código más se hubiera logrado un mayor acercamiento a la composición real.

Referencias

[1] Imagen recuperada de: https://www.escribircanciones.com.ar/teoria-


musical/4440escalas-musicales.html

[2] Disponible en:


https://anamadan2.webcindario.com/paginas_interesantes/Teoria_libro.pdf

31
[3] Imagen recuperada de: http://www.teoria.com/es/referencia/c/clave-fa.php

[4] Imagen recuperada de: http://www.teoria.com/es/referencia/s/sol-fa.php

[5] Significado de Signos musicales y su significado, Andrea Imaginario, Especialista en


Artes, Literatura Comparada e Historia. Disponible en:
https://www.significados.com/signos-musicales/

[6] Sonido y grabación. Introducción a las técnicas sonoras, McCormick, Tim, Rumsey,
Francis.

[7] Tablas disponible en: https://netandino.blogspot.com/2015/09/como-generar-


musicapara-un.html

[8] Disponible en: https://cancioneshistoria.blogspot.com/2010/09/moonlight-ludwig-


vanbeethoven.html?m=0

[9] Master Innovación en Electrónica, AR-BUZZERP, Módulo Zumbador Pasivo.


Disponible en:
http://www.master.com.mx/img/fichas/AR-BUZZERP.pdf

[10] Información e imágenes recuperadas de:


https://www.cuidevices.com/productspotlight/piezo-and-magnetic-buzzers

32

También podría gustarte