简易电子琴的设计与仿真Word文档格式.docx

上传人:b****3 文档编号:16353942 上传时间:2022-11-23 格式:DOCX 页数:13 大小:136.22KB
下载 相关 举报
简易电子琴的设计与仿真Word文档格式.docx_第1页
第1页 / 共13页
简易电子琴的设计与仿真Word文档格式.docx_第2页
第2页 / 共13页
简易电子琴的设计与仿真Word文档格式.docx_第3页
第3页 / 共13页
简易电子琴的设计与仿真Word文档格式.docx_第4页
第4页 / 共13页
简易电子琴的设计与仿真Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

简易电子琴的设计与仿真Word文档格式.docx

《简易电子琴的设计与仿真Word文档格式.docx》由会员分享,可在线阅读,更多相关《简易电子琴的设计与仿真Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

简易电子琴的设计与仿真Word文档格式.docx

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单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。

对软件编程、排错调试相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

这个课程设计也培养了我们的耐心和毅力,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,由于这个课程设计也使我积累了一些经验,相信这些经验在我以后的学习工作中会有很大的作用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1