五月的荣光Ec flyFMJ
关注数: 2 粉丝数: 8 发帖数: 115 关注贴吧数: 30
这是一个音乐51代码,不知错在哪 #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit fm=P3^6; uchar timeh,timel,i; uchar code qnzl[]={ 0x54,0x32,0x52,0x88,0x64,0x84,0x58,0x54, 0x12,0x22,0x34,0x22,0x12,0x28,0x04,0x4, 0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58, 0x54,0x22,0x32,0x46,0xf2,0x18,0x08, 0x64,0x84,0x88,0x74,0x62,0x72,0x88,0x62, 0x72,0x82,0x62,0x62,0x52,0x32,0x12,0x28,0x08, 0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58, 0x54,0x22,0x32,0x46,0xf2,0x18,0x08,0xff, 0x54,0x32,0x52,0x88,0x64,0x84,0x58,0x54, 0x12,0x22,0x34,0x22,0x12,0x28,0x04,0x4, 0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58, 0x54,0x22,0x32,0x46,0xf2,0x18,0x08, 0x64,0x84,0x88,0x74,0x62,0x72,0x88,0x62, 0x72,0x82,0x62,0x62,0x52,0x32,0x12,0x28,0x08, 0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58, 0x54,0x22,0x32,0x46,0xf2,0x18,0x08,0xff }; uchar code cuzhi[]={ 0xff,0xff, 0xFC,0x44,0xfc,0xad,0xfd,0x0a,0xfd,0x34, 0xfd,0x83,0xfd,0xc8,0xfe,0x06, 0xfe,0x22,0xfe,0x57,0xfe,0x85,0xfe, 0x9b,0xfe,0xc2,0xfe,0xe4,0xff,0x03, 0xfc,0x58 }; void song(); void delaylms(uint z); void delay(uint z); void main() { EA=1; ET0=1; TMOD=0x01; TH0=0; TL0=0; TR0=1; while(1) { song(); delaylms(1000); void timer0() interrupt 1 TH0=timeh; TL0=timel; fm=~fm; void song() {uint temp; uchar jp; i=0; while(1) {temp=qnzl[i]; if (temp ==0xff) break;//跳出WHHILE(循环, jp=temp/16;//高四位,是音频 ,? if(jp!=0) { timeh=cuzhi[jp*2]; timel=cuzhi[jp*2+1]; } else { TR0=0; fm=1; } delay(temp%16);//低四位哦,是音节拍i , TR0=0; fm=1; delaylms(1); TR0=1; i++; } TR0=0; fm=1; } void delaylms(uint z)//延时1MS, {uint x,y; for(x=z;x>0;x--) for(y=112;y>0;y--); } void delay(uint z)//延时165MS,即是1/4,拍, {uint x,y; for(x=z;x>0;x--) for(y=19000;y>0;y--); } }
1 下一页