Red de conocimiento informático - Conocimiento informático - 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.

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()

{

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

}

}