C语言程序设计:生日快乐歌由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言程序设计a是什么”。
#include #include #define uchar unsigned char #define uint unsigned int sbit BEEP=P1^5;//生日快乐歌的音符频率表,不同频率由不同的延时来决定
uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0};//生日快乐歌节拍表,节拍决定每个音符的演奏长短
uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24, 9,3,12,12,12,12,12,9,3,12,12,12,24,0};
void delayms(uint xms)/ /延时程序 { uint i,j;for(i=xms;i>0;i--)
for(j=110;j>0;j--);} void xg0()//效果0 {
uint a,b;a=0xee;delayms(1000);//延时1秒
for(b=4;b>0;b--)//点亮次数
{ P0=a;//灯1和5亮
delayms(1000);
a=_crol_(a,1);//循环左移1位
} } void xg1()//效果1 {
uint a,b;a=0x77;delayms(1000);for(b=4;b>0;b--){ P0=a;//灯4和8亮
delayms(1000);
a=_cror_(a,1);//循环右移1位
} } void xg2()//效果2 { P0=0xe7;//灯4与5亮
delayms(1000);P0=0xdb;//灯3和6亮
delayms(1000);P0=0xbd;//灯2和7亮
delayms(1000);P0=0x7e;//灯1和8亮
delayms(1000);} void xg3()//效果3 { P0=0x7e;//灯1和8亮
delayms(1000);P0=0xbd;//灯2和7亮
delayms(1000);P0=0xdb;//灯3和6亮
delayms(1000);
P0=0xe7;//灯4与5亮
delayms(1000);}
//播放函数
void PlayMusic(){
uint i=0,j,k;while(SONG_LONG[i]!=0||SONG_TONE[i]!=0){ //播放各个音符,SONG_LONG 为拍子长度 for(j=0;j
PlayMusic();//播放生日快乐
BEEP=1;xg0();P0=0xff;delayms(1000);xg1();P0=0xff;delayms(1000);xg2();P0=0xff;delayms(1000);xg3();
P0=0xff;delayms(1000);} }
P1.5口