简易电子琴的设计与仿真Word文档格式.docx
- 文档编号:16353942
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:13
- 大小:136.22KB
简易电子琴的设计与仿真Word文档格式.docx
《简易电子琴的设计与仿真Word文档格式.docx》由会员分享,可在线阅读,更多相关《简易电子琴的设计与仿真Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
64968
中7SI
988
65030
1.2实验环境
KeiluVision3
proteus7
1.3功能设计描述
按k1—k7音调输出
按一下k8。
在按k1—k7音频逆向输出
先按着k8再+k1键后会在音频输出歌曲,k1键停止
1.4主要知识点
KeiluVision3的使用及调试
proteus7的使用及调试
定时器、中断、键盘接口
数字电路、模拟电路的相关知识
2、实现及编程
2.1程序框图
)
2.2电路原理图
2.3程序内容
7个音调的产生方法
按k2让音调逆向输出
如何按k8+k2放出音乐和如何让音乐停止
2.4汇编源程序
BUZZEQUP2
BUZZ1EQUP1.7
ORG0000H
LJMPMAIN
ORG000BH
LJMPINT_T0
ORG001BH
LJMPTIME1
ORG8000H
MAIN:
MOVSP,#90H
MOVBUZZ,#0FFH
MOVTMOD,#11H
SETBET0
SETBET1
SETBEA
CLRTR0
START:
MOVR0,BUZZ
CJNER0,#0FFH,KEY1
SJMPSTART
KEY1:
CJNER0,#0FEH,KEY2
MOV30H,#0FBH
MOV31H,#0E9H
LJMPSET_TIMER
KEY2:
CJNER0,#0FDH,KEY3
MOV30H,#0FCH
MOV31H,#5CH
KEY3:
CJNER0,#0FBH,KEY4
MOV31H,#0C1H
KEY4:
CJNER0,#0F7H,KEY5
MOV31H,#0EFH
KEY5:
CJNER0,#0EFH,KEY6
MOV30H,#0FDH
MOV31H,#045H
KEY6:
CJNER0,#0DFH,KEY7
MOV31H,#92H
KEY7:
CJNER0,#0BFH,KEY8
MOV31H,#0D6H
KEY8:
CJNER0,#7FH,NOKEY
LOOP1:
MOVR0,BUZZ
CJNER0,#7DH,LOOP
LJMPMAIN1
LOOP:
CJNER0,#0FFH,LOOP1
LJMPOSTART
SET_TIMER:
SETBTR0
NOKEY:
INT_T0:
MOVTH0,30H
MOVTL0,31H
CPLBUZZ1
RETI
;
OSTART:
CJNER0,#0FFH,OKEY1
SJMPOSTART
OKEY1:
CJNER0,#0BFH,OKEY2
LJMPOSET_TIMER
OKEY2:
CJNER0,#0DFH,OKEY3
OKEY3:
CJNER0,#0EFH,OKEY4
OKEY4:
CJNER0,#0F7H,OKEY5
OKEY5:
CJNER0,#0FBH,OKEY6
OKEY6:
CJNER0,#0FDH,OKEY7
OKEY7:
CJNER0,#0FEH,OKEY8
OKEY8:
CJNER0,#07FH,ONOKEY
LOOP2:
CJNER0,#7DH,LOOP3
LOOP3:
CJNER0,#0FFH,LOOP2
LJMPSTART
OSET_TIMER:
ONOKEY:
;
MAIN1:
MOV40H,#00H
NEXT:
MOV41H,R0
ORL41H,#0FEH
MOVR0,41H
CJNER0,#0FFH,STOP
MOVA,40H
MOVDPTR,#SONG
MOVCA,@A+DPTR
CJNEA,#00H,PLAY
LJMPSTOP
PLAY:
MOVR1,A
ANLA,#0FH
MOVR2,A
MOVA,R1
ANLA,#0F0H
CJNEA,#00H,MUSIC
CLRTR1
LJMPDEL
MUSIC:
SWAPA
DECA
MOV22H,A
ADDA,22H
MOVR3,A
MOVDPTR,#SONG1
MOVCA,@A+DPTR
MOVTH1,A
MOV21H,A
MOVA,R3
INCA
MOVTL1,A
MOV20H,A
SETBTR1
DEL:
LCALLDELAY
INC40H
LJMPNEXT
STOP:
TIME1:
PUSHACC
PUSHPSW
CPLBUZZ1
MOVTL1,20H
MOVTH1,21H
POPPSW
POPACC
DELAY:
MOVR7,#02H
DELA1:
MOVR6,#125
DELA2:
MOVR5,#248
DJNZR5,$
DJNZR6,DELA2
DJNZR7,DELA1
DJNZR2,DELAY
RET
SONG1:
DW64580,64684,64777,64820
DW64898,64968,65030,64260
DW64400,64524,65058,63835,64021
SONG:
月亮代表我的心;
DB02H,82H
DB16H,32H,54H,02H,52H
DB0A6H,32H,54H,02H,52H
DB64H,74H,0B6H,64H
DB52H,5CH,32H,22H
DB16H,12H,14H,32H,22H
DB16H,12H,14H,22H,32H
DB26H,12H,94H,22H,32H
DB2CH
DB32H,52H
DB36H,22H,14H,54H
DB0ACH,92H,0A2H
DB96H,0A2H,96H,82H
DB3CH,54H
DB2CH,02H,82H
DB16H,32H,56H,12H
DB0A6H,32H,56H,52H
DB66H,72H,0B6H,62H
DB62H,52H,58H,32H,22H
DB26H,92H,0A4H,12H,22H
DB1CH
DB00
END
3、调试及测试
3.1调试(按实际做的步奏)
如按下k5后显示如下图:
k1—k7音调输出
3.2测试
在proteus环境下点击k1-k7看看发出的音是不是正确的
K8键按后是否音调是逆向的
K8+k1是否音乐输出
在调试源代码中采用分块测试:
音频输出、按键音乐播放
最后采用组合调试
3.3出现的问题及解决
在做k8按键检查k到8直到k8放开才跳转一直出错。
。
原来是忘了继续检测p2口。
TMOD设置错误
4、课程设计总结
4.1在此设计基础上还可以增加的功能及设计思路
即每按下一个琴键,单片机能够检测到键盘的按键,并根据按键的位置通过程序来控制,使蜂鸣器发著不同频率的声音,声音延迟延迟一段时间,等到按键放开后,声音停止。
然后再继续扫描,看是否有键按下,如此循环下去,即实现基本的琴键功能
还可以增加播放下一首的功能。
4.2通过本课程设计的收获及感想
熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。
对软件编程、排错调试相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
这个课程设计也培养了我们的耐心和毅力,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,由于这个课程设计也使我积累了一些经验,相信这些经验在我以后的学习工作中会有很大的作用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 电子琴 设计 仿真