单片机驱动蜂鸣器原理与设计

嵌入式系统 时间:2013-03-21来源:网络

  END
  #include
  unsigned char obuf1;
  unsigned char obuf2;
  unsigned int obuf3;

  bit stopb;
  bit flagb;

  void main(void)
  {
  unsigned char i,j;

  TMOD=0x02; //定时器T0初始化
  TH0=0x06;
  TL0=0x06;
  ET0=1;
  EA=1; //允许总中断

  while(1)
  {
  if(P3_2==0) //检测K1按键
  {
  P1=0x00;
  for(i=10;i>0;i--)
  for(j=248;j>0;j--);
  if(P3_2==0)
  {
  obuf1=0;
  obuf2=0;
  obuf3=0;
  flagb=0;
  stopb=0;
  TR0=1; //启动定时器T0,发出“叮咚”声
  while(stopb==0);
  P1=0xff;
  }
  }
  }
  }

  void t0(void) interrupt 1 using 0
  {
  obuf3++;
  if(obuf3==2000)
  {
  obuf3=0;
  if(flagb==0)
  {
  flagb=~flagb;
  }
  else
  {
  stopb=1;
  TR0=0;
  }
  }
  if(flagb==0)
  {
  obuf2++;
  if(obuf2==3)
  {
  obuf2=0;
  P3_7=~P3_7;
  }
  }
  else
  {
  obuf1++;
  if(obuf1==4)
  {
  obuf1=0;
  P3_7=~P3_7;
  }
  }
  }

1 2 3 4

关键词: 单片机 蜂鸣器 电子讯响器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版