微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机蜂鸣器控制程序和驱动电路

单片机蜂鸣器控制程序和驱动电路

时间: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;

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top