📄 ly1.c
字号:
#include"lcd.h"
#define uchar unsigned char
#define uint unsigned int
uchar code *xdata music;
uchar code *xdata music_name;
uchar code tab[]={0xf8,0x94,0xf9,0x5c,0xfa,0x1a,0xfa,0x6a,0xfb,0x00,0xfb,0x8c,0xfc,0x0e,
0xfc,0x4a,0xfc,0xae,0xfd,0x08,0xfd,0x30,0xfd,0x80,0xfd,0xc6,0xfe,0x02,
0xfe,0x2a,0xfe,0x5c,0xfe,0x84,0xfe,0x98,0xfe,0xc0,0xfe,0xe8,0xfe,0x06};
uchar code music_name1[20]={0xc9,0xfa,0xc8,0xd5,0xbf,0xec,0xc0,0xd6,0x20,0x20,0x20,0x20,0x20,0x20,0xff};//生日快乐
uchar code music1[]={0x82,0x01,0x81,0x94,0x84,0xB4,0x04,0x04,0x82,0x01,0x81,0x94,
0x84,0xC4,0xB4,0x04,0x82,0x01,0x81,0xF4,0xD4,0xB4,0xA4,0x94,
0x04,0xE2,0x01,0xE1,0xD4,0xB4,0xC4,0xB4,0x04,0xff};
uchar code music_name2[20]={0xc1,0xbd,0xd6,0xbb,0xc0,0xce,0xbb,0xa2,0x20,0x20,0x20,0x20,0x20,0x20,0xff};//两只老虎
uchar code music2[]={0x44,0x54,0x64,0x44,0x44,0x54,0x64,0x44,0x64,0x74,0x88,0x64,
0x74,0x88,0x82,0x92,0x82,0x72,0x64,0x44,0x82,0x92,0x82,0x72,
0x64,0x44,0x54,0x14,0x48,0x54,0x14,0x48,0xff};
uchar code music_name3[20]={0xd0,0xc2,0xc4,0xea,0xbf,0xec,0xc0,0xd6,0x20,0x20,0x20,0x20,0x20,0x20,0xff};//新年快乐
uchar code music3[]={0x42,0x42,0x44,0x14,0x02,0x62,0x62,0x64,0x44,0x04,0x42,0x62,
0x84,0x84,0x02,0x72,0x62,0x54,0x04,0x52,0x62,0x74,0x74,0x02,
0x62,0x52,0x64,0x44,0x04,0x42,0x62,0x54,0x14,0x02,0x32,0x52,
0x44,0x04,0xff};
uchar code music_name4[20]={0xb9,0xfe,0xb0,0xcd,0xb9,0xb7,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xff};//哈巴狗
uchar code music4[]={0x42,0x42,0x42,0x52,0x64,0x04,0x62,0x62,0x62,0x72,0x84,0x04,
0x92,0x92,0x82,0x72,0x64,0x04,0x82,0x82,0x52,0x62,0x44,0x04,
0x42,0x42,0x42,0x52,0x84,0x04,0x62,0x62,0x62,0x72,0x84,0x04,
0x92,0x92,0x82,0x72,0x64,0x04,0x82,0x82,0x52,0x62,0x44,0x04,
0xff};
uchar code music_name5[20]={0xc0,0xbc,0xbb,0xa8,0xb2,0xdd,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xff};//兰花草
uchar code music_name6[20]={0xbc,0xc7,0xca,0xc2,0xb1,0xbe,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xff};//记事本
uchar code music_name7[20]={0xc2,0xcc,0xb5,0xba,0xd0,0xa1,0xd2,0xb9,0xc7,0xfa,0x20,0x20,0x20,0x20,0xff};//绿岛小夜曲
uchar code music_name8[20]={0xcd,0xe4,0xcd,0xe4,0xb5,0xc4,0xd4,0xc2,0xc1,0xc1,0x20,0x20,0x20,0x20,0xff};//弯弯的月亮
uchar code music_name9[20]={0xd7,0xa3,0xc4,0xe3,0xc6,0xbd,0xb0,0xb2,0x20,0x20,0x20,0x20,0x20,0x20,0xff};//祝你平安
uchar code music_name10[20]={0xbb,0xd3,0xd7,0xc7,0xb3,0xe1,0xb0,0xf2,0xb5,0xc4,0xc5,0xae,0xba,0xa2,0xff};//挥着翅膀的女孩
uchar data count;
uchar data flag;
uchar data stl0;
uchar data sth0;
uchar data l;
uchar data key;
sbit Speaker=P3^1;
unsigned char bdata key;
//void delay_music(void);
void delay(int i);
void KeyScan(void);
main()
{
uint i,k,j;
TMOD=0x11;
TH1=0xb9;
TL1=0xb0;
EA=1;
ET0=1;
ET1=1;
check_lcd();
flag=0;
do
{
Speaker=1;
KeyScan();
lcd_busy();
w_c_add=0x80;
for(i=0;i<6;i++)
{
lcd_busy();
w_d_add=0x20;
w_d_add=0x20;
}
lcd_show(music_name);
do
{
P3|=0x01;
delay(1);
key=P1;
j=0;
while(*(music+j)!=0xff)
{
k=*(music+j)&0x0f;
l=*(music+j)>>4;
sth0=tab[2*l];
stl0=tab[2*l+1];
TH0=sth0;
TL0=stl0;
TR0=1;
TR1=1;
do{}while(flag<k);
j++;
}
}while(key!=0xfb);
TR0=0;
TR1=0;
}while(1);
}
void delay(int i)
{
int j,k;
for(j=0;j<i;j++)
{
k=0x0f;
while(k--);
}
}
void KeyScan(void)
{
uchar k;
while(1)
{
P3&=0xfe;
delay(1);
k=P1;
if(k!=0xff)
{
delay(10);
P3&=0xfe;
delay(1);
k=P1;
while((P1&0xff)!=0xff);
if(k!=0xff)
{
switch(k)
{
case 0xfe:music_name=music_name1;music=music1;break;
case 0xfd:music_name=music_name2;music=music2;break;
case 0xfb:music_name=music_name3;music=music3;break;
case 0xf7:music_name=music_name4;music=music4;break;
case 0xef:music_name=music_name5;break;
case 0xdf:music_name=music_name6;break;
case 0xbf:music_name=music_name7;break;
case 0x7f:music_name=music_name8;break;
}
return;
}
}
P3|=0x01;
delay(1);
k=P1;
if(k!=0xff)
{
delay(10);
P3|=0x01;
delay(1);
k=P1;
while((P1&0xff)!=0xff);
if(k!=0xff)
{
switch(k)
{
case 0xfe:music_name=music_name9;break;
case 0xfd:music_name=music_name10;break;
}
return ;
}
}
}
}
void timer0(void) interrupt 1 using 1
{
TL0=stl0;
TH0=sth0;
Speaker=!Speaker;
}
void timer1(void) interrupt 3 using 2
{
TH1=0xb9;
TL1=0xb0;
count++;
if(count==10)
{
count=0;
flag++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -