?? beijing.c
字號:
#include <AT89X51.H>
unsigned int j;
unsigned char STH0;
unsigned char STL0;
unsigned int code tab[]={64021,64103,64260,64400, //低mi,fa,so,la
64524,64580,64684,64777, //低si,中do,re,mi
64820,64898,64968,65030, //中fa,so,la,si
65058,65110,65157,65178, //高do,re,mi,fa
65217,65252,65283,65312}; //高so,la,si,do
unsigned char code song[]={ 10,12,10,9,10,9,10,10,10,9,6,8,10,9,9,9,
9,8,6,8,9,10,12,9,10,13,12,5,9,8,8,8,
9,8,6,8,9,10,12,9,10,13,12,12,10,10,10,10,
9,10,9,8,12,13,8,8,6,10,9,9,8,8,8,0,
10,12,15,12,13,13,13,12,13,12,10,10,12,12,12,12,
10,12,13,15,16,15,12,10,9,12,12,10,10,10,10,10,
10,12,15,12,13,13,13,15,16,15,12,10,12,15,13,10,
9,10,13,17,16,16,16,16,15,15,15,15,15,15,15,0,
10,12,15,12,13,13,13,15,16,15,12,10,12,15,13,10,
9,10,13,17,16,16,16,16,16,16,16,16,//16,16,16,16,
16,15,15,0,15,15,15,15,15,15,15,15,//15,15,15,15,
0,0,
};
sbit SPK=P3^7;
void delay(unsigned char ms)
{unsigned int i;
while(ms--)
{for(i=0;i<2000;i++);
}
}
void main(void)
{
TMOD=0x01;
ET0=1;
EA=1;
while(1)
{j=0;
while(j<176)
{TR0=1;
if(song[j]==0)
TR0=0;
else
STH0=tab[song[j]]/256;
STL0=tab[song[j]]%256;
//TR0=1;
delay(12);
TR0=1;
j++;
}
}
}
void timer0(void) interrupt 1 using 0
{
TH0=STH0;
TL0=STL0;
SPK=~SPK;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -