//蜂鸣器端口
sbit Buzzer=P0^6;
/**
* @brief 蜂鸣器的私有延迟函数 100us一个周期
* @param x00us 就是几百微秒
* @retval 无
*/
void Buzzer_Delay(unsigned char x00us) //@12.000MHz
{
unsigned char i, j;
while(x00us--)
{
i = 2;
j = 39;
do
{
while (--j);
} while (--i);
}
}
/**
* @brief 蜂鸣器发声函数 通过设置
* @param x:设置蜂鸣器发声持续时间
* @retval 无
*/
unsigned int i;
void Buzzer_Time(unsigned int x)//
{
P2=P2&0x1F;
P2=P2|0xA0;
for(i=0;i<x;i++)
{
Buzzer=!Buzzer;
Buzzer_Delay(2);// 设置频率 200us一个周期 5KHz
}
P2=P2&0x1F;
}
|