|
发表于 2023-10-29 23:24:25
|
显示全部楼层
请教各位大侠:
驱动蜂鸣器:
延时函数:
/*******************************************************************************
* 函 数 名 : delay_10us
* 函数功能 : 延时函数,ten_us=1时,延时10us
* 输 入 : ten_us
* 输 出 : 无
*******************************************************************************/
void delay_10us(u16 ten_us) //@11.0592MHz
{
u8 j;
volatile u32 edata i;
for(j=0;j<ten_us;j++)
{
_nop_();
_nop_();
i = 26UL;
while (i) i--;
}
}
驱动主函数:
/*******************************************************************************
* 函 数 名 : buzz()
* 函数功能 : 主函数 BEEP=P1^5,接蜂鸣器
*******************************************************************************
* 函 数 名 : buzz()
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void buzz()
{
volatile u16 i=200;
while(i--)//循环2000次,查资料知道发出声音频率是2000HZ,对应频率是500微秒
{
BEEP=0; //产生一定频率的脉冲信号
delay_10us(25);
BEEP=1;
delay_10us(25);
}
i=0;//清零
BEEP=0;//关闭蜂鸣器
}
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void buzz()
{
volatile u16 i=200;
while(i--)//循环2000次,查资料知道发出声音频率是2000HZ,对应频率是500微秒
{
BEEP=0; //产生一定频率的脉冲信号
delay_10us(25);
BEEP=1;
delay_10us(25);
}
i=0;//清零
BEEP=0;//关闭蜂鸣器
}
为啥在STC32G下面就不发声音?端口都设置为准双向,弱上拉,哪位大侠帮手看看,好像是浅水淹死人 |
|