简易电子琴的设计与仿真_第1页
简易电子琴的设计与仿真_第2页
简易电子琴的设计与仿真_第3页
简易电子琴的设计与仿真_第4页
简易电子琴的设计与仿真_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计报告简易电子琴的设计与仿真1、设计原理:1.1 音阶的产生由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T= 216-5105/相应的频率 ,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:1.2 实验环境K

2、eil uVision3proteus 71.3 功能设计描述按 k1k7音调输出按一下k8。在按k1k7音频逆向输出先按着k8再+k1键后会在音频输出歌曲,k1键停止1.4 主要知识点Keil uVision3的使用及调试proteus 7的使用及调试定时器、中断、键盘接口数字电路、模拟电路的相关知识2、实现及编程2.1程序框图)2.2电路原理图2.3程序内容7个音调的产生方法按k2让音调逆向输出如何按k8+k2放出音乐 和如何让音乐停止2.4 汇编源程序BUZZ EQU P2BUZZ1 EQU P1.7ORG 0000HLJMP MAINORG 000BHLJMP INT_T0 ORG 0

3、01BH LJMP TIME1 ORG 8000H MAIN: MOV SP,#90H MOV BUZZ,#0FFHMOV 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

4、:CJNE R0,#0FBH,KEY4MOV 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

5、MOV 31H,#0D6HLJMP SET_TIMER KEY8:CJNE R0,#7FH,NOKEY LOOP1:MOV R0, BUZZ CJNE R0,#7DH,LOOP; OSTART:MOV R0, BUZZ CJNE R0,#0FFH,OKEY1LJMP MAIN1LOOP:R0,#0FFH,LOOP1LJMP OSTARTSET_TIMER: SETB TR0 SJMP START NOKEY: CLR TR0 SJMP START INT_T0:MOV TH0,30H MOV TL0,31H CPL BUZZ1 RETICJNECLR TR0 SJMP OSTART OKEY1

6、: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_TIMEROKEY4:CJNE R0,#0F7H,OKEY5 MOV 30H,#0FCH MOV 31H,#0EFH LJMP OSET_TIMER OKEY5:CJNE R0,#0FBH,OKEY6 M

7、OV 30H,#0FDH MOV 31H,#045H LJMP OSET_TIMER OKEY6:CJNE R0,#0FDH,OKEY7 MOV 30H,#0FDH MOV 31H,#92H LJMP OSET_TIMER OKEY7:CJNE R0,#0FEH,OKEY8 MOV 30H,#0FDH MOV 31H,#0D6H LJMP OSET_TIMER OKEY8:CJNE R0,#07FH,ONOKEYLOOP2:MOV R0, BUZZ CJNE R0,#7DH,LOOP3LJMP MAIN1LOOP3:CJNER0,#0FFH,LOOP2LJMP START OSET_TIMER

8、: SETB TR0 SJMP OSTART ONOKEY: CLR TR0 LJMP OSTART ; ;MAIN1: MOV 40H,#00HNEXT: MOV R0, BUZZ MOV 41H,R0 ORL 41H ,#0FEH MOV R0,41HCJNE R0,#0FFH,STOPMOV A,40HMOV DPTR,#SONG INC A MOVC A,A+DPTRMOVC A,A+DPTRCJNE A,#00H,PLAY MOV TL1,A LJMP STOPMOV 20H,APLAY: MOV R1,A SETB TR1 ANL A,#0FH MOV R2,A MOV A,R1A

9、NL A,#0F0H CJNE A,#00H,MUSIC CLR TR1 LJMP DEL MUSIC:SWAP A DEC A MOV 22H,A ADD A,22H MOV R3,AMOV DPTR,#SONG1 MOVC A,A+DPTR MOV TH1,A MOV 21H,A MOV A,R3DEL: LCALL DELAY INC 40H LJMP NEXTSTOP: CLR TR1 LJMP STARTTIME1:PUSH ACC PUSH PSWCPL BUZZ1 MOV TL1,20H MOV TH1,21HPOP PSWPOP ACC RETIDELAY:MOV R7,#02

10、H DELA1:MOV R6,#125 DELA2:MOV R5,#248DJNZ R5,$DJNZ R6,DELA2 DJNZ R7,DELA1 DJNZ R2,DELAY RET SONG1:DW 64580,64684,64777,64820 DW64898,64968,65030,64260 DW64400,64524,65058,63835,64021SONG :;月亮代表我的心; DB 02H,82H DB 16H,32H,54H,02H,52H DB 0A6H,32H,54H,02H,52H DB 64H,74H,0B6H,64H DB 52H,5CH,32H,22HDB 16H

11、,12H,14H,32H,22HDB 16H,12H,14H,22H,32H DB 26H,12H,94H,22H,32H DB 2CH DB 32H,52H DB 36H,22H,14H,54H DB 0ACH,92H,0A2H DB 96H,0A2H,96H,82H DB 3CH,54H DB 36H,22H,14H,54H DB 0ACH,92H,0A2H DB 16H,12H,14H,22H,32H DB 2CH,02H,82H DB 16H,32H,56H,12H DB 0A6H,32H,56H,52H DB 66H,72H,0B6H,62H DB 62H,52H,58H,32H,2

12、2H DB 16H,12H,14H,32H,22H DB 16H,12H,14H,22H,32H DB 26H,92H,0A4H,12H,22H DB 1CH DB 00;END3、调试及测试31调试(按实际做的步奏)如按下k5后显示如下图:k1k7音调输出按一下k8。在按k1k7音频逆向输出先按着k8再+k1键后会在音频输出歌曲,k1键停止32测试在proteus环境下点击k1-k7 看看发出的音是不是正确的 K8键按后是否音调是逆向的K8+k1是否音乐输出在调试源代码中采用分块测试:音频输出、按键音乐播放最后采用组合调试33出现的问题及解决在做k8按键 检查k到8直到k8放开才跳转 一直出错。原来是忘了继续检测p2口。TMOD设置错误4、课程设计总结4.1 在此设计基础上还可以增加的功能及设计思路即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置通过程序来控制,使蜂鸣器发著不同频率的声音,声音延迟延迟一段时间,等到按键放开后,声音停止。然后再继续扫描,看是否有键按下,如此循环下去,即实现基本的琴键功能还可以增加播放下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论