虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

反激<b>变换器</b>

  • 单片机音乐中音调和节拍的确定方法

    单片机音乐中音调和节拍的确定方法:调号-音乐上指用以确定乐曲主音高度的符号。很明显一个八度就有12个半音。A、B、C、D、E、F、G。经过声学家的研究,全世界都用这些字母来表示固定的音高。比如,A这个音,标准的音高为每秒钟振动440周。 升C调:1=#C,也就是降D调:1=BD;277(频率)升D调:1=#D,也就是降E调:1=BE;311升F调:1=#F,也就是降G调:1=BG;369升G调:1=#G,也就是降A调:1=BA;415升A调:1=#A,也就是降B调:1=BB。466,C 262   #C277   D 294   #D(bE)311  E 330   F 349   #F369   G 392  #G415A 440.    #A466    B 494 所谓1=A,就是说,这首歌曲的“导”要唱得同A一样高,人们也把这首歌曲叫做A调歌曲,或叫“唱A调”。1=C,就是说,这首歌曲的“导”要唱得同C一样高,或者说“这歌曲唱C调”。同样是“导”,不同的调唱起来的高低是不一样的。各调的对应的标准频率为: 单片机演奏音乐时音调和节拍的确定方法 经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与 ,2(来)与 ……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例, 12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例:   A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272μs 由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:t = T/2 = 2272/2 = 1136μs这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,则定时器的予置初值由下式来确定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  将t=1136μs代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。 音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=C  、1=G …… 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联, 、 就是用来表示节拍的。以 为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如:      其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程序,比如说以十六分音符的时长为基本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。下面给出部分音符(三个八度音)的频率以及以单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值 : C调音符  频率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC调音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7频率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C调音符  频率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02

    标签: 单片机 音调

    上传时间: 2013-10-20

    上传用户:哈哈haha

  • 对应做b/s开发的程序员来说

    对应做b/s开发的程序员来说,eWebEdit这个名字肯定不会陌生吧,这个是其最新版本(ASP)的超文本编辑器,功能强大到有些恐怖,强烈推荐使用

    标签: 程序员

    上传时间: 2014-11-30

    上传用户:cuibaigao

  • 【问题描述】已知线性方程组AX=B

    【问题描述】已知线性方程组AX=B,求解该方程组。参考算法: 消去法:将列向量B加到矩阵A的最后一列,构成增广矩阵AB。对AB进行下列三种初等变换,使原矩阵A的部分的主对角线上的元素均为1,其余元素均为0,则原列向量B的部分即为X的值: 1. 将矩阵的一行乘以一个不为0的数 2. 将矩阵的一行加上另一行的倍数 3. 交换矩阵中两行的位置

    标签: AX 线性 方程

    上传时间: 2015-06-18

    上传用户:stvnash

  • B/S版ERP安装方法 1、安装IIS5.0、Microsoft .NET Framework 1.1及SQL Server2000 2、将目录Copy_of_ERP和webctrl_clie

    B/S版ERP安装方法 1、安装IIS5.0、Microsoft .NET Framework 1.1及SQL Server2000 2、将目录Copy_of_ERP和webctrl_client复制到C:/Inetpub/wwwroot下,并将Copy_of_ERP目录设置成IIS虚拟目录 3、在SQL Server2000中新建一个Storage用户和LXTXERP数据库,然后将Data目录中的LXTXERP.BAK数据库备份文件还原 4、修改Copy_of_ERP目录下的Web.config文件的连接属性sa用户的密码: <add key="mydns" value="data source=(local) initial catalog=LXTXERP persist security info=False user id=sa pwd=123 workstation id=jl packet size=4096" /> 5、在Windows管理工具中打开Internet 服务管理器,运行Copy_of_ERP中的Login.aspx打开ERP登录页面,默认用户:admin 密码:123 6、OK

    标签: webctrl_clie Copy_of_ERP Framework Microsoft

    上传时间: 2015-12-09

    上传用户:zhuimenghuadie

  • 本书提供用J B u i l d e r开发数据库应用程序、创建分布式应用程序以及编写J a v a B e a n 组件的高级资料。它包括下列几个部分: • 第一部分是“开发数据库应用

    本书提供用J B u i l d e r开发数据库应用程序、创建分布式应用程序以及编写J a v a B e a n 组件的高级资料。它包括下列几个部分: • 第一部分是“开发数据库应用程序”,它提供关于使用J b u i l d e r的D a t a E x p r e s s数据 库体系结构的信息,并解释原始数据组件和类之间的相互关系,以及怎样使用它 们来创建你的数据库应用程序。它还解释怎样使用Data Modeler(数据模型器)和 Application Generator(应用程序生成器)创建数据驱动的客户机/服务器应用程 序。 • 第二部分是“开发分布式应用程序”,它提供关于使用ORB Explorer、用J B u i l d e r 创建多级的分布应用程序、调试分布式应用程序、用J a v a定义C O R B A接口以及 使用s e r v l e t等的信息。 • 第三部分是“创建J a v a B e a n”,它解释怎样开发新的J a v a B e a n组件,描述在组件 开发中涉及的任务, 怎样使用B e a n s E x p r e s s创建新的J a v a B e a n,以及关于属性、 事件、B e a nIn f o类和其他方面的详细情况。

    标签: 8226 数据库 应用程序

    上传时间: 2014-01-03

    上传用户:wpt

  • (1)变换模块 本模块包含两部分内容:利用 反变换规则将 坐标系下的两相电流转换成三相电流;利用间接矢量控制

    (1)变换模块 本模块包含两部分内容:利用 反变换规则将 坐标系下的两相电流转换成三相电流;利用间接矢量控制,得到转子角位移,公式如下(2) 电流滞环控制器(Hysteresis current controller)模块(3) 电压源型逆变器(Voltage sourse inverter,VSI)模块 (4) 变换模块(5) 感应电机(IM)模块 该感应电机模型是基于交流电机的电路方程、转矩方程以及运动方程建立起来的。该仿真模块为一个三输入、六输出的系统子模块。输入为 坐标系中定子电压,输出则是 坐标系中的转子电流和转子磁链,以及输出的转矩。(6) 电流反馈模块(7)速度控制器模块

    标签: 变换模块 三相电流 变换

    上传时间: 2014-03-10

    上传用户:yy541071797

  • IntraWeb电影程序 B/S类型的演示 Delphi+Internet 开发的电影服务器 系统登录电影网站的用户名和密码都是admin 观看电影的最低要求: 请确保你的系统已经安装媒体播放

    IntraWeb电影程序 B/S类型的演示 Delphi+Internet 开发的电影服务器 系统登录电影网站的用户名和密码都是admin 观看电影的最低要求: 请确保你的系统已经安装媒体播放器9.0和RealOne播放器并且得升级浏览器为IE6.0以上,且系统比较支持COOKIE. 程序占用了90端口.在运行时请确保此端口没被其它程序占用.

    标签: IntraWeb Internet Delphi admin

    上传时间: 2013-12-18

    上传用户:lijinchuan

  • sourceforge历史版本完整下载: http://sourceforge.net/project/showfiles.php?group_id=202044 提供了基于b树索引算法的文件数据数据

    sourceforge历史版本完整下载: http://sourceforge.net/project/showfiles.php?group_id=202044 提供了基于b树索引算法的文件数据数据库模块详见storage/目录下面的 btree.c与pager.c container目录为常用的容器实现,如果rbtree avltree map heap list vector hashtable deque T树 B树, test目录为测试程序代码经过初步测试,比较稳定。 os_api:装一些操作系统相关的接口函数。已完成event mutex sem thread pipe相关的封装 advance_container:提供优先级消息队列,普通消息队列,定时器容器。 frame:目前提供了listerner(linux下版本,模仿ace的反应器)定时器 algorithm:补充了堆排序 与快速排序 所有代码均已在windows linux与uclinux + arm44b0平台下测试 欢迎交流 msn:lsccsl@163.net mail:lsccsl@tom.com

    标签: sourceforge showfiles group_id project

    上传时间: 2016-07-16

    上传用户:lili123

  • 程序清单A中收录了产生PPM-TH和PAM-DS这两个信号源的所有函数;程序清单B中收录了加性高斯白噪声(AWGN)信道建模

    程序清单A中收录了产生PPM-TH和PAM-DS这两个信号源的所有函数;程序清单B中收录了加性高斯白噪声(AWGN)信道建模,正交和非正交单脉冲PPM-TH接收机结构,以及反极性PAM-DS单脉冲接收机结构仿真所需的所有函数。

    标签: PPM-TH PAM-DS AWGN 程序

    上传时间: 2013-12-22

    上传用户:hwl453472107

  • --文件名:mine4.vhd。 --功能:实现4种常见波形正弦、三角、锯齿、方波(A、B)的频率、幅度可控输出(方波 --A的占空比也是可控的)

    --文件名:mine4.vhd。 --功能:实现4种常见波形正弦、三角、锯齿、方波(A、B)的频率、幅度可控输出(方波 --A的占空比也是可控的),可以存储任意波形特征数据并能重现该波形,还可完成 --各种波形的线形叠加输出。 --说明: SSS(前三位)和SW信号控制4种常见波形种哪种波形输出。4种波形的频率、 --幅度(基准幅度A)的调节均是通过up、down、set按键和4个BCD码置入器以及一 --个置入档位控制信号(ss)完成的(AMP的调节范围是0~5V,调节量阶为1/51V)。 --其中方波的幅度还可通过u0、d0调节输出数据的归一化幅值(AMP0)进行进一步 --细调(调节量阶为1/(51*255)V)。方波A的占空比通过zu、zp按键调节(调节 --量阶1/64*T)。系统采用内部存储器——RAM实现任意输入波形的存储,程序只支 --持键盘式波形特征参数置入存储,posting 为进入任意波置入(set)、清除(clr)状态 --控制信号,SSS控制存储波形的输出。P180为预留端口,

    标签: mine vhd 方波 波形

    上传时间: 2017-02-09

    上传用户:z1191176801