79-报警发声

/*-----------------------------------------------
  名称:喇叭
  论坛:www.doflye.net
  编写:shifang
  日期:2009.5
  修改:无
  内容:模拟报警声,如闹钟 滴 滴 滴 滴
------------------------------------------------*/
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

sbit SPK=P1^2;    //定义喇叭端口
unsigned char frq; 

void DelayUs2x(unsigned char t);//函数声明 
void DelayMs(unsigned char t);

/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{
 unsigned int i;

 while(1)
      {
   for(i=0;i<200;i++)
      {
      DelayUs2x(200); 
	  SPK=!SPK;
	  }
	  SPK=0;//防止一直给喇叭通电造成损坏
   for(i=0;i<200;i++)
      {
      DelayMs(1);  
	  }       
    }
}
/*------------------------------------------------
 uS延时函数,含有输入参数 unsigned char t,无返回值
 unsigned char 是定义无符号字符变量,其值的范围是
 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
 长度如下 T=tx2+5 uS 
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{   
 while(--t);
}
/*------------------------------------------------
 mS延时函数,含有输入参数 unsigned char t,无返回值
 unsigned char 是定义无符号字符变量,其值的范围是
 0~255 这里使用晶振12M,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)
{
     
 while(t--)
 {
     //大致延时1mS
     DelayUs2x(245);
	 DelayUs2x(245);
 }
}