基于FPGA verilog的蜂鸣器奏乐

基于FPGA verilog的蜂鸣器奏乐

ID:46894594

大小:150.41 KB

页数:4页

时间:2019-11-29

基于FPGA verilog的蜂鸣器奏乐_第1页
基于FPGA verilog的蜂鸣器奏乐_第2页
基于FPGA verilog的蜂鸣器奏乐_第3页
基于FPGA verilog的蜂鸣器奏乐_第4页
资源描述:

《基于FPGA verilog的蜂鸣器奏乐》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、蜂鸣器奏乐我们在开发板上装有一个交流源蜂鸣器,可用做发声练习。其电路图和实物图如下所示:首先,我们为什么选择交流蜂鸣器?所谓有源蜂鸣器是指在器件内部具有振荡器,所以只要在引脚上加上固定的直流电源,就能发出一定频率的声音,但缺点是频率固定唯一(在该蜂鸣器生产出来后就决定了)。交流蜂鸣器需要在引脚上加上一定频率的方波信号才能出声,而且声音的音调可有驱动方波的频率决定,所以音调是可调的,发出的声音更加逼真、悦耳。对CPLD/FPGA来说,产生频率可调方波并不是件难事。所以选择无源是很合适的。电路中,主要由一个三极管,一个续流二极管和一个交流蜂鸣器组成。三极管Q1起开关作用,其基极的高电平

2、使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。因为蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏电路系统的其它部分。交流蜂鸣器也有正负极,在器件的上方和板子上面都标注了,焊接时注意方向。有了蜂鸣器的硬件组成,下面我们讲解下如何发出音谱上的音调。每个音调,其实都是一个固定频率的振动,频率的高低决定了音调的高低。简谱中的音名与频率的对应关系如表1所示:表1简谱中的音名与频率的对应关系音名频率/Hz音名频率/Hz音名频率/Hz低音1261.6中音1523.3高音11046.5低

3、音2293.7中音2587.3高音21174.7低音3329.6中音3659.3高音31318.5低音4349.2中音4698.5高音41396.9低音5392中音5784高音51568低音6440中音6880高音61760低音7493.9中音7987.8高音71975.5当采用12M作为基准时钟时,那么各个音调的分频系数可按这个公式计算:12000000÷音调频率÷2(除以2表示半个周期),所以得出如下不同音调的分频系数表格(十六进制表示,已进行四舍五入)表格2不同音调对应的分频系数(只列举了低音部分)音名分频系数低音15997低音24FCD低音3471B低音4431E低音53B

4、CA低音63544低音72F74所以综上所述,我们在程序中只要按表格里的分频系数产生一定频率的方波就能产生对应的音调了。modulebell(ClkIn,Resetb,Bell);inputClkIn,Resetb;outputBell;regBell;wireClkBell;reg[15:0]Cnt;reg[15:0]PreDiv;//每个音调需要分频的系数reg[12:0]Delay;//每个音调持续的时间defparamGen_ClkBell.divdWIDTH=2,Gen_ClkBell.divdFACTOR=2;//4分频,得到12M时钟gen_divdGen_ClkBe

5、ll(.reset(Resetb),.clkin(ClkIn),.clkout(ClkBell));always@(negedgeResetborposedgeClkBell)if(!Resetb)beginBell<=1'b0;Cnt<=13'd0;Delay<=13'd0;PreDiv<=16'h5997;//音调1endelsebeginCnt<=Cnt+1'b1;if(Cnt>=PreDiv)beginBell<=~Bell;Cnt<=16'd0;Delay<=Delay+1'd1;case(Delay)//进行音调的切换13'd1000:PreDiv<=16'h4FCD;

6、//213'd2000:PreDiv<=16'h471B;//313'd3000:PreDiv<=16'h431E;//413'd4000:PreDiv<=16'h3BCA;//513'd5000:PreDiv<=16'h3544;//613'd6000:PreDiv<=16'h2F74;//713'd7000:beginDelay<=13'd0;;//置为0,从头开始演奏PreDiv<=16'h5997;//音调1endendcaseendendendmodule

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。