蜂鸣器驱动

#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit SPK=P1^2;    //定义喇叭端口
/******************************************************************/
/*                    延时函数声明                                */
/******************************************************************/
void delay(unsigned int cnt)
{
 while(--cnt);
}
/******************************************************************/
/*                   主函数                                       */
/******************************************************************/
main()
{
unsigned int i;
 while(1)
      {
  for(i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短
          {
          delay(80);     //参数决定发声的频率,估算值,可以自行更改参数并
          SPK=!SPK;
          }
      //  SPK=1;            //喇叭停止工作,间歇的时间,可更改
      //  delay(20000);         
 }
}


/*
//蜂鸣器连续响程序


while(1)
      {   
          int i;
  for(i=0;i<200;i++) 
         {
          delay(80);      
          SPK=!SPK;
          }
         }  */

原文地址:https://www.cnblogs.com/javawebsoa/p/3053046.html