当前位置:文档之家› 基于FPGA的蜂鸣器音乐播放器

基于FPGA的蜂鸣器音乐播放器

基于FPGA的蜂鸣器音乐播放器
基于FPGA的蜂鸣器音乐播放器

module beyond(clk,beep,led);

input clk;

output beep;

output[7:0]led;

reg beep;

reg[22:0]i;

reg clk_4hz;

reg[7:0]led;

reg[16:0]count,div_num;//

reg[6:0]music;//just for a test;

always@(posedge clk)//4hz

begin

if(i==23'h47868c)

begin

i<=0;

clk_4hz=~clk_4hz;

end

else

i=i+1'b1;

end

always@(posedge clk_4hz)

begin

if(music==7'd90)////////////////////notice

music<=0;

else

music<=music+1'b1;

end

always@(posedge clk)

begin

if(count==div_num)

begin

count<=0;

beep=~beep;

end

else

count<=count+1'b1;

end

parameter L1=17'h1754e,

L2=17'h14c81,

L3=17'h1284a,

L4=17'h117A8,

L5=17'h14e70,

L6=17'h0ddf2,

L7=17'h0c5ba,

M1=17'h0ba9e,

M2=17'h0a648,

M3=17'h0941f,

M4=17'h08bcf,

M5=17'h07c90,

M6=17'h06ef9,

M7=17'h062dd,

H1=17'h05d68,

H2=17'h05322,

H3=17'h04a11,

H4=17'h045e9,

H5=17'h3e48,

H6=17'h377d,

H7=17'h316f; always@(posedge clk_4hz)

begin

case(music)

7'd0:div_num=M7;

7'd1:div_num=M7;

7'd2:div_num=H1;

7'd3:div_num=H1;

7'd4:div_num=H2;

7'd5:div_num=H2;

7'd6:div_num=H2;

7'd7:div_num=H3;

7'd8:div_num=H3;

7'd9:div_num=H3;

7'd10:div_num=H3;

7'd11:div_num=H2;

7'd12:div_num=H2;

7'd13:div_num=H2;

7'd14:div_num=H2;

7'd15:div_num=H2;

7'd16:div_num=H1;

7'd17:div_num=M7;

7'd18:div_num=M5;

7'd19:div_num=M6;

7'd20:div_num=M6;

7'd21:div_num=M6;

7'd22:div_num=M3;

7'd23:div_num=M2;

7'd24:div_num=M3;

7'd25:div_num=M3;

7'd26:div_num=M3;

7'd27:div_num=M3;

7'd28:div_num=M5;

7'd29:div_num=M5;

7'd30:div_num=M5;

7'd31:div_num=M6;

7'd33:div_num=M6;

7'd34:div_num=H1;

7'd35:div_num=M7;

7'd36:div_num=H1;

7'd37:div_num=H1;

7'd38:div_num=H7;

7'd39:div_num=H7;

7'd40:div_num=H1;

7'd41:div_num=H1;

7'd42:div_num=H1;

7'd43:div_num=H1;

//repeat 7'd44:div_num=M7;

7'd45:div_num=M7;

7'd46:div_num=H1;

7'd47:div_num=H1;

7'd48:div_num=H2;

7'd49:div_num=H2;

7'd50:div_num=H2;

7'd51:div_num=H3;

7'd52:div_num=H3;

7'd53:div_num=H3;

7'd54:div_num=H3;

7'd55:div_num=H2;

7'd56:div_num=H2;

7'd57:div_num=H2;

7'd58:div_num=H2;

7'd59:div_num=H2;

7'd60:div_num=H1;

7'd61:div_num=M7;

7'd62:div_num=H1;

7'd63:div_num=H1;

7'd64:div_num=M7;

7'd65:div_num=M7;

7'd66:div_num=M7;

7'd67:div_num=M7;

7'd68:div_num=M3;

7'd69:div_num=M2;

7'd70:div_num=M3;

7'd71:div_num=M3;

7'd72:div_num=M3;

7'd73:div_num=M3;

7'd74:div_num=M5;

7'd75:div_num=M5;

7'd76:div_num=M5;

7'd77:div_num=M6;

7'd78:div_num=M6;

7'd79:div_num=M6;

7'd80:div_num=L5;

7'd81:div_num=L6;

7'd82:div_num=M1;

7'd83:div_num=M2;

7'd85:div_num=M5;

7'd86:div_num=H1;

7'd87:div_num=H1;

7'd88:div_num=H1;

7'd89:div_num=H1;

endcase

end

always@(div_num)

begin

case(div_num)

L5:led=8'b1111_1111;

L6:led=8'b0111_1111;

L7,

M1:led=8'b0011_1111;

M2,

M3:led=8'b0001_1111;

M4,

M5:led=8'b0000_1111;

M6,

M7:led=8'b0000_0111;

H1:led=8'b0000_0011;

H2:led=8'b0000_0001;

H3:led=8'b0000_0000;

default:led=8'bx;

endcase

end

endmodule

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX年X月X日

一、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer():实现窗口的成员方法 publi c void run():实现改变歌曲的播放状态的成员方法 public AudioClip loadSound(String filename):实现对声音的加载public void mouseClicked(MouseEvent e):实现对按钮的监听public void itemStateChanged(ItemEvent arg0):返回一个AudioClip 对象

3、程序流程图 4、程序清单 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; import https://www.doczj.com/doc/f21978511.html,.*; public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{ JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体 JLabel songname=new JLabel(); //用标签 显示状态 JButton last=new JButton(); JButton play=new JButton();

蜂鸣器有关知识

蜂鸣器的简单介绍: 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。 1.分类: 蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器与无源蜂鸣器的区别: 注意:这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的方波去驱动它。有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。 无源蜂鸣器的优点是: 1). 便宜 2). 声音频率可控,可以做出“多来米发索拉西”的效果 3). 在一些特例中,可以和LED复用一个控制口 有源蜂鸣器的优点是:程序控制方便。 2.蜂鸣器的驱动方式: 由于自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对驱动口输出驱动电平并通过三极管放大驱动电流就能使蜂鸣器发出声音,很简单,这里就不对自激蜂鸣器进行说明了。这里只对必须用1/2duty 的方波信号进行驱动的他激蜂鸣器进行说明。 单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。 PWM 输出口直接驱动是利用PWM 输出口本身可以输出一定的方波来直接驱动蜂鸣器。在单片机的软件设置中有几个系统寄存器是用来设置PWM 口的输出的,可以设置占空比、周期等等,通过设置这些寄存器产生符合蜂鸣器要求的频率的波形之后,只要打开PWM 输出,PWM 输出口就能输出该频率的方波,这个时候利用这个波形就可以驱动蜂鸣器了。比如频率为2000Hz 的蜂鸣器的驱动,可以知道周期为500μs,这样只需要把PWM 的周期设置为500μs,占空比电平设置为250μs,就能产生一个频率为2000Hz 的方波,通过这个方波再利用三极管就可以去驱动这个蜂鸣器了。 而利用I/O 定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就可以用来驱动蜂鸣器了。比如为2500Hz 的蜂鸣器的驱动,可以知道周期为400μs,

蜂鸣器工作原理介绍及并联电阻原理

蜂鸣器工作原理介绍及并联电阻原理 目前市场上广泛使用的蜂鸣器有电磁式与压电式,我司使用的蜂鸣器以压电式为主。 压电式蜂鸣器主要由多谐振荡器,压电蜂鸣片(以压电陶瓷为主,如下图所示),阻抗匹配器及共鸣箱,外壳等组成。其主要原理是以压电陶瓷的压电效应,来带动金属片的震动而发声。 压电陶瓷其实是一能够将机械能和电能互相转换的功能陶瓷材料。 所谓压电效应是指某些介质在受到机械压力时,哪怕这种压力微小得像声波振动那样小,都会产生压缩或伸长等形状变化,引起介质表面带电,便会产生电位差,这是正压电效应。反之,施加激励电场或电压,介质将产生机械变形,产生机械应力,称逆压电效应。如果压力是一种高频震动,则产生的就是高频电流。而高频电信号加在压电陶瓷上时,则产生高频声信号(机械震动),这就是我们平常所说的超声波信号。也就是说,压电陶瓷具有机械能与电能之间的转换和逆转换的功能。压电式蜂鸣器就是运用其将电能转换问机械能的逆压电效应。 压电蜂鸣器的主要应用电路如下图所示,R为阻抗匹配电阻。 当脉冲信号为高电平时,通过三级管导通,则在蜂鸣器两端形成一个VDC的电压,使压电陶瓷产生形变。当脉冲信号为低电平时,通过三极管关断。此时压电陶瓷形变复原,则在其两端产生一个由机械能转换为电能的电压,此时的电压需要通过阻抗匹配电阻进行释放,从而可使蜂鸣器产生一个稳定频率的声音信号。如下图所示,幅值与VDC相等,频率与芯片控制端口频率相等。 压电蜂鸣片

蜂鸣器端口信号主控芯片端口信号 R=1K时蜂鸣器两端信号

蜂鸣器两端,以及当R=1K时,其等效电容的放电时间为46us 蜂鸣器两端,以及当R=100Ω时,其等效电容的放电时间为6.8us

Java音乐播放器源代码即结果显示

简单的音乐播放器一、程序代码: import java.io.File; import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.FileDialog; import java.awt.Frame; import java.awt.GridLayout; import https://www.doczj.com/doc/f21978511.html,bel; import java.awt.List; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.MenuShortcut; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Example extends Frame { private static final long serialVersionUID = 1L; boolean isStop = true;// 控制播放线程 boolean hasStop = true;// 播放线程状态

基于FPGA的音乐播放器

基于FPGA的音乐播放器 尝试利用FPGA开发板板载资源以及外搭的功率放大电路制作一台音乐播放器,能够播放通过计算机拷贝在SD卡(或MMC卡、TF卡)的根目录中的某一个WAV文件。 一、基本要求:制作音乐播放器(50分) (1)除了外置的音频功率放大器之外,本系统的主体部分(单片机)应基于STI51开发板,音乐来源于SD卡(或MMC卡、TF卡)(10分) (2)制作一个音频功率放大器,能够实现音频信号的功率放大功能,并能成驱动普通扬声器或耳机。(10分) (3)能够播放单声道、8位,采样率为1.5K(或更高)的WAV文件。实际播放时,歌声、伴奏声能依稀可辨。(30分) 二、提高要求:提高音乐播放器的音质(50分) (1)能够播放单声道、8位,采样率为2.5K或更高的WAV文件。实际播放时,歌声、伴奏声清晰可辨。(20分) (2)音频功率放大器从FPGA开发板取电,使用USB即可完成系统所有器件的供电。(10分) (3)改造一切可以改造的部分以提高播放器的音质。(20分) (提示:可以利用Adobe Audition软件编辑WAV文件并改变音频位数与采样率;可以利用Ultraedit软件以二进制方式查看WAV文件;WAV文件数据区的每一个字节顺次送入D/A中即可实现WAV文件的播放。) 起草人:刘文浩 2010-11-25,04:43

若具备一定的基础,以下内容可以忽略。 下面的内容是利用单片机制作音乐播放器的步骤。 题目分析 1 系统开发步骤 本题目对于刚学习完单片机尚未上手的同学来说可能难度较大,刚开始就着手制作一个以SD卡(或MMC卡、TF卡)为存储介质的音乐播放器并且要想尽办法提高播放音乐的音质具有较大难度,且容易让制作者失去继续制作下去的信心。建议在制作过程中循序渐进,一步一步逐步深入逐渐实现以下功能: 第一步:能够播放存储在单片机程序(ROM)中的音乐。(参考时间:4天) 第二步:通过串口调试助手向单片机发送WAV文件,使单片机能够播放计算机发出的WAV文件数据流。(参考时间:3天) 第三步:能够播放通过计算机拷贝在SD卡(MMC卡、TF卡)的根目录中的第一个WAV文件。(参考时间:12天) 第四步:尽可能的提高播放的音乐的音质。(参考时间:-_- ) 当然了如果做此题的同学感兴趣则可以继续下去完成以下功能: 第五步:播放通过计算机拷贝在SD卡(MMC卡、TF卡)中的所有文件并支持歌曲名称显示、上一首下一首歌切换功能。(参考时间:12天) 第六步:播放通过计算机拷贝在普通U盘的根目录中的第一个WAV文件。(参考时间:30天) 注:以上的参考时间为一个具有三个人的团队每天正常奋斗1~2小时(队友之间不吵架^_^、各种开发调试工具齐全好用,含硬件制作、软件编写及其调试)的情况下衡量的。仅仅用来表示各个步骤开发的相对难度,仅供参考。

基于java的音乐播放器的设计源代码+实验报告

主类M U S I C P L A Y E R类:import .*; public class MusicPlayer implements ActionListener, Serializable,ControllerListener { private static final long serialVersionUID = 1L; private JFrame frame = null; private JPanel controlPanel = null; private JButton btnPlay = null; private JButton btnPre = null; private JButton btnNext = null; private JScrollPane listPane = null; private JList list = null; private DefaultListModel listModel = null; private JMenuBar menubar = null; private JMenu menuFile = null, menuAbout = null, menuMode = null; private JMenuItem itemOpen, itemOpens, itemExit, itemAbout; private JRadioButtonMenuItem itemSingle, itemSequence ,itemRandom; private ListItem currentItem = null; private static Player player = null; private boolean isPause = false; private int mode; private int currentIndex; private ImageIcon iconPlay = new ImageIcon("d:\\"); private ImageIcon iconPre = new ImageIcon("d:\\"); private ImageIcon iconNext = new ImageIcon("d:\\"); private ImageIcon iconPause = new ImageIcon("d:\\"); public static void main(String[] args) { new MusicPlayer(); } public MusicPlayer() { init(); } public void init() { frame = new JFrame(); ("音乐播放器"); (400, 300); (false); (null); ; menubar = new JMenuBar(); menuFile = new JMenu("文件");

单片机 利用蜂鸣器演奏音乐

实验三-利用蜂鸣器演奏音乐 一、实验目的 1.了解BlueSkyC51单片机实验板中蜂鸣器的硬件电路 2.学会利用蜂鸣器实现音乐的演奏 3.掌握蜂鸣器实现音乐演奏的编程 二、实验硬件设计及电路 1. BlueSkyC51单片机实验板 ` 2.单片机最小系统

。 3.蜂鸣器电路连接 三极管主要是做驱动用的。因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以

我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。 三、实验原理 1.音调及节拍 用一个口,输出方波,这个方波输入进蜂鸣器就会产生声音,通过控制方波的频率、时间,就能产生简单的音乐。一般说来,单片机演奏音乐基本都是单音频率,因此单片机奏乐只需控制音调和节拍。 (1)音调的确定 音调是由频率来确定的。通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O 口来回取反,从而让蜂鸣器发出不同频率的声音。只需将定时器给以不同的定时值就可实现。通过延时,即可发出所需要的频率。 … (2)节拍的确定 一拍的时长大约为400—500ms,每个音符的时长通过节拍来计算。详细见程序代码。 2.软件设计相关 (1)头文件 #include<> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long sbit beep=P1^4; 译实验相关问题 ; (1)实际发音颤音重 解决方法为修改蜂鸣器的驱动频率. (2)实际节奏过快或者过慢 调整延时 四、C51程序代码(部分来源于网络) #include<> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long ~ sbit beep=P1^4; //蜂鸣器与口连接 uchar th0_f; //中断装载T0高8位 uchar tl0_f; //T0低8位 uchar code freq[36*2]={ //音阶码表 0xf7,0xd8, //440hz , 1 //0 0xf8,0x50, //466hz , 1# //1

VHDL音乐播放器

洛阳理工学院 课程设计报告 课程名称 EDA技术与VHDL 设计题目音乐播放器的设计与仿真 专业通信工程 班级 B1105 学号 B1105 姓名 完成日期 2014年12月22日

前言 随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。 传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,提高了设计的灵活性和工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。 EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征: (1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了系统级综合优化工具,缩短了复杂ASIC的设计周期。 (2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。 (3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。 (4)可测性综合设计。 (5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。 (6)建立并设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。 总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java 音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX 年X 月X 日

、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java 中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3 歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer() :实现窗口的成员方法 publi c void run() :实现改变歌曲的播放状态的成员方法 :实现对声音的加载 public AudioClip loadSound(String ) :实现对按钮的监听 public void mouseClicked(MouseEvent e) public void itemStateChanged(ItemEvent arg0) :返回一个AudioClip 对象

3、程序流程图 * 出现界面 * 选择播放歌 曲 4、程序清单 import java.awt.*; import javax.swi ng.*; import java.applet.*; import java.awt.eve nt.* import java .n et.*; public class MyMusicPIayer exte nds Thread impleme nts MouseListe ner,ltemListe ner{ JFrame Mai nF rame =new JFrame( "MyMusicPlayer" ); // 定义主窗体 JLabel songname =new JLabel(); //用标签显示状态 JButton last =new JButto n(); JButt on play =new JButt on();

有源与无源蜂鸣器的区别

一)蜂鸣器的介绍 1.蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 2.蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 3.蜂鸣器的电路图形符号蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。 (二)蜂鸣器的结构原理 1.压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 2.电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 蜂鸣器的制作 (1)制备电磁铁M:在长约6厘米的铁螺栓上绕100圈导线,线端留下5厘米作引线,用透明胶布把线圈粘好,以免线圈松开,再用胶布把它粘在一个盒子上,电磁铁就做好了. (2)制备弹片P:从铁罐头盒上剪下一条宽约2厘米的长铁片,弯成直角,把电磁铁的一条引线接在弹片上,再用胶布把弹片紧贴在木板上. (3)用曲别针做触头Q,用书把曲别针垫高,用胶布粘牢,引出一条导线,如图连接好电路. (4)调节M与P之间的距离(通过移动盒子),使电磁铁能吸引弹片,调节触点与弹片之间的距离,使它们能恰好接触,通电后就可以听到蜂鸣声.有源蜂鸣器和无源蜂鸣器 教你区分有源蜂鸣器和无源蜂鸣器 现在市场上出售的一种小型蜂鸣器因其体积小(直径只有llmm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。有源蜂鸣器和无源蜂鸣器的外观如图a、b所示。 图:有源和无源蜂鸣器的外观

蜂鸣器程序

单片机蜂鸣器实验 C程序: #include "reg51.h" #define uchar unsigned char #define uint unsigned int sbit FM=P2^3; void delay ( uchar x) { uint y; for (; x > 0 x-- ) for( y=500 y>0;y--); } void main() { FM=0; while(1) { delay(20); FM=1; delay(20); FM=0; } } 因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音

单片机驱动蜂鸣器原理与设计 蜂鸣器是一种一体化结构的电子讯响器,本文介绍如何用单片机驱动蜂鸣器,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。下面是电磁式蜂鸣器的外形图片及结构图。。。电磁式蜂鸣器实物图:一、电磁式蜂鸣器驱动原理蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器,原理图见下面图3:S51增强型单片机实验板蜂鸣器驱动原理图:如图所示,蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.7引脚控制,当P3.7输出高电平 时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P3.7脚的电平来使蜂鸣器发出声音和关闭。程序中改变单片机P3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P3.7输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些我们都可以通过编程实验来验证。二、蜂鸣器列子下面我们举几个简单的单片机驱动蜂鸣器的编程和电路设计的列子。1、简单的蜂鸣器实验程序:本程序通过在P3.7输出一个音频范围的方波,驱动实验板上的蜂鸣器发出蜂鸣声,其中DELAY延时子程序的作用是使输出的方波频率在人耳朵听觉能力之内的20KHZ以下,如果没有这个延时程序的话,输出的频率将大大超出人耳朵的听觉能力,我们将不能听到声音。更改延时常数,可以改变输出频率,也就可以调整蜂鸣器的音调。大家可以在实验中更改#228为其他值,听听蜂鸣器音调的改变。 ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN: CPL P3.7 ;蜂鸣器驱动电平取反 LCALL DELAY 延时 AJMP MAIN 反复循环 DELAY:MOV R7,#228 ;延时子程序,更改该延时常数可以改变蜂鸣器发出的音调 DE1: DJNZ R7,DE1 RET

基于fpga的音乐播放器的设计.

1引言 1.1关于EDA技术 随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。 传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。然而,随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,大大提高了设计的灵活性,提高了工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。 EDA技术的发展大致经历了三个阶段:20世纪70年代的CAD(计算机辅助设计)阶段、20世纪80年代的CAE(计算机辅助工程)阶段、20世纪90年代后的EDA(电子设计自动化)阶段。以下主要介绍第三个阶段。 EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。EDA技术主要有以下特征: (1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了相应的系统级综合优化工具,大大缩短了复杂ASIC的设计周期。 (2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。 (3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。 (4)可测性综合设计。 (5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。 (6)建立并行设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。 总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

基于java的音乐播放器课程设计报告

Java课程设计报告题目:java音乐播放器 姓名 学号 院系 班级 专业 任课教师

1.设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加 多首歌曲目录 一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放列表,文件菜单包含打开、循环和退出三个菜单项;播放控 制菜单包含播放、暂停和停止三个菜单项,播放列表菜单则是当向里面 添加歌曲之后才能够查看到里面所包含的歌曲目录。当播放歌曲时,可 以调节音量大小或者设置是否静音;可以查看当前播放音乐的相关属 性,如:歌曲名,歌手,发布时间,所属专辑等等。 2.需求分析 1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以 随时了解歌曲的播放进度 2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设 置 3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获 取关于该歌曲的用户所需的相关信息。 4、菜单栏: ①文件: 打开:用户通过该菜单项打开本地音乐文件,听任何用户想 听的歌曲 循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲 退出:退出音乐播放器,及退出该程序

②播放控制: 播放:选择歌曲之后,通过点击播放菜单项启动播放器播放音乐 暂停:暂停当前正在播放的音乐 停止:停止当前正在播放的音乐 ③播放列表:当用户通过文件打开本地音乐文件后,及相当于在 播放列表里面添加了歌曲,及形成相应的歌曲播放目录 3.总体设计 结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了三个简单的实现基本操作的菜单,分别是:文件,播放控制, 播放列表;根据具体的操作每个菜单还包含了相应的菜单项,文件:打 开,循环,退出;播放控制:播放,暂停,停止;播放列表则没有菜单 项,该菜单就是用来显示或者查看相应的歌曲目录的。 该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户可以根据自己的需求进行菜单栏里面的基本操作和相应的设 置,当用户添加或者打开音乐播放文件的时候,程序将会显示出第二个 音乐文件播放窗口,与此同时,第一个初始化窗口将会自动隐藏,在音 乐播放窗口里面用户可以进行相关的音乐播放的控制操作。 当用户进入音乐播放窗口时,该窗口有几个快捷控制的控键:时间追踪轴:可以实现播放的前进、后退功能,根据用户需求调节音乐的 播放进度等;音量控制:设置静音,打开扬声器或者调节音量大小;播 放列表:查看当前播放音乐的相关属性。

蜂鸣器工作基本知识介绍及并联电阻基础知识

压电蜂鸣器的主要应用电路如下图所示, R 为阻抗匹配电阻 蜂鸣器工作原理介绍及并联电阻原理 目前市场上广泛使用的蜂鸣器有电磁式与压电式,我司使用的蜂鸣器以压电式为主。 压电式蜂鸣器主要由多谐振荡器,压电蜂鸣片(以压电陶瓷为主,如下图所示),阻抗匹 配器及共鸣箱,外壳等组成。其主要原理是以压电陶瓷的压电效应, 来带动金属片的震动而发声。 压电陶瓷其实是一能够将机械能和电能互相转换的功能陶瓷材料 质在受到机械压力时,哪怕这种压力微小得像声波振动那样小, 都会产生压缩或伸长等形状变化, 引起介质表面带电,便会产生电位差,这是正压电效应。反之,施加激励电场或电压,介质将产 生机械变形,产生机械应力,称逆压电效应。如果压力是一种高频震动, 则产生的就是高频电流。 而高频电信号加在压电陶瓷上时,则产生高频声信号(机械震动) ,这就是我们平常所说的超声 波信号。也就是说,压电陶瓷具有机械能与电能之间的转换和逆转换的功能。 压电式蜂鸣器就是 运用其将电能转换问机械能的逆压电效应。 压电蜂鸣片 所谓压电效应是指某些介

当脉冲信号为高电平时,通过三级管导通,则在蜂鸣器两端形成一个 陶瓷产生形变。当脉冲信号为低电平时,通过三极管关断。 此时压电陶瓷形变复原, 则在其两端 产生一个由机械能转换为电能的电压, 此时的电压需要通过阻抗匹配电阻进行释放, 从而可使蜂 鸣器产生一个稳定频率的声音信号。如下图所示,幅值与 VDC 相等,频率与芯片控制端口频率 VDC 的电压,使压电

R=1K时蜂鸣器两端信号 蜂鸣器两端,以及当R=1K 时,其等效电容的放电时间 为46us

若将其阻抗匹配电阻去除, 则压电陶瓷两端的电压无法释放, 定的电压,大小与 VDC 相等,具体如下图所示: 蜂鸣器两端,以及 间为6.8us 当R=100 Q 时,其 等效电容的放电时 蜂鸣器两端,以及 电完成 当R=10K 时,其等 效电容不能完全放 这样就会在其两端产生一个稳

基于 FPGA的音乐播放器的设计

摘要 根据国家发改委与专业教学委员会对教育机构的要求,为培养适应我国21世纪国民经济发展的电子设计人才;同时基于国家教委面向21世纪电工电子课程体系改革和电工电子工科教学基地建设两项教学改革研究成果。要求高等本科在校学生能够自己动手完成简单的数字器件设计。 本次设计在自己手动焊接简易的PFGA板子上实现,并且在QusrtusII 9.0上利用VHDL设计数控分频器电路,利用数控分频原理设计音乐硬件演奏电路,并制定LPM-ROM 存储音乐数据,以“梁祝”乐曲为例,将音乐数据存储到LPM-ROM,就达到了已纯硬件的手段来实现乐曲演奏的效果,只要修改LPM-ROM所存储的音乐数据,将其转换为其他的音乐数据,再重新制定LPM-ROM,在连接到程序中就可以实现其他与取得演奏。 本次设计采用的FPGA主芯片位ALTERA公司的FLEX系列的EPF10K10LC84-4。由于板子是自己手动在万用板上焊接的所以只焊接了必要的外设如蜂鸣器和LED。 关键词 FPGA;音乐播放器;QuartusII;VHDL;

目录 摘要............................................................................................................................................ I 第一章前言 (2) 1.1关于EDA技术 (2) 1.2 关于VHDL (2) 1.3 关于EDA工具 (3) 1.4 有关本次课程设计 (3) 第二章设计实现 (4) 2.1音乐演奏电路原理 (4) 2.1.1音符频率的获得 (4) 2.1.2乐曲节奏的控制............................................................ 错误!未定义书签。 2.1.3乐谱发生器.................................................................... 错误!未定义书签。 2.1.4乐曲演奏电路原理框图................................................ 错误!未定义书签。 2.2音乐硬件演奏电路的设计实现 (5) 2.2.1各个模块的功能简介.................................................... 错误!未定义书签。 2.2.2 music模块 (6) 2.3地址发生器模块 (8) 2.3.1地址发生器的VHDL设计 (8) 2.3.2波形仿真 (9) 2.4分频预置数模块 (9) 2.4.1分频预置数模块的VHDL设计 (9) 2.4.2波形仿真 (10) 2.5十六进制模块......................................................................... 错误!未定义书签。1 2.5.1十六进制模块的VHDL设计........................................ 错误!未定义书签。1 2.5.2波形仿真...................................................................... 错误!未定义书签。1 2.6数控分频模块......................................................................... 错误!未定义书签。2 2.6.1数控分频模块的VHDL设计.......................................... 错误!未定义书签。 2.6.2 波形仿真....................................................................... 错误!未定义书签。 2.7 分频模块 (13) 2.8顶层模块 (15) 结论 (17) 参考文献 (18)

音乐播放器java源代码

package com.ding.player; import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.SourceDataLine; public class Player { private String path;//文件路径 private String name;//文件名称 private AudioFormat audioFormat;//播放格式 private AudioInputStream audioInputStream;//音乐播放输入流 private SourceDataLine sourceDataLine;// 播放设备 private boolean isStop = false;// 播放停止标志 /** * 创建对象时需要传入播放路径及文件名称 * @param path * @param name */ public Player(String path ,String name) { this.path = path; https://www.doczj.com/doc/f21978511.html, = name; } /** * 播放音乐 */ public void play() { File file = new File(path + name); try { //获取音乐播放流 audioInputStream = AudioSystem.getAudioInputStream(file); //获取播放格式 audioFormat = audioInputStream.getFormat(); /*System.out.println("取样率:"+ audioFormat.getSampleRate());

蜂鸣器的介绍

蜂鸣器的介绍 推荐 一)蜂鸣器的介绍 1.蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 2.蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 3.蜂鸣器的电路图形符号蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。 (二)蜂鸣器的结构原理 1.压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 2.电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 一、常规电磁蜂鸣器产品是如何工作的? 无源电磁蜂鸣器工作原理是:交流信号通过绕在支架上的线包在支架的芯柱上产生一交变的磁通,交变的磁通和磁环恒定磁通进行叠加,使钼片以给定的交流信号频率振动并配合共振腔发声。产品的整个频率和声压的响应曲线与间隙值、钼片的固有振动频率(可粗略折射为小钼片的厚度)、外壳(亥姆霍兹共振声腔)频率、磁环的磁强漆包线的线径有直接关系。 二、常规电磁无源蜂鸣器产品由哪些材料组成? 三、常规压电蜂鸣器产品是如何工作的?

相关主题
文本预览
相关文档 最新文档