为什么我这个单片机电子琴程序用不了?
时间:10-02
整理:3721RD
点击:
为什么我这个单片机电子琴程序会失败?写进去做不了电子琴
#include<reg52.h>
void delay(unsigned char us) //误差 -0.234375us
{
unsigned char a;
while(us--)
{for(a=3;a>0;a--);
}
}
void main()
{
if(P1=0x7f)
{
while(1)
{
delay(143);
P0^0==1;
delay(143);
P0^0==0;
}
}
else if(P1=0xbf)
{
while(1)
{
delay(128);
P0^0==1;
delay(128);
P0^0==0;
}
}
else if(P1=0xdf)
{
while(1)
{
delay(114);
P0^0==1;
delay(114);
P0^0==0;
}
}
else if(P1=0xef)
{
while(1)
{
delay(101);
P0^0==1;
delay(101);
P0^0==0;
}
}
else if(P1=0xf7)
{
while(1)
{
delay(96);
P0^0==1;
delay(96);
P0^0==0;
}
}
else if(P1=0xfb)
{
while(1)
{
delay(85);
P0^0==1;
delay(85);
P0^0==0;
}
}
else if(P1=0xfd)
{
while(1)
{
delay(76);
P0^0==1;
delay(76);
P0^0==0;
}
}
else if(P1=0xfe)
{
while(1)
{
delay(71);
P0^0==1;
delay(71);
P0^0==0;
}
}
else if(P2=0x7f)
{
while(1)
{
delay(63);
P0^0==1;
delay(63);
P0^0==0;
}
}
else if(P2=0xbf)
{
while(1)
{
delay(57);
P0^0==1;
delay(57);
P0^0==0;
}
}
else if(P2=0xdf)
{
while(1)
{
delay(51);
P0^0==1;
delay(51);
P0^0==0;
}
}
else if(P2=0xef)
{
while(1)
{
delay(47);
P0^0==1;
delay(47);
P0^0==0;
}
}
else if(P2=0xf7)
{
while(1)
{
delay(42);
P0^0==1;
delay(42);
P0^0==0;
}
}
else if(P2=0xfb)
{
while(1)
{
delay(37);
P0^0==1;
delay(37);
P0^0==0;
}
}
else if(P2=0xfd)
{
while(1)
{
delay(35);
P0^0==1;
delay(35);
P0^0==0;
}
}
else if (P2=0xfe)
{
while(1)
{
delay(32);
P0^0==1;
delay(32);
P0^0==0;
}
}
else
P0^0==0;
}
#include<reg52.h>
void delay(unsigned char us) //误差 -0.234375us
{
unsigned char a;
while(us--)
{for(a=3;a>0;a--);
}
}
void main()
{
if(P1=0x7f)
{
while(1)
{
delay(143);
P0^0==1;
delay(143);
P0^0==0;
}
}
else if(P1=0xbf)
{
while(1)
{
delay(128);
P0^0==1;
delay(128);
P0^0==0;
}
}
else if(P1=0xdf)
{
while(1)
{
delay(114);
P0^0==1;
delay(114);
P0^0==0;
}
}
else if(P1=0xef)
{
while(1)
{
delay(101);
P0^0==1;
delay(101);
P0^0==0;
}
}
else if(P1=0xf7)
{
while(1)
{
delay(96);
P0^0==1;
delay(96);
P0^0==0;
}
}
else if(P1=0xfb)
{
while(1)
{
delay(85);
P0^0==1;
delay(85);
P0^0==0;
}
}
else if(P1=0xfd)
{
while(1)
{
delay(76);
P0^0==1;
delay(76);
P0^0==0;
}
}
else if(P1=0xfe)
{
while(1)
{
delay(71);
P0^0==1;
delay(71);
P0^0==0;
}
}
else if(P2=0x7f)
{
while(1)
{
delay(63);
P0^0==1;
delay(63);
P0^0==0;
}
}
else if(P2=0xbf)
{
while(1)
{
delay(57);
P0^0==1;
delay(57);
P0^0==0;
}
}
else if(P2=0xdf)
{
while(1)
{
delay(51);
P0^0==1;
delay(51);
P0^0==0;
}
}
else if(P2=0xef)
{
while(1)
{
delay(47);
P0^0==1;
delay(47);
P0^0==0;
}
}
else if(P2=0xf7)
{
while(1)
{
delay(42);
P0^0==1;
delay(42);
P0^0==0;
}
}
else if(P2=0xfb)
{
while(1)
{
delay(37);
P0^0==1;
delay(37);
P0^0==0;
}
}
else if(P2=0xfd)
{
while(1)
{
delay(35);
P0^0==1;
delay(35);
P0^0==0;
}
}
else if (P2=0xfe)
{
while(1)
{
delay(32);
P0^0==1;
delay(32);
P0^0==0;
}
}
else
P0^0==0;
}
程序要与你的硬件相关的,
你的程序是网上的还是自己写的。
是不出声还是声音不对
你这每个while都是死循环,按下估计会一直响
自己写的,不出声
那怎么改
