欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    电子琴详解.docx

    • 资源ID:2093165       资源大小:117.42KB        全文页数:7页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子琴详解.docx

    让单片机奏乐-单片机电子琴实验 让单片机奏乐-单片机电子琴实验实验目的用分立电子元件制作报警器或简易电子琴一直是传统电子入门实验或电子 小制作的主打科目。现在,用单片机做此类实验已成为单片机学习入门级的必修课程之一。而且,因单片机自带有定时器,用单片机比分立元件在硬件搭建上要简 便。使用超简单单片机学习套材中的音响模块则使这一工作变得更加简单。另外,BASCOM中开发有专门的发生语 句:SOUND,使得程序实现也非常简单,因此,这个实验非常适合在较低水平的中小学生中开展。因为可以发声,可以演奏自己喜欢的乐曲,是个充满乐趣的单 片机实验,所以这个实验是中小学生学习单片机非常好的入门教材 。大多数单片机学习板都是带一个蜂鸣器来做音响实验,蜂鸣器因其自身特 点,只适合做一些报警器之类的实验,做音乐方面的实验时,音质实在难以接受。超简单单片机实验套材中的音响模块使用 35mm的小喇叭,配有音量调节和耳机插孔,使用者可以控制音量或是戴上耳机而不会影响他人,这就很适合在课堂上开展多人的活动。在调试阶段互不干扰, 最后再各自拿出自己的作品予以展示。难度等级:初级电子乐常识物理音高与音乐音高从物理学中声学的角度讲,声音分为噪音和乐音,无规律的振动称 为噪音,而有规律的振动则称为乐音。好多个有规律的振动按照一定的关系排列在一起则构成了音列。人类对自然界中的声音经过大量的研究后,从中找到了 CDEFGAB这七个基本音级,其中A的频率是440赫兹,我们人为地把A定作标准音,只要振动频率达到440赫兹的音就是A,这个音不但用于乐器当中, 就是在生活中应用的也比较多,例如:汽车的喇叭声和电话的振铃声音都是A音。根据这个标准音推算出C的频率为261赫兹等,这种用数学方法算出来的音高我 们称之为“物理音高”。现在已有专门测量音高的仪器,选定几个音用仪器去校对,如果同仪器的音一致就不显示,若同仪器的音高不一致则会提示你是偏高或偏 低。物理上的音高属于纯理论的音高、是一种物理现象,但在实际生活中,音 乐音高与物理音高有很大的差别。 我们在演奏之前,先要同标准音A校对,而后再根据五度关系把其它几根弦调准。这个时候如果用频率仪器测量的话,会发现实际音高和测量音高存在差异,实际音 高已经比较准了,但测量后的音高有些不准。经研究调查,也证实了实际音高与物理音高存在误差,这个误差一般为四、五个音分左右。我们的耳朵不但听不出来这 个误差而且听上去还很和谐。这仅仅是调弦时的音准,在实际演奏乐曲当中随着乐思的变化,实际音高与物理音高不可避免存在许多差异,我们把这种实际音高称为 “音乐音高”。音乐是用来表达人或物的思想感情的,无论是自己演奏还是听别人演奏,能充分表达乐曲的思想内涵,音准就显得尤为重要了。 由此可以看出,物理音高是一种机械的、单一的,纯理论的音准概念,而 音乐音高是一种灵活的、多变的、带有人的思想感情的音准概念。物理音高是音乐音高的基础,音乐音高是物理音高的升华和体现,二者相辅相成、缺一不可。 音乐中使用的有固定音高的音(即乐音)的总和称乐音体系。按现在通用的十二平均律,从最低音(每秒振动16次左右)到最高音(每秒振动4186次),整个 乐音体系中约有97个音。乐音体系中的音,按照上行即从低到高或下行即由高到低的次序排列起来的音叫做音列。我们在钢琴上可以明显地看出乐音体系中所使用 的音和音列。现代标准的钢琴是音域最宽的乐器,有88个键,能奏出88个音高不同的乐音,也就是说钢琴由88个音高各不相同的音。除此之外的音很少用在音 乐中。用单片机定时器产生音符的方法要想让单片机发出音乐声,其实很简单,用单片机的定时器产生出与音符 频率对应数量的脉冲即可。首先要搞懂几个量值,他们是定时器频率;要发出的乐音或音符的频率;计数脉冲值;和定时器初值。定时器初值与计数脉冲的关系如下:T = K - N· K:= 0xFFFF+1,即16位定时器发生溢出中断的数值,即十进制的65536· T:定时器初值· N:计数脉冲值这里定时器一般都工作在溢出中断的模式,对一个16位的定时器来说, 定时计数的最大值为0xFFFF,再加1就溢出了,从而发生中断。所以要想在指定的脉冲数发生后产生中断,就要用这个最大值K减需要的脉冲数N,得出定时 器初值T。计数脉冲值与音符频率的关系如下:N=Ft/2/Fm· N:计数脉冲值· Ft:定时器时钟频率· Fm:要产生的音符频率上式表示的是定时器的工作原理。要产生某个音符的音频脉冲,只要算出 这个音频的周期即1/频率,然后将此周期除以2,即为半周期的时间。利用定时器计时这个半周期时间,每当计时到后(发生中断,在中断服务程序中要处理的事 情)就将输出脉冲的I/O反相,如此反复就可在I/O脚上得到此频率的50%占空比的脉冲。举例:设K=65536,定时器时钟频率Ft=1MHz(注),给定为 1MHz,即内部计时一次为1uS。求低音DO(262Hz)、中音DO(523Hz)、高音DO(1046Hz)的定时器初值。 T=65536-N=65536-Ft÷2÷Fm=65536-1000000÷2÷Fm=65536-500000/Fm低音DO的T=65536-500000/262=63627 中音DO的T=65536-500000/523=64580 高音DO的T=65536-500000/1046=65058 注:定时器时钟频率由所选单片机的系统时钟决定,例如AVR的 Atmega48缺省系统时钟是8MHz,经8分频后就可以得到1MHz的定时器时钟频率。 音符音符频率计数脉冲定时器初值对照表音符FrNT低音12621908636281#27718056373122941701638352#311160863928333015156402143491433641034#37013516418553921276642605#41512056433164401136644006#4661073644637494101264524中音1523956645801#554903646332578865646712#622804647323659759647774698716648204#740676648605784638648985#831602649346880568649686#93253665000798850665030高音11046478650581#11094516508521175426651102#124540265134313183796515741397358651784#14803386519851568319652175#16613016523561760284652526#1865268652687197625365283硬件搭建本实验用超简单单片机实验套材中的AVR主板和音响模块完成。取C型3位 跳线一根,一端接AVR实验主板的 PORTC.0位置,另一段接音响模块的J1插座。取1位跳线一 根,一端插在AVR主板端口PORTD的(PD)0位置,一端悬空。实验开始时,将一线眺线的悬空端接触AVR主板上的GND(地)插针排的任意引脚,即 启动演奏。程序代码'-$regfile = "m48def.dat"$crystal = 8000000Dim S As Integer , F As IntegerDim A As ByteConfig Pind.0 = InputPortd.0 = 1Config Portc.0 = OutputPortc.0 = 1Do Bitwait Pind.0 , ResetRestore Music_1Do Read S : Read FIf S = 0 And F = 0 Then Exit DoSound Portc.0 , S , FLoopPortc.0 = 1LoopEndMusic_1:Data 150% , 1276% , 50% , 1276%Data 200% , 1137% , 200% , 1276%Data 200% , 956% , 400% , 1012%Data 150% , 1276% , 50% , 1276%Data 200% , 1137% , 200% , 1276%Data 200% , 865% , 400% , 956%Data 150% , 1276% , 50% , 1276%Data 200% , 638% , 200% , 759%Data 200% , 956% , 200% , 1012%Data 200% , 1136% , 150% , 717%Data 50% , 717% , 200% , 759%Data 200% , 956% , 200% , 865%Data 400% , 956% , 0% , 0%'目标单片机为ATmega48'使用内部8M晶振'''设置PD0口作为输入口'设置PD0口的上拉电阻有效'设置PC0口作为输出口'PC0输出高电平''等待直到PD0口为低电平'程序指向乐曲数据''读入节拍值和音符值'均为0 结束乐曲'演奏乐音''PC0输出高电平''' "生日快乐"的乐曲数据'''''''''''''程序讲解BASCOM中有关音乐演奏的语句SOUND pin, duration, pulses · pin:是用来产生乐音的I/O口· duration:乐音延续时间,也就是节拍· pulses:要发出乐音脉冲数(N)本程序非常简单,演奏生日快乐歌。端口PORTD.0用作开始演奏的启动开关, 程序初始化时,置高电位,然后等待该端口变为低(开关按下)。然后循环从乐曲数据处读取节拍和乐音,从端口PORTC.0发出乐音,直至节拍和乐音都为 0,结束。乐曲数据的排放顺序是:节拍、乐音脉冲数。读者可以试着改变节拍的数值,看看效果如何。观看演示>>/-/                                源 程序大公开                              /                    (c) COPYRIGHT 20012002 xuwenjun                     /                            All Rights Reserved                           /                                    V1.00                                 /-/ 标题: 单片机IO口播放乐曲                                                /版 本: V1.00                                                             / 文件名: xwj_lcd16.C                                                       / 创建人: 徐文军                         E-mail:xuwenjun           / 日期: 02-11-5                                                           / 描述: 单片机利用T1中断在IO口P1.0输出乐曲                                /声 明:                                                                   /        以 下代码仅免费提供给学习用途,但引用或修改后必须在文件中声明出处. /        如用于商业用途请与作者联系.    E- mail:xuwenjun           /        有问题请mailto xuwenjun   欢迎与我交流!                  /-/ 修改人: 徐文军                         E-mail:xuwenjun           / 日期: 02-11-5                                                           / 说 明:                                                                   /        单 片机用T1中断在IO口P1.0输出乐曲(在P1.0口与VCC间接一喇叭即可听到) /        1.由于输出的是方波,比较难 听:-)你也可以将波形细分用DA输出正弦波   /        2.由于T1频繁中断,任何其他中断发生都会是乐曲打顿,只适合试 验      /        3.优化音符编码:一个字节中包含节拍、音符、升降调,可区分数据和命令/                        同 时人工将音符译为机器码非常容易。(格式看下面实例)/-/#include <reg52.h>#include <intrins.h>#define  FREQ 11059200    /  音 乐_编码2 - 存储器定义  /unsigned CHAR code music_tab1=    /音符码格式:| D7 |D6  D5  D4| D3 |D2  D1  D0|                                     / 梁祝       |变调|      节拍|升降|     音符 |    0xcb,                            / 示例:0xcb=11001011B,即升调,4/16拍,3Mi低音    0x35,0x16,0xb9,0x12,0x96,0x99,0xa5,    0xbd,0x99,0x96,0x15,0x13,0x15,0x62,    0x32,0x13,0xa7,0x26,0x25,0x16,0xa9,0x22,    0xa3,0xa9,0x96,0x15,0x16,0x99,0xe5,    0xbb,0x15,0xa7,0xaa,0x96,0x99,0xd5,    0x13,0x15,0x23,0x15,0x16,0x17,0x9a,0xd6,0x15,0x16,    0xb9,0x12,0x25,0x23,0x23,0x22,0x13,0x12,0x21,0x96,0x15,    0x43,0xc9,0x96,0x99,0x96,0x15,0x13,0x

    注意事项

    本文(电子琴详解.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开