当前位置: 首页 > news >正文

马鞍山北京网站建设义乌建设网站制作

马鞍山北京网站建设,义乌建设网站制作,中山网站建设方案,网店运营以后可以做什么蜂鸣器的原理 有源蜂鸣器和无源蜂鸣器 无源蜂鸣器利用电磁感应现象,为音圈接入交变电流后形成的电磁铁与永磁铁相吸或相斥而推动振膜发声,接入直流电只能持续推动振膜而无法产生声音,只能在接通或断开时产生声音。无源蜂鸣器的工作原理与扬声…

蜂鸣器的原理

有源蜂鸣器和无源蜂鸣器

         无源蜂鸣器利用电磁感应现象,为音圈接入交变电流后形成的电磁铁与永磁铁相吸或相斥而推动振膜发声,接入直流电只能持续推动振膜而无法产生声音,只能在接通或断开时产生声音。无源蜂鸣器的工作原理与扬声器相同。在使用方波信号源驱动的应反向并联一个二极管,防止突然断电时产生的高压反向电动势击穿其他元件以及使用寿命缩短。

        有源蜂鸣器插上电就能用,内部有固定频率,无法更改。

        在我的开发板上使用的是无源蜂鸣器,只有产生方波才能发出声音,产生不同频率的方波就产生不同音调的波形。

发出特定音调的声音

        开发板外部时钟50Mhz,若要产生262hz(do)音调,则计数器应该计数到50000000/262 = 190840个数,若要产生占空比为0.5的方波,则计数器可以计数到190840/2 = 95420 信号翻转,就产生了占空比0.5 的方波,可以驱动蜂鸣器发出连续的do音调。

代码如下:

module beep
#(parameter cnt_max = 17'd95419)
(input wire clk,
input wire rst,
output reg  beep);//发出连续音调的声音
reg [16:0] cnt ;always@(posedge clk or negedge rst)
beginif(rst == 1'd0)cnt<=17'd0;else if(cnt == cnt_max)cnt<=17'd0;else cnt<= cnt+17'd1;
endalways@(posedge clk or negedge rst )
beginif(rst == 1'd0)beep <=1'd0;else if(cnt == cnt_max)beep<=~beep;elsebeep <= beep;
endendmodule

发出间断的声音

         上述的代码是产生一个方波,通过这个方波才能驱动计数器发出声音,若要让蜂鸣器0.5s发出声音,0.5s不发出声音,就要设置一个计数器,计数到24999999,当计数到24999999时产生一个标志信号,通过标志信号产生一个选择信号,当选择信号为低电平的时候不发出声音,当选择信号为高电平的时候发出声音,选择信号的周期为1s,0.5s高电平,0.5s为低电平。高电平时按照上述方法产生音调tone方波。

代码如下:

module beep
#(parameter cnt_max = 17'd95419,parameter cnt_50ms = 25'd24999999)
(input wire clk,
input wire rst,
output reg  beep);//发出有间隔的声音
reg [16:0] cnt_tone ; 
reg [24:0] cnt_space;
reg 	   space_flag;
reg        beep_sel;always@(posedge clk or negedge rst)
beginif(rst ==1'd0)cnt_space <= 25'd0;else if (cnt_space == (cnt_50ms -1))cnt_space <= 25'd0;else cnt_space<=cnt_space+25'd1;
endalways@(posedge clk or negedge rst)
beginif(rst ==1'd0)space_flag <= 1'd0;else if (cnt_space == (cnt_50ms - 1))space_flag <=1'd1;else space_flag<=1'd0;
endalways@(posedge clk or negedge rst)
beginif(rst ==1'd0)beep_sel <= 1'd0;else if( space_flag == 1'd1)beep_sel<= ~beep_sel;elsebeep_sel <=beep_sel;
endalways@(posedge clk or negedge rst)
beginif(rst == 1'd0)cnt_tone<=17'd0;else if(cnt_tone == cnt_max)cnt_tone<=17'd0;else cnt_tone<= cnt_tone+17'd1;
endalways@(posedge clk or negedge rst )
beginif(rst == 1'd0)beep <=1'd0;else if(beep_sel==1'b1)if(cnt_tone == cnt_max)beep<=~beep;elsebeep <= beep;else beep<=1'd0;
endendmodule

测试文件如下,为了便于观察波形,将最大值设小:

`timescale 1ns/1ns
`include"beep_test.v"module top();reg clk;
reg rst;initial
beginclk <= 1'b0;rst<=1'b0;#25rst <=1'b1;
endalways #10 clk =~clk;beep 
#(.cnt_max(17'd24),.cnt_50ms(25'd99))
b1
(clk,rst,beep);endmodule

仿真波形如下:

http://www.yayakq.cn/news/105492/

相关文章:

  • 做网站收费吗会展免费网站模板
  • 外贸营销信模板做网站优化公司
  • 去百度建网站软件开发设计培训
  • 手机网站制作免费齐齐哈尔北京网站建设
  • 网站怎样做超链接门户网站开发申请
  • 建设部网站继续教育中国网建设频道
  • 中城投建设集团网站清风WordPress
  • 网站规划内容潍坊网站建设SEO优化熊掌号
  • 网站开发播放大视频卡顿如何注册自媒体平台
  • 网站宣传方式免费seo排名软件
  • 网站设计的宽度重庆新闻联播回看
  • 厦门专业网站制作设计字体设计
  • 海南省住房和城乡建设厅官网网站首页造价材料价格信息网
  • 网站运营与建设wordpress淘宝客单页主题
  • ps加dw做网站视频牡丹江地区做网站的公司
  • 老河口网站定制如何做网站设计
  • 百度网站下拉怎么做个人建站公司
  • 网站建设推广浩森宇特郑州官方网
  • 做网站需要多少兆空间大连专业网站设计服务商
  • 西安哪家网站公司做的比较好网站建设软件免费
  • 泰安集团网站建设价格做手机软件需要学什么
  • WordPress网站加载时间代码制作
  • 看公狍和女人做爰网站wordpress文章只能会员才能看
  • 推进网站集约化建设的作用wordpress 主题搜索框
  • 海南住房建设厅网站网络营销的缺点及建议
  • 网站销售都怎么做的温州微网站开发
  • 网站开发与管理能力iis访问网站打开要很久
  • 生成链接泰州百度seo公司
  • 网站流量大小对网站有什么影响石家庄live公众号
  • 官方网站娱乐游戏城做外链网站有哪些