如何使无源蜂鸣器响的同时让流水灯亮?

#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharuch... #include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
sbit beep=P3^6;
void delay(uint);
void delay500(void);
void main()
{
temp=0xfe;
P1=temp;
/*while(1)
{
beep=0;
delay500();
beep=1;
delay500();
}
while(1)
{
temp=_crol_(temp,1);
P1=temp;
delay(60);
}
}
void delay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
void delay500(void)
{
uchar i;
for(i=230;i>0;i--);
完了发现两个while貌似无法同时进行,怎么解决啊。。。
展开
 我来答
housegjmei
2015-07-23 · TA获得超过379个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:195万
展开全部
  1. 用定时器定时,取代延时,空等无益,在定时中断中处理;

  2. 不加定时器的话,将其中之一嵌套到另外一个的延时当中,譬如在P1.0灯亮的时候蜂鸣器导通,P1.3的时候则令蜂鸣器关闭,如此循环。

dasuufree
2021-07-23
知道答主
回答量:1
采纳率:0%
帮助的人:472
展开全部
进入第一个while后就出不来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式