微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么我这个单片机电子琴程序用不了?

为什么我这个单片机电子琴程序用不了?

时间: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;
}

程序要与你的硬件相关的,
你的程序是网上的还是自己写的。
是不出声还是声音不对

你这每个while都是死循环,按下估计会一直响

自己写的,不出声

那怎么改

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top