简易电子琴设计单片机课程设计.docx

上传人:b****1 文档编号:23153340 上传时间:2023-05-08 格式:DOCX 页数:12 大小:114.30KB
下载 相关 举报
简易电子琴设计单片机课程设计.docx_第1页
第1页 / 共12页
简易电子琴设计单片机课程设计.docx_第2页
第2页 / 共12页
简易电子琴设计单片机课程设计.docx_第3页
第3页 / 共12页
简易电子琴设计单片机课程设计.docx_第4页
第4页 / 共12页
简易电子琴设计单片机课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

简易电子琴设计单片机课程设计.docx

《简易电子琴设计单片机课程设计.docx》由会员分享,可在线阅读,更多相关《简易电子琴设计单片机课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

简易电子琴设计单片机课程设计.docx

简易电子琴设计单片机课程设计

简易电子琴设计

用单片机控制扬声器,弹奏出一段音乐。

一、预备知识:

乐曲由不同音符组成,各音符都有对应的频率,频率不同的方波加在扬声器上,

就产生一个持续的音符。

利用不同的音符、音高、音长组合,就可产生想要的音乐。

对于单片机来说,利用其定时器产生不同频率的方波非常方便,以11.0592、

22.1184MHz晶振(实验箱)为例,列出高中低音符与单片机定时器初值如下表所示

注意:

1、一个音段常见由7个标准音组成(1do、2ri、3mi、4fa、5sol、6la、7si),但实际

乐曲中还有一些介于2个标准音之间的音,即半度音,有1.5、2.5、4.5、5.5、6.5共

5个,所以完整的1个音段有12个音。

2、选择简谱时,尽量选用只含7个标准音的乐曲,而且要选C大调的(简谱左上角

标着1=CX/4),否则各音符的频率要做相应的变化。

10

二、设计目的

了解扬声器的发声原理,进一步熟悉定时器、键盘扫描、LED显示电路的工作

原理及编程方法。

三、设计内容

1、设计键盘、LED显示、扬声器驱动电路原理图;

2、设计程序流程图;

3、编程调试,利用按键作为琴键,按下不同的键发出相应的音调,同时在LED

最右位显示对应键号值。

四、参考接线

扬声器的SPK+端接VCC,SPK负端连接到某一I/O口。

五、设计步骤

程序:

KEYBUFEQU30H

STH0EQU31H

STL0EQU32H

TEMPEQU33H

ORG0000

LJMPMAIN

ORG000BH

LJMPINT_T0

MAIN:

MOVTMOD,#01H

SETBET0

SETBEA

WAIT:

MOVP3,#0FFH

CLRP3.4

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY1

LCALLDELAY

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY1

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK1

MOVKEYBUF,#0

LJMPDK1

NK1:

CJNEA,#0DH,NK2

MOVKEYBUF,#1

LJMPDK1

NK2:

CJNEA,#0BH,NK3

MOVKEYBUF,#2

LJMPDK1

NK3:

CJNEA,#07H,NK4

MOVKEYBUF,#3

LJMPDK1

NK4:

NOP

DK1:

MOVA,KEYBUF

MOVB,#2

MULAB

MOVTEMP,A

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSTH0,A

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVCA,@A+DPTR

MOVSTL0,A

MOVTL0,A

SETBTR0

DK1A:

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JNZDK1A

CLRTR0

NOKEY1:

MOVP3,#0FFH

CLRP3.5

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY2

LCALLDELAY

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY2

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK5

MOVKEYBUF,#4

LJMPDK2

NK5:

CJNEA,#0DH,NK6

MOVKEYBUF,#5

LJMPDK2

NK6:

CJNEA,#0BH,NK7

MOVKEYBUF,#6

LJMPDK2

NK7:

CJNEA,#07H,NK8

MOVKEYBUF,#7

LJMPDK2

NK8:

NOP

DK2:

MOVA,KEYBUF

MOVB,#2

MULAB

MOVTEMP,A

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSTH0,A

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVCA,@A+DPTR

MOVSTL0,A

MOVTL0,A

SETBTR0

DK2A:

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JNZDK1A

CLRTR0

NOKEY2:

MOVP3,#0FFH

CLRP3.6

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY3

LCALLDELAY

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY3

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK9

MOVKEYBUF,#8

LJMPDK1

NK9:

CJNEA,#0DH,NK10

MOVKEYBUF,#9

LJMPDK1

NK10:

CJNEA,#0BH,NK11

MOVKEYBUF,#10

LJMPDK1

NK11:

CJNEA,#07H,NK12

MOVKEYBUF,#11

LJMPDK3

NK12:

NOP

DK3:

MOVA,KEYBUF

MOVB,#2

MULAB

MOVTEMP,A

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSTH0,A

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVCA,@A+DPTR

MOVSTL0,A

MOVTL0,A

SETBTR0

DK3A:

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JNZDK3A

CLRTR0

NOKEY3:

MOVP3,#0FFH

CLRP3.7

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY4

LCALLDELAY

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JZNOKEY4

MOVA,P3

ANLA,#0FH

CJNEA,#0EH,NK13

MOVKEYBUF,#12

LJMPDK4

NK13:

CJNEA,#0DH,NK14

MOVKEYBUF,#13

LJMPDK4

NK14:

CJNEA,#0BH,NK15

MOVKEYBUF,#14

LJMPDK4

NK15:

CJNEA,#07H,NK16

MOVKEYBUF,#15

LJMPDK4

NK16:

NOP

DK4:

MOVA,KEYBUF

MOVB,#2

MULAB

MOVTEMP,A

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVSTH0,A

MOVTH0,A

INCTEMP

MOVA,TEMP

MOVCA,@A+DPTR

MOVSTL0,A

MOVTL0,A

SETBTR0

DK4A:

MOVA,P3

ANLA,#0FH

XRLA,#0FH

JNZDK4A

CLRTR0

NOKEY4:

MOVDPTR,#LED_TAB

MOVA,KEYBUF

MOVCA,@A+DPTR

MOVP1,A

LJMPMAIN

DELAY:

MOVR6,#10

D1:

MOVR7,#248

DJNZR7,$

DJNZR6,D1

RET

INT_T0:

MOVTH0,STH0

MOVTL0,STL0

CPLP2.0

RETI

TAB:

DW62018,62401,62743,62895;低1,2,3,4

DW63185,63441,63670,63774;低5,6,7,中1

DW63966,64138,64216,64360;中2,3,4,5

DW64489,64603,64655,64752;中6,7,高1,2

LED_TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0至9共阴

DB77H,7CH,39H,5EH,79H,71H;A至F

END

原理图:

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

当前位置:首页 > 教学研究 > 教学反思汇报

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

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