电子琴设计3.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简易电子琴的设计 一. 设计目的 设计一个简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符,并且能具备自动播放功能。 使用元件:AT89C51,喇叭,按键,三极管等。 (1).能够实现基本的琴键功能 即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置通过程序来控制,使蜂鸣器发著不同频率的声音,声音延迟延迟一段时间,等到按键放开后,声音停止。然后再继续扫描,看是否有键按下,如此循环下去,即实现基本的琴键功能。 (2).能够实现通过按键自动播放歌曲的功能 在键盘上设置一个功能键,按下之后会根据功能键跳转到自动播放歌曲的程序,来播放相应的歌曲。 本次设计硬件部分的设计由周桂龙同学负责,软件部分的设计则由周彬负责。 二.系统设计 2.1最小系统 单片机:本次设计使用单片机芯片AT89C51,AT89C51的工作特性: ·内含4KB的FLASH存储器檫写次数1000次; ·内含128字节的RAM; ·具有32根可编程I/O线; ·具有2个16位编程定时器 ·具有6个中断源,5个中断矢量,2级优先权的中断结构; ·具有1个全双工的可编程串行通信接口; ·具有1个数据指针DPTR; ·具有可编程3级程序锁定位; ·AT89C51的工作电源为5(1±0.2)V且典型值为5V; ·AT89C51最高工作频率为24MHZ; ·AT89C51的编程频率为3~24MHZ,编程启动电流和启动电压分别为1mA、5或12V。 图(1) 2.2硬件设计 51单片机的P2口连接8个按钮开关,作为电子琴的琴键键盘,喇叭接与P1.0口,用两个NPN型的三极管组成放大电路来驱动喇叭播放音乐。P3.0口作为自动音乐播放控制口,连接一个按钮开关,当按下该按钮时,喇叭自动播放歌曲。系统总框图如图(2)所示。 图(2) 2.3软件设计 (1)主程序(弹奏程序) 主程序的功能是给寄存器赋初值,判断播放键是否按下,即P3.0是否为0,按下则转入播放子程序,若没按下则进入弹奏程序,判断有无键盘按下,即读取P2口的状态,有则播放相应的音调。主程序流程图如图(3)所示。 音调实际上是有固定周期的信号,每个音调的频率都是固定的。因此只要计算出每个音的频率就可以产生相应的声音。在弹奏程序中利用查表法,根据表(1)将开关状态转换成延时子程序的执行次数,而延迟子程序是为了产生音频的半周期,其延时时间等于(10A+2)us。 另外,按钮开关S1的键值取1,S2的键值取2……依次类推。若按下S1的话,则读取表格中的第一个数据,即ACC=95,执行一次延时子程序,其半周期约为0.95ms,执行2次则为1.9ms,其频率为526Hz,大概是中音的Do。其他键也是一样的算法。 延时程序如下: DELAY: NOP ;1us MOV R4,#3 ;1us DJNZ R4,$ ;2*R7us DJNZ 22H,DELAY ;2us RET ;2us 上面程序的时间延迟为: t= A*(1+1+2*R4+2)+2 = A*(1+1+2*3+2)+2 = (10A+2)us Y N YES NO N0 NO YES 图(3)主程序流程图 表(1) 按键 音阶 参数 S1 中音Do 95 S2 中音Re 85 S3 中音Mi 76 S4 中音Fa 71 S5 中音So 64 S6 中音La 57 S7 中音Si 50 S8 高音Do 48 (2)播放子程序 播放子程序流程图如图(4)所示。 此次所要演奏的音乐是《生日快乐》,将乐谱简化成音谱,如下所示。 |DO DO RE DO |FA MI |DO DO RE DO |SO FA | |DO DO DO^LA |FA MI RE^|SI SI LA FA |SO FA | 再根据表(2),将THx与TLx的值带入音谱,如下所示。 第一小节:252,68,252,68,252,173,252,68 第二小节: 253,52,253,10 第三小节:252,68,252,68,252,173,252,68 第四小节:253,131,253,52 第五小

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档