天天看点

蜂鸣器驱动

#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);      

         }

 */