|
今天我用c语言,编了个音乐程序,结果失败了(蜂鸣器只能发出噗噗的声音,不能向想象中那样实现,"多,软,米,发,说,拉,西")程序如下:请高手指点一二啊 #include <reg51.h> sbit aaa=P3^2; int delay(int t) { int i,j; for(i=0;i<t;i++) for(j=0;j<120;j++) ; } void xyf(int y) { switch(y) { case 0:aaa=1;break; case 1:TH0=0x4d;TL0=0xf7;break; case 2:TH0=0x24;TL0=0xf8;break; case 3:TH0=0xfa;TL0=0x12;break; case 4:TH0=0xfa;TL0=0x67;break; case 5:TH0=0xfb;TL0=0x03;break; case 6:TH0=0xfb;TL0=0x8f;break; case 7:TH0=0xfc;TL0=0x0b;break; } } void dyf(int x) {int m; xyf(x); switch(x) {case 0:TR0=0;break; default:TR0=1;break; } m=1; while(m) { delay(100); m=0; } TR0=0; aaa=1; } main() { TMOD=0x01; EA=1;ET0=1; while(1) { dyf(0); dyf(1); dyf(2); dyf(3); dyf(0); dyf(4); dyf(0); dyf(5); dyf(0); dyf(6); dyf(0); dyf(7); delay(500); } } void mop(void) interrupt 1 { aaa=!aaa; }
|
|