中易网

各位大虾看一下这个c51怎么弄的!

答案:3  悬赏:0  
解决时间 2021-01-18 09:57
  • 提问者网友:一抹荒凉废墟
  • 2021-01-17 16:32
各位大虾看一下这个c51怎么弄的!
最佳答案
  • 二级知识专家网友:夜风逐马
  • 2021-01-17 17:00
错误不止if一处,要想实现蜂鸣器随流水灯鸣响,应把蜂鸣器程序放在大循环中
#include
#include
#define u unsigned int
#define c unsigned char
char temp,a;
void delay(u);
void main()

{ a=0;
temp=0xfe;
{ //多余的大括号
if(a%2=0)
P2^3=0;
delay(20);
else
P2^3=1; //应该在main函数之前位声明 sbit beep=P2^3
delay(20);
}……
while(1)
{

P1=temp;
temp=_crol_(temp,1);
delay(20);
P1=temp;
}
}
void delay(u z)
{
u x,y;
for(x=150;x>0;x--)
for(y=z;y>0;y--);
}
我改过的:(效果是灯每亮一下,蜂鸣器就跟着响一下)
#include
#include
#define u unsigned int
#define c unsigned char
u temp,a;////////////////
void delay(u);
void main()

{
temp=0xfe;

while(1)
{

P1=temp;
beep=0; //假设蜂鸣器在P2^3为低电平时鸣响
delay(20);
beep=1;
delay(20);
temp=_crol_(temp,1);
}
}
void delay(u z)
{
u x,y;
for(x=150;x>0;x--)
for(y=z;y>0;y--);
}
全部回答
  • 1楼网友:末日狂欢
  • 2021-01-17 19:11
" if(a%2=0) "这句是判断条件语句,但是你你括号内“a%2=0”是赋值语句,换成“a%2==0” (判断语句)...
  • 2楼网友:低血压的长颈鹿
  • 2021-01-17 17:38
void main()

{ a=0;
temp=0xfe;
{
if(a%2==0)//加个‘=’
P2^3=0;
else
P2^3=1;
delay(20);
}
while(1)
{

P1=temp;
temp=_crol_(temp,1);
delay(20);
}
}
void delay(u z)
{
u x,y;
for(x=150;x>0;x--)
for(y=z;y>0;y--);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息