微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 发光二极管和蜂鸣器

发光二极管和蜂鸣器

时间:10-02 整理:3721RD 点击:
//8个发光管来回流动,每个管亮100ms,流动时让蜂鸣器发出“滴滴”声。
//烧进去之后却与期望不符合,灯一直亮,蜂鸣器也一直响,不知道怎么搞了。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P1^4;
void yanshi(uint);
void main()
{
  uchar c,i;
  while(1)
  {
          c=0xfe;
        for(i=8;i>0;i--)
        {
          P0=c;
          beep=0;
          yanshi(50);
          beep=1;
          yanshi(50);
          c=_crol_(c,1);
        }
        c=0x7f;
        for(i=8;i>0;i--)
        {
          P0=c;
          beep=0;
          yanshi(50);
          beep=1;
          yanshi(50);
          c=_cror_(c,1);
        }
  }
}
void yanshi(uint z)
{
   uint a,b;
   for(a=z;a>0;a--);
      for(b=110;b>0;b--);
}

你BEEP=0只有50MS的时间 你能分辨出来吗?

程序正确!就是时间太短了啊!

小编,延时的第一个for不要加分号呀,加了分号可就不是z毫秒了,而是(z+b)微妙了

3楼正解,你把第一个for的分号去掉试试看。

哦,原来是这样,谢谢

恩恩   不客气

不错的资料值得收藏

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

网站地图

Top