#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^2;
sbit beep=P3^7;
uchar i;
uchar song_lndex=0,Tone_lndex=0;
uchar*song_tone,*song_Time;
const LED_tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF};
Unsigned int Tone_tab[]={62018,62401,62491,62895,63184,63441,63506,63773,63965,64137,64215,64360,64488,64603,64654,64751,64836,64876,64948,65012,65067,65535};
uchar code song1_Tone[]={11,9,11,14,12,14,11,11,7,8,9,8,7,8,11,9,11,14,13,12,14,11,11,7,8,9,6,7,12,14,14,13,12,13,14,12,13,14,12,12,11,10,7,8,11,9,11,14,13,12,14,11,11,8,9,10,6,7,0xFF};
uchar code song1_Time[]={4,2,2,8,4,2,2,8,4,2,2,4,2,2,12,4,2,2,4,2,4,4,8,4,2,2,4,2,12,4,4,8,4,2,2,8,2,2,2,2,2,2,2,2,16,4,2,2,4,2,4,4,8,4,2,2,4,2,12,0xFF};
uchar code song2_Tone[]={7,8,9,7,7,8,9,7,9,10,11,9,10,11,11,12,11,10,9,7,11,12,11,10,9,7,7,4,7,7,4,7,0xff};
uchar code song2_Time[]={4,4,4,4,4,4,4,4,4,4,8,4,4,8,2,2,2,2,4,4,2,2,2,2,4,4,4,4,8,4,4,8,0xff};
uchar code song3_Tone[]={7,7,7,8,9,9,9,9,10,11,12,12,11,10,9,11,11,8,9,7,7,7,7,8,11,9,9,9,10,11,12,12,11,10,9,11,11,8,9,7,0xff};
uchar code song3_Time[]={2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,5,0xff};
uchar code song4_Tone[]={5,9,9,9,9,8,7,8,7,6,5,12,12,12,12,12,11,2,11,11,10,9,9,12,12,11,9,8,7,8,7,6,5,9,2,7,7,6,5,9,8,7,6,4,12,0xff};
uchar code song4_Time[]={2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,4,2,2,2,2,2,8,2,2,2,2,4,2,2,2,2,2,4,2,2,2,2,2,4,2,2,2,2,2,8,0xff};
uchar code song5_Tone[]={11,12,11,9,8,9,11,9,8,7,9,11,7,9,8,11,12,11,9,8,9,11,9,8,7,8,7,8,9,7,0xff};
uchar code song5_Time[]={4,4,8,4,4,8,4,4,4,4,2,2,2,2,8,4,4,8,4,4,8,4,4,4,4,2,2,2,2,8,0xff};
void delayms(uint ms)
{
uchar a;
while(ms--)
{
for(a=230;a>0;a--);
}
}
void EX_INT0() interrupt 0
{
delayms(100);
if(INT0==0)
{
TR0=0;
song_lndex++;
}
if(song_lndex==1)
{
song_Tone=song2_Tone;
song_Time=song2_Time;
}
if(song_lndex==2)
{
song_Tone=song3_Tone;
song_Time=song3_Time;
}
|