Ayúdame a escribir un programa en lenguaje C. Puede reproducir sonido cuando se ejecuta. Debe poder ejecutarse sin errores. Esta es la tarea que se debe entregar.
Contenido de aprendizaje: 1. Aplicar temporizador. 2. Utilice el puerto io para controlar el zumbador de CA y emitir un sonido. 3. Reproducir música según el principio de producción de sonido.
Efecto del programa: después de descargar este programa, escuchará el sonido de "August Osmanthus Fragrance" desde el timbre.
*/
//*******soundplay.h************
#includelt;reg51. hgt;
#ifndef __SOUNDPLAY_H_REVISION_FIRST__
#define __SOUNDPLAY_H_REVISION_FIRST__
#definir byte unsigned char
#definir palabra unsigned int
bit led1=P0^0;
bit led2=P0^1;
bit led3=P0^2;
bit led4=P0^ 3;
bit led5=P0^4;
bit led6=P0^5;
bit led7=P0^6;
sbit led8=P0^7;
sbit led_k=P2^7; //8 extremo del cátodo del diodo emisor de luz
sbit shu1=P2^6; //No. ** ** Extremo del cátodo
sbit shu2=P2^5; //2.ª posición**** Extremo del cátodo
sbit shu3=P2^4; //3.ª posición** ** Cátodo
sbit shu4=P2^3; //El cuarto bit**** cátodo
sbit altavoz=P3^3;
Contador de palabras =0;
Matriz de código de bytes[]=
{
0x18, 0x30, 0x1C, 0x10,
0x20, 0x40, 0x1C, 0x10,
0x18, 0x10, 0x20, 0x10,
0x1C, 0x10, 0x18, 0x40,
0x1C, 0x20, 0x20.0x20,
0x1C, 0x20, 0x18, 0x20,
0x20, 0x80, 0xFF, 0x20,
0x30, 0x1C, 0x10, 0x18,
0x20, 0x15, 0x20, 0x1C,
0x20, 0x20.0x20, 0x26,
0x40, 0x20, 0x20, 0x2B,
0x20, 0x26, 0x20, 0x20,
0x20, 0x30, 0x80, 0xFF,
0x20, 0x20, 0x1C, 0x10,
0x18.0x10, 0x20, 0x20,
0x26, 0x20, 0x2B, 0x20,
0x30, 0x20, 0x2B, 0x40,
0x20, 0x20, 0x1C, 0x10,
0x18, 0x10, 0x20, 0x20,
0x26, 0x20, 0x2B, 0x20,
0x30, 0x20, 0x2B, 0x40,
0x20, 0x30, 0x1C, 0x10,
0x18, 0x20, 0x15, 0x20,
0x1C, 0x20, 0x20, 0x20, <
/p>
0x26, 0x40, 0x20, 0x20,
0x2B, 0x20, 0x26, 0x20,
0x20, 0x20, 0x30, 0x80,
0x20, 0x30, 0x1C, 0x10,
0x20, 0x10, 0x1C.0x10,
0x20, 0x20, 0x26, 0x20,
0x2B, 0x20, 0x30, 0x20,
0x2B, 0x40, 0x20, 0x15,
0x1F, 0x05, 0x20, 0x10,
0x1C, 0x10.0x20, 0x20,
0x26, 0x20, 0x2B, 0x20,
0x30, 0x20, 0x2B, 0x40,
0x20, 0x30, 0x1C, 0x10,
0x18, 0x20, 0x15, 0x20,
0x1C.0x20, 0x20, 0x20,
0x26, 0x40, 0x20, 0x20,
0x2B, 0x20, 0x26, 0x20,
0x20, 0x20, 0x30, 0x30,
0x20, 0x30, 0x1C, 0x10,
0x18, 0x40, 0x1C, 0x20,
0x20, 0x20, 0x26, 0x40,
0x13, 0x60, 0x18, 0x20,
0x15, 0x40, 0x13, 0x40,
0x18, 0x80, 0x00
};
#endif
recuento de datos de bytes=0
void init_com(); p>
{
TMOD=0x01;
TH0=0xff
TL0=0xff;
EA=1;
ET0=1;
}
void timer0(void) interrupción 1 uso 3
{
counter=counter 1; //Calcular el número de tiempos
TH0=0xd8; //definir el tamaño del retraso por tiempo
TL0=0xef; p> }
retraso nulo(byte n)
{
byte i;
while(n--)
for(i=0;ilt;125;i);//retraso 1 milisegundo
}
void sound_delay(byte n)
{
byte i;
while(n--)
{
for(i=0;ilt;2;i
}
}