当前位置:首页 > 单片机 > 单片机
[导读]蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路

蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。

有源蜂鸣器和无源蜂鸣器的区别:

这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。
而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。3。在一些特例中,可以和LED复用一个控制口 有源蜂鸣器的优点是:程序控制方便 。

例程,参考自网络。

1 /************************************************************************

2 [文件名] C51音乐程序(八月桂花)

3 [功能] 通过单片机演奏音乐

4

5 /**********************************************************************/

6 #include

7 #include

8 //本例采用89C52, 晶振为11.0592MHZ

9 //关于如何编制音乐代码, 其实十分简单,各位可以看以下代码.

10 //频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;

11 //所以拿出谱子, 试探编吧!

12

13 sbit Beep = P1^5 ;

14

15 unsigned char n=0; //n为节拍常数变量

16 unsigned char code music_tab[] ={

17 0x18, 0x30, 0x1C , 0x10, //格式为: 频率常数, 节拍常数, 频率常数, 节拍常数,

18 0x20, 0x40, 0x1C , 0x10,

19 0x18, 0x10, 0x20 , 0x10,

20 0x1C, 0x10, 0x18 , 0x40,

21 0x1C, 0x20, 0x20 , 0x20,

22 0x1C, 0x20, 0x18 , 0x20,

23 0x20, 0x80, 0xFF , 0x20,

24 0x30, 0x1C, 0x10 , 0x18,

25 0x20, 0x15, 0x20 , 0x1C,

26 0x20, 0x20, 0x20 , 0x26,

27 0x40, 0x20, 0x20 , 0x2B,

28 0x20, 0x26, 0x20 , 0x20,

29 0x20, 0x30, 0x80 , 0xFF,

30 0x20, 0x20, 0x1C , 0x10,

31 0x18, 0x10, 0x20 , 0x20,

32 0x26, 0x20, 0x2B , 0x20,

33 0x30, 0x20, 0x2B , 0x40,

34 0x20, 0x20, 0x1C , 0x10,

35 0x18, 0x10, 0x20 , 0x20,

36 0x26, 0x20, 0x2B , 0x20,

37 0x30, 0x20, 0x2B , 0x40,

38 0x20, 0x30, 0x1C , 0x10,

39 0x18, 0x20, 0x15 , 0x20,

40 0x1C, 0x20, 0x20 , 0x20,

41 0x26, 0x40, 0x20 , 0x20,

42 0x2B, 0x20, 0x26 , 0x20,

43 0x20, 0x20, 0x30 , 0x80,

44 0x20, 0x30, 0x1C , 0x10,

45 0x20, 0x10, 0x1C , 0x10,

46 0x20, 0x20, 0x26 , 0x20,

47 0x2B, 0x20, 0x30 , 0x20,

48 0x2B, 0x40, 0x20 , 0x15,

49 0x1F, 0x05, 0x20 , 0x10,

50 0x1C, 0x10, 0x20 , 0x20,

51 0x26, 0x20, 0x2B , 0x20,

52 0x30, 0x20, 0x2B , 0x40,

53 0x20, 0x30, 0x1C , 0x10,

54 0x18, 0x20, 0x15 , 0x20,

55 0x1C, 0x20, 0x20 , 0x20,

56 0x26, 0x40, 0x20 , 0x20,

57 0x2B, 0x20, 0x26 , 0x20,

58 0x20, 0x20, 0x30 , 0x30,

59 0x20, 0x30, 0x1C , 0x10,

60 0x18, 0x40, 0x1C , 0x20,

61 0x20, 0x20, 0x26 , 0x40,

62 0x13, 0x60, 0x18 , 0x20,

63 0x15, 0x40, 0x13 , 0x40,

64 0x18, 0x80, 0x00

65 };

66

67 void int0() interrupt 1 //采用中断0 控制节拍

68 { TH0=0xd8;

69 TL0=0xef;

70 n--;

71 }

72

73 void delay (unsigned char m) //控制频率延时

74 {

75 unsigned i=3*m;

76 while(--i);

77 }

78

79 void delayms(unsigned char a) //豪秒延时子程序

80 {

81 while(--a); //采用while(--a) 不要采用while(a--); 各位可编译一下看看汇编结果就知道了!

82 }

83

84 void main()

85 { unsigned char p,m; //m为频率常数变量

86 unsigned char i=0;

87 TMOD&=0x0f;

88 TMOD"=0x01;

89 TH0=0xd8;TL0=0xef;

90 IE=0x82;

91 play:

92 while(1)

93 {

94 a: p=music_tab[i];

95 if(p==0x00) { i=0, delayms(1000); goto play;} //如果碰到结束符,延时1秒,回到开始再来一遍

96 else if(p==0xff) { i=i+1;delayms(100),TR0=0; goto a;} //若碰到休止符,延时100ms,继续取下一音符

97 else {m=music_tab[i++], n=music_tab[i++];} //取频率常数 和 节拍常数

98 TR0=1; //开定时器1

99 while(n!=0) Beep=~Beep,delay(m); //等待节拍完成, 通过P1口输出音频(可多声道哦!)

100 TR0=0; //关定时器1

101 }

102 }


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

51单片机是一种常见的微控制器,它具有串行通信接口(Serial Communication Interface,SCI)。通过串口通信接口,51单片机可以与其他设备或系统进行串行通信,实现数据传输和控制。

关键字: 51单片机 串口通信

Pic单片机和51单片机是两种应用广泛的微控制器,它们各自具有不同的特点和优势,选择哪种单片机取决于具体应用需求。下面将对Pic单片机和51单片机进行详细的介绍和对比。

关键字: PIC单片机 51单片机 单片机

电磁式蜂鸣器是蜂鸣器的一种,区别于压电式蜂鸣器,电磁式蜂鸣器是利用电磁线圈对蜂鸣片的作用来发声的电子响讯器,用来给电子产品作发声器件。

关键字: 电磁 蜂鸣器 响讯器

蜂鸣器是一种发声设备,可以将音频信号转换为声音信号。通常由直流电压供电。它广泛用作警报器,计算机,打印机和其他电子产品中的声音设备。

关键字: 蜂鸣器 计算机 打印机

大家要了解有源和无源这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。

关键字: 有源 无源 蜂鸣器 震荡源

蜂鸣器也叫压电陶瓷蜂鸣片,是压电陶瓷中应用最广的产品之一。

关键字: 蜂鸣器 极性 压电陶瓷蜂鸣片

蜂鸣器的作用 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

关键字: 蜂鸣器 复印机 报警器
关闭
关闭