Un experto en microcontroladores puede ayudarme a ver el programa de música en el que solo mi madre es buena en el mundo y explicarme dos frases.
//En cada grupo, el primero es la escala, que es do ri mi fa..., el segundo número, 1: bajo, 2 alto, 3 agudos, y el tercero significa tiempo Número, 3 significa 3 tiempos, etc.
code unsigned char sszymmh[]={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1. , 3,2, 6,2,1, 5,2,1,
6,2,4, 3,2,2, 5,2,1, 6,2,1, 5, 2 ,2, 3,2,2, 1,2,1,
6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2 , 3, 3,2,1, 5,2,2,
5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2, 4 , 5,2,3, 3,2,1,
2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6 , 0,0,0
};
void t0int() interrupción 1
{
//El temporizador permite al hablante El interruptor de tiempo produce sonidos de diferentes frecuencias, que son las frecuencias de sílabas definidas anteriormente
TR0=0;
altavoz=!speaker;
TH0=timer0h
TL0=timer0l;
TR0=1;
}
delay(time); //Obviamente, esto es un retraso. ¿Qué hora es?
//Aquí es obvio calcular la escala de cada nota (incluido el cálculo de notas altas y bajas, 7 notas por nivel)
k=sszymmh[i ]+7*sszymmh[i+1]-1;
timer0h=FREQH[k]; //Establece los parámetros de sincronización según la frecuencia de escala para generar el sonido de la frecuencia correspondiente
timer0l =FREQL[k];
time=sszymmh[i+2]; //Retrasa algunos tiempos según la partitura
Si tienes alguna pregunta, por favor Pregunta, por favor acepta si estás satisfecho