#include <reg51.h>
//do 523,re 587,mi 659,fa 698,so 784,la 880,si 988
sbit beep=P3^7;
void delay(int i) //10us
{
while(i--);
}
void music(int frequency)
{
int delaytime=100000/frequency;
int i=frequency/4;
beep=1;
while(i--)
{
beep=~beep;
delay(delaytime);
beep=~beep;
delay(delaytime);
}
i=10000;
delay(i--);
}
//仓颉副歌
unsigned char musicData[85] = {5,9,10,10, 5,9,10,10, 5,9,10,10, 5,12,10,9,8, 9,10,10,5,9,8,8,
11,10,10,9,6,5,5,5, 5,9,10,10, 5,9,10,10, 5,9,10,10, 5,12,10,9,8,8,
6,8,11,11,11,11,8,6,5,9,8,8,8};
int noteToFrequency[15] = {0,523,587,659,698,784,880,988,523*2,587*2,659*2,698*2,784*2,880*2,988*2};
void main()
{
int notechois=0;
while(1)
{
for(notechois=0;notechois<85;notechois++)
{
if( musicData[notechois]!=0)
{
music(noteToFrequency[musicData[notechois]]);
}
else
{
break;
}
}
}
}
//do 523,re 587,mi 659,fa 698,so 784,la 880,si 988
sbit beep=P3^7;
void delay(int i) //10us
{
while(i--);
}
void music(int frequency)
{
int delaytime=100000/frequency;
int i=frequency/4;
beep=1;
while(i--)
{
beep=~beep;
delay(delaytime);
beep=~beep;
delay(delaytime);
}
i=10000;
delay(i--);
}
//仓颉副歌
unsigned char musicData[85] = {5,9,10,10, 5,9,10,10, 5,9,10,10, 5,12,10,9,8, 9,10,10,5,9,8,8,
11,10,10,9,6,5,5,5, 5,9,10,10, 5,9,10,10, 5,9,10,10, 5,12,10,9,8,8,
6,8,11,11,11,11,8,6,5,9,8,8,8};
int noteToFrequency[15] = {0,523,587,659,698,784,880,988,523*2,587*2,659*2,698*2,784*2,880*2,988*2};
void main()
{
int notechois=0;
while(1)
{
for(notechois=0;notechois<85;notechois++)
{
if( musicData[notechois]!=0)
{
music(noteToFrequency[musicData[notechois]]);
}
else
{
break;
}
}
}
}