凯发k8娱乐旗舰app下载,凯发k8娱乐官网入口,凯发k8官网下载

凯发k8娱乐旗舰app下载,凯发k8娱乐官网入口,凯发k8官网下载

欢迎来到泰州福声电子科技有限公司官方网站,这是一家贴片式无源蜂鸣器、高分贝报警器、喇叭厂家、蜂鸣器厂家!
15722819198
蜂鸣器电路原理
发布:fsdzsz 浏览:5527次

    蜂鸣器从机构鉴别包括光电探测器式蜂鸣器和涡流炉式蜂鸣器。光电探测器式为光电探测器瓷质片拼音字母发音,电流值相当小其他,涡流炉式蜂鸣器为电磁铁通电声音拼音字母发音,大小相当小。 蜂鸣器从成分分清可分成电容式式蜂鸣器和涡流式蜂鸣器。电容式式为电容式淘瓷片拼音拼读,电流大小是较小部分,涡流式蜂鸣器为磁圈通电电流声拼音拼读,体积太是较小。

 

  依照驱程措施分为有源蜂鸣器和无源蜂鸣器。我也的有源和无源不应是电,更是谐振器源。有源蜂鸣器企业内部带了谐振器源,如下图 9-8 一样中,给了 BUZZ 引脚有一个低电平,蜂鸣器就能可以直接响。而无源蜂鸣器里面的就是带振荡器源的,要不然响要给 500Hz~4.5KHz 之中的脉冲发生器速度信号灯来驱程它才会响。有源蜂鸣器总是比无源蜂鸣器贵许多,正因为里多了震荡用电线路,驱程读音也简简单单,靠电平就会驱程,而无源蜂鸣器的价格较好廉价,另外无源蜂鸣器说话声速度会把控好,而音阶与速度又有确定好的相对应的的关联,由此就会作成来“do re mi fa sol la si”的作用,能够用它设计制作出简短的背景音乐重点,就像生日会歌、两支东北虎……。

 

  图 9-8 蜂鸣器线路设计原理图

 blob


单支机蜂鸣器调控子程序和驱动安装电线典型示范规划成功案例

 

  凯发k8娱乐旗舰app下载,凯发k8娱乐官网入口,凯发k8官网下载大家来搜一下吧图 9-8 的控制电路,蜂鸣器工作电流依旧会相很大,如此必须要用三级管能够,还加好几回个 100 欧的电容成为限流电容。不仅而且还加了一大个 D4 二级管,这样的二级管叫续流二级管。大家的蜂鸣器是理想化电子元件,当二极管导通给蜂鸣器电力时,就也会有导通功率流回蜂鸣器。而大家直到,电感的一名优势特点只是 功率不可突变的,导通时功率是开始加高的,事儿未情况,但当关断时,经“电-三级管-蜂鸣器-地”这家管路就切断了,过不得一切瞬时电流值了,很贮藏的瞬时电流值往哪里去呢,也就是路过这家 D4 和蜂鸣器人体的环路来需求量全掉,导致就防止出现了关断时因电感工作感应电流发生的反相冲击力。转续关断时的工作感应电流,这即是续流电感品牌的缘由。

 

  蜂鸣器长时间主要用于租赁、打印纸机、万用表这样生产设备上做报错信息音,报错信息音基本上也很轻松,只是轻松传来个音频就可以的了,小编用小程序轻松做过个 4KHZ 规律下的说话和 1KHZ 规律下的唱歌发声软件,同班们也可以我探索下软件,更下具体特效。

 

  #include

 

  sbit BUZZ = P1^6; //蜂鸣器有效控制引脚

 

  unsigned char T0RH = 0; //T0 载重值的高字节

 

  unsigned char T0RL = 0; //T0 载重值的低字节

 

  void OpenBuzz(unsigned int frequ);

 

  void StopBuzz();

 

  void main(){

 

  unsigned int i;

 

  TMOD = 0x01; //配值 T0 做工作在的模式 1,但先不再启动

 

  EA = 1;

 

  while (1){ //使能优化异常中断

 

  OpenBuzz(4000); //以 4KHz 的几率发动蜂鸣器

 

  for (i=0; i《40000; i++);

 

  StopBuzz(); //停下蜂鸣器

 

  for (i=0; i《40000; i++);

 

  OpenBuzz(1000); //以 1KHz 的率初始化蜂鸣器

 

  for (i=0; i《40000; i++);

 

  StopBuzz(); //停掉蜂鸣器

 

  for (i=0; i《40000; i++);

 

  }

 

  }

 

  /* 蜂鸣器开始涵数,frequ-作业频次 */

 

  void OpenBuzz(unsigned int frequ){

 

  unsigned int reload;//测算必需的随机赏识载值

 

  reload = 65536 - (11059200/12)/(frequ*2); //由给定速率计算方法延时倚重载值

 

  T0RH = (unsigned char)(reload 》》 8); //16 位载重值分析为好坏三个字节

 

  T0RL = (unsigned char)reload;

 

  TH0 = 0xFF; //选用两个比较敏感外溢的初值,以使定时开关器赶紧付出事情

 

  TL0 = 0xFE;

 

  ET0 = 1; //使能 T0 经常中断

 

  TR0 = 1; //开始 T0

 

  }

 

  /* 蜂鸣器结束涵数 */

 

  void StopBuzz(){

 

  ET0 = 0; //关闭 T0 中止

 

  TR0 = 0; //中止 T0

 

  }

 

  /* T0 超时贴心服务数学函数,应用于控住蜂鸣器头腔共鸣 */

 

  void InterruptTImer0() interrupt 1{

 

  TH0 = T0RH; //直接访问方法重载值

 

  TL0 = T0RL;

 

  BUZZ = ~BUZZ; //转反蜂鸣器控制电平

 

  }

 

  还有用蜂鸣器来輸出音乐伴奏,仅仅只是是精彩而言,广泛应用比较少,里边儿构成了音阶、音乐谱的一些内部,系统还有丝毫错综复杂,因而就好详细介绍给用户去介绍了。仅具备这个能否观看《二只虎》的系统,用户能否下载下载到板子上玩乐,充分满足一个虚荣心心。

 

  纯文案另存

 

  #include

 

  sbit BUZZ = P1^6; //蜂鸣器的控制引脚

 

  unsigned int code NoteFrequ[] = { //中音 1-7 和高音 1-7 匹配速度数据库

 

  523, 587, 659, 698, 784, 880, 988, //中音 1-7

 

  1047, 1175, 1319, 1397, 1568, 1760, 1976 //高音 1-7

 

  };

 

  unsigned int code NoteReload[] = { //中音 1-7 和高音 1-7 应对的定时执行推崇载值

 

  65536 - (11059200/12) / (523*2), //中音 1

 

  65536 - (11059200/12) / (587*2), //2

 

  65536 - (11059200/12) / (659*2), //3

 

  65536 - (11059200/12) / (698*2), //4

 

  65536 - (11059200/12) / (784*2), //5

 

  65536 - (11059200/12) / (880*2), //6

 

  65536 - (11059200/12) / (988*2), //7

 

  65536 - (11059200/12) / (1047*2), //高音 1

 

  65536 - (11059200/12) / (1175*2), //2

 

  65536 - (11059200/12) / (1319*2), //3

 

  65536 - (11059200/12) / (1397*2), //4

 

  65536 - (11059200/12) / (1568*2), //5

 

  65536 - (11059200/12) / (1760*2), //6

 

  65536 - (11059200/12) / (1976*2), //7

 

  };

 

  bit enable = 1; //蜂鸣器说话使能logo

 

  bit tmrflag = 0; //定时开关器终止达成圆形标志

 

  unsigned char T0RH = 0xFF; //T0 载重值的高字节

 

  unsigned char T0RL = 0x00; //T0 方法重载值的低字节

 

  void PlayTwoTIger();

 

  void main(){

 

  unsigned int i;

 

  EA = 1; //使能缺省间断

 

  TMOD = 0x01; //配置单 T0 本职工作在经济模式 1

 

  TH0 = T0RH;

 

  TL0 = T0RL;

 

  ET0 = 1; //使能 T0 断开

 

  TR0 = 1; //开始 T0

 

  while (1){

 

  PlayTwoTIger(); //拨放乐曲--两支狮子

 

  for (i=0; i《40000; i++); //停此那段时刻

 

  }

 

  }

 

  /* 两支豹子乐曲录制方程 */

 

  void PlayTwoTIger(){

 

  unsigned char beat; //如今音乐节拍目录

 

  unsigned char note; //在当下拍节相关联的音阶

 

  unsigned int time = 0; //某一音乐节拍记时

 

  unsigned int beatTime = 0; //现行音乐节拍总时间段

 

  unsigned int soundTime = 0; //目前旋律需唱歌发声时长

 

  //三只狮子老虎乐谱表

 

  unsigned char code TwoTigerNote[] = {

 

  1, 2, 3, 1, 1, 2, 3, 1, 3, 4, 5, 3, 4, 5,

 

  5,6, 5,4, 3, 1, 5,6, 5,4, 3, 1, 1, 5, 1, 1, 5, 1,

 

  };

 

  //四只小老虎旋律表,4 说明拍一拍,1 这就是 1/4 拍,8 即使 2 拍

 

  unsigned char code TwoTigerBeat[] = {

 

  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 4, 4, 8,

 

  3,1, 3,1, 4, 4, 3,1, 3,1, 4, 4, 4, 4, 8, 4, 4, 8,

 

  };

 

  //用旋律字段用作巡环变量类型

 

  for (beat=0; beat

 

  while (!tmrflag); //一直定时任务器终断成功完成后,论文检测没收违法所得理拍节

 

  tmrflag = 0;

 

  if (time == 0){ //某些拍节播完则开机一位新拍节

 

  note = TwoTigerNote[beat] - 1;

 

  T0RH = NoteReload[note] 》》 8;

 

  T0RL = NoteReload[note];

 

  //算旋律总精力,右移 2 位相当的于除 4,歪斜取代除法可不可以缩短程序执行运行速度

 

  beatTime = (TwoTigerBeat[beat] * NoteFrequ[note]) 》》 2;

 

  //测算头腔共鸣准确用时,为总准确用时的 0.75,换一个位置作用同上

 

  soundTime = 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;

 

  }

 

  }


[返回]

收起
展开