电子琴论文设计报告.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、设计原理: 1.1 音阶的产生 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T= 216--5﹡105/相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示: 1.2 实验环境 Keil uVision3 proteus 7 1.3 功能设计描述 按 k1—k7音调输出 按一下k8。在按k1—k7音频逆向输出 先按着k8再+k1键后会在音频输出歌曲,k1键停止 论文设计 1.4 主要知识点 Keil uVision3的使用及调试 proteus 7的使用及调试 定时器、中断、键盘接口 数字电路、模拟电路的相关知识 2、实现及编程 2.1程序框图 ) 论文设计 2.2电路原理图 2.3程序内容 7个音调的产生方法 按k2让音调逆向输出 如何按k8+k2放出音乐 和如何让音乐停止 2.4 汇编源程序 BUZZ EQU P2 BUZZ1 EQU P1.7 ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0 ORG 001BH LJMP TIME1 ORG 8000H MAIN: MOV SP,#90H MOV BUZZ,#0FFH MOV TMOD,#11H SETB ET0 SETB ET1 SETB EA CLR TR0 START: MOV R0, BUZZ CJNE R0,#0FFH,KEY1 CLR TR0 SJMP START KEY1: CJNE R0,#0FEH,KEY2 MOV 30H,#0FBH MOV 31H,#0E9H 论文设计 LJMP SET_TIMER KEY2: CJNE R0,#0FDH,KEY3 MOV 30H,#0FCH MOV 31H,#5CH LJMP SET_TIMER KEY3: CJNE R0,#0FBH,KEY4 MOV 30H,#0FCH MOV 31H,#0C1H LJMP SET_TIMER KEY4: CJNE R0,#0F7H,KEY5 MOV 30H,#0FCH MOV 31H,#0EFH LJMP SET_TIMER KEY5: CJNE R0,#0EFH,KEY6 MOV 30H,#0FDH MOV 31H,#045H LJMP SET_TIMER KEY6: CJNE R0,#0DFH,KEY7 MOV 30H,#0FDH MOV 31H,#92H LJMP SET_TIMER KEY7: CJNE R0,#0BFH,KEY8 MOV 30H,#0FDH MOV 31H,#0D6H LJMP SET_TIMER KEY8: CJNE R0,#7FH,NOKEY LOOP1:MOV R0, BUZZ CJNE R0,#7DH,LOOP LJMP MAIN1 LOOP: CJNE R0,#0FFH,LOOP1 LJMP OSTART SET_TIMER: SETB TR0 SJMP START NOKEY: CLR TR0 SJMP START INT_T0: MOV TH0,30H MOV TL0,31H CPL BUZZ1 RETI ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; OSTART: MOV R0, BUZZ CJNE R0,#0FFH,OKEY1 CLR TR0 SJMP OSTART OKEY1: CJNE R0,#0BFH,OKEY2 MOV 30H,#0FBH MOV 31H,#0E9H LJMP OSET_TIMER OKEY2: CJNE R0,#0DFH,OKEY3 MOV 30H,#0FCH MOV 31H,#5CH LJMP OSET_TIMER OKEY3: CJNE R0,#0EFH,OKEY4 MOV 30H,#0FCH MOV 31H,#0C1H LJMP OSET_TIMER OKEY4: CJNE R0,#0F7H,OKEY5 MOV 30H,#0FCH MOV 31H,#0EFH LJMP OSET_TIMER OKEY5: CJNE R0,#0FBH,OKEY6 MOV 30H,#0FDH MOV 31H,#045H LJMP OSET_TIMER OKEY6: CJNE R0,#0FDH

文档评论(0)

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

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

1亿VIP精品文档

相关文档