Práctica 1 microcontroladores
Enviado por opg10 • 10 de Abril de 2021 • Práctica o problema • 2.537 Palabras (11 Páginas) • 72 Visitas
[pic 1][pic 2]
Instituto Politécnico Nacional.
Escuela Superior de Ingeniería Mecánica y Eléctrica, Unidad Zacatenco.
Microprocesadores.
Alumno: Pineda García Oscar.
Boleta: 2015010848.
Grupo 6CM8.
Tarea de programación 5.
1. Investigar la frecuencia de la notas musicales (do, re, mi, fa, sol, la si) en la cuarta octava. Con esta información, calcular los retardos necesarios para generar en el microcontrolador Pic18F4550, señales cuadradas cuya frecuencia sea lo más cercana a la de cada una de las notas musicales.
La siguiente imagen muestra la frecuencia de cada una de las 12 notas en las 8 octavas.[pic 3][pic 4]
Como solo nos interesan las notas mencionadas, se realiza el cálculo del periodo y por lo tanto de retardo que deberá generar la frecuencia de la onda cuadrada de cada nota.
Nota do:
f=261.63 Hz
[pic 5]
Pero:
T=talto+tbajo
Como es una señal cuadrada, solo requiero la mitad del periodo, por lo que se tiene:
[pic 6]
Nota re:
f=293.66 Hz
[pic 7]
Pero:
T=talto+tbajo
Como es una señal cuadrada, solo requiero la mitad del periodo, por lo que se tiene:
[pic 8]
Nota mi:
f=329.63 Hz
[pic 9]
Pero:
T=talto+tbajo
Como es una señal cuadrada, solo requiero la mitad del periodo, por lo que se tiene:
[pic 10]
Nota fa:
f=349.23 Hz
[pic 11]
Pero:
T=talto+tbajo
Como es una señal cuadrada, solo requiero la mitad del periodo, por lo que se tiene:
[pic 12]
Nota sol:
f=392 Hz
[pic 13]
Pero:
T=talto+tbajo
Como es una señal cuadrada, solo requiero la mitad del periodo, por lo que se tiene:
[pic 14]
Nota la:
f=440 Hz
[pic 15]
Pero:
T=talto+tbajo
Como es una señal cuadrada, solo requiero la mitad del periodo, por lo que se tiene:
[pic 16]
Nota si:
f=493.88 Hz
[pic 17]
Pero:
T=talto+tbajo
Como es una señal cuadrada, solo requiero la mitad del periodo, por lo que se tiene:
[pic 18]
La siguiente tabla muestra un resumen de la frecuencia y del retardo correspondiente a cada nota musical.
Nota | Frecuencia (Hz). | Retardo (ms) |
Do | 261.63 | 1.911 |
Re | 293.66 | 1.703 |
Mi | 329.63 | 1.517 |
Fa | 349.23 | 1.432 |
Sol | 392 | 1.275 |
La | 440 | 1.136 |
Si | 493.88 | 1.012 |
[pic 19]
2. Calcular los valores iniciales y de la palabra de configuración del Timer 0 (hacer una tabla) para obtener los retardos necesarios en cada una de las siete notas musicales del punto anterior.
Para calcular el valor inicial y de la palabra de configuración del Timer0, se debe tomar en cuenta las siguientes tablas obtenidas de las notas de este curso.[pic 20][pic 21][pic 22][pic 23]
De la tabla 1 se observa que el retardo máximo que se requerirá es de 1.911 ms, y el mínimo será de 1.012 ms, por lo cual basta con usar el TIMER0 en modo de 8 bits, aunque en este caso, se deberá usar factores de división distintos a 1, mientras que si se usa el modo de 16 bits, no es necesario utilizar pre-escalador (factor de división=1). Con el fin de practicar se hará en ambos modos, aunque en el código se utilizará solamente el TIMER0 en modo de 8 bits.
Modo 8 bits:
[pic 24]
Modo 16 bits:
)[pic 25]
[pic 26]
Nota do:
Retardo= 1.911 ms
Modo 8 bits:
[pic 27]
Modo 16 bits:
[pic 28]
Nota re:
Retardo= 1.703 ms
Modo 8 bits:
[pic 29]
Modo 16 bits:
[pic 30]
Nota mi:
Retardo= 1.517 ms
Modo 8 bits:
[pic 31]
Modo 16 bits:
[pic 32]
Nota fa:
Retardo= 1.432 ms
Modo 8 bits:
[pic 33]
Modo 16 bits:
[pic 34]
Nota sol:
Retardo= 1.275 ms
Modo 8 bits:
[pic 35]
Modo 16 bits:
[pic 36]
Nota la:
Retardo= 1.136 ms
Modo 8 bits:
[pic 37]
Modo 16 bits:
[pic 38]
Nota si:
Retardo= 1.012 ms
Modo 8 bits:
[pic 39]
Modo 16 bits:
[pic 40]
T0CON | ||||||||||
Nota | Valor inicial modo 8 bits | Valor inicial modo 16 bits | TMR0ON | T08BIT | T0CS | T0SE | PSA | T0PS2 | T0PS1 | T0PS0 |
Do | 77 | A66C16 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
Re | 97 | B02C16 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
Mi | 114 | B8E416 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
Fa | 122 | BCE016 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
Sol | 17 | C43C16 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
La | 43 | CAC016 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
Si | 66 | D09016 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
[pic 41]
3. Elaborar el diagrama de flujo y la codificación en lenguaje ensamblador para el Pic18F4550, de un programa que mediante el Timer 0 puede generar 3 de las 7 notas musicales. Para ello, el circuito tendrá 4 interruptores (ON/OFF y 3 botones adicionales, uno para cada nota musical). Cuando el circuito se encuentre encendido y se oprima (cierre) un interruptor, el micro entregará en la terminal RA0 una onda cuadrada cuya frecuencia corresponde a la nota elegida. Si no se oprime ningún botón, o si se oprimen al mismo tiempo 2 o las 3 notas musicales, la salida del micro debe ser igual a cero lógico (no se genera onda cuadrada).
...