#define uchar unsigned char
#define uint unsigned int
sbit SPK=P1^0
sbit K1=P1^7
//发声函数,注意这里是用扬声器做陵哗,纯行不能用普通的蜂汪肆鸣器
void Alarm(uchar t)
{
uchari,j
for(i=0i<200i++)
{
SPK=~SPK
for(j=0j<tj++)//由参数t行成不同的频率产生不同的声音
}
}
voidmain()
{
SPK=0
while(1)
{
if(K1==1)
{
Alarm(90)
Alarm(120)
}
}
}
51单片机蜂鸣器程序为:
#include"reg52.h"
typedef unsigned char u8
typedef unsigned int u16
sbit beep=P1^5
void delay(u16 i)
{
while(i--)
}
void main()
{
while(1)
{
beep=~beep
delay(1000)//控制音调频率
beep=~beep/控制声音大小
delay(10)
}
}
扩展资料:
BUZZER蜂鸣器的分类:
1、按其驱动方式的原理分,可分为:有源蜂鸣器(内含驱动线路,也叫自激式蜂鸣器)和无源蜂鸣器(外部驱动,也叫他激式蜂鸣器)。
2、按构造方式的不同,可分为:电磁式蜂鸣器和压电式蜂鸣器。
3、按封装的不同,可分为:DIP BUZZER(插针蜂鸣器)和SMD BUZZER(贴片式蜂鸣器)。
4、按电流的不同,可分为:直流蜂鸣器和交流蜂鸣器,其中,以直流最为常见压电式蜂鸣器,用的是压电腔团庆材料,即当受到外力导致压电材料发生形变时压电材料会产生电荷。同样,当通电时压电材料会发生形变或丛。
电磁式蜂鸣器,主要是利用通电导体会产生磁场的特性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜伍握。
由于两种蜂鸣器发音原理不同,压电式结构简单耐用但音调单一音色差,适用于报警器等设备。而电磁式由于音色好,所以多用于语音、音乐等设备。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)