单片机蜂鸣器控制程序和驱动电路
时间:12-26
来源:互联网
点击:
ndTime = beatTime - (beatTime >> 2);
enable = 1; //指示蜂鸣器开始发声
time++;
}else{ //当前节拍未播完则处理当前节拍
//当前持续时间到达节拍总时间时归零,
//并递增节拍索引,以准备启动新节拍
if (time >= beatTime){
time = 0;
beat++;
}else{ //当前持续时间未达到总时间时,
time++; //累加时间计数
//到达发声时间后,指示关闭蜂鸣器,
//插入 0.25*总时间的静音间隔,
if (time == soundTime){
enable = 0; //用以区分连续的两个节拍
}
}
}
}
}
/* T0 中断服务函数,用于控制蜂鸣器发声 */
void InterruptTimer0() interrupt 1{
TH0 = T0RH; //重新加载重载值
TL0 = T0RL;
tmrflag = 1;
if (enable){ //使能时反转蜂鸣器控制电平
BUZZ = ~BUZZ;
}else{ //未使能时关闭蜂鸣器
BUZZ = 1;
}
}
- 基于51单片机的两路温度控制器的设计方案(06-02)
- AVR单片机驱动有源蜂鸣器实验程序(12-01)
- 51单片机编程之蜂鸣器响生日快乐(12-01)
- 51单片机控制蜂鸣器播放5首歌曲汇编程序(11-28)
- STM32单片机TIM3蜂鸣器播放音乐(11-25)
- STM32 基于库函数控制按键 蜂鸣器 LED显示(11-25)