单片机音乐播放器毕业设计资料.docx

上传人:b****7 文档编号:8891709 上传时间:2023-02-02 格式:DOCX 页数:14 大小:129.93KB
下载 相关 举报
单片机音乐播放器毕业设计资料.docx_第1页
第1页 / 共14页
单片机音乐播放器毕业设计资料.docx_第2页
第2页 / 共14页
单片机音乐播放器毕业设计资料.docx_第3页
第3页 / 共14页
单片机音乐播放器毕业设计资料.docx_第4页
第4页 / 共14页
单片机音乐播放器毕业设计资料.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机音乐播放器毕业设计资料.docx

《单片机音乐播放器毕业设计资料.docx》由会员分享,可在线阅读,更多相关《单片机音乐播放器毕业设计资料.docx(14页珍藏版)》请在冰豆网上搜索。

单片机音乐播放器毕业设计资料.docx

单片机音乐播放器毕业设计资料

自主创新实践

 

题目单片机音乐播放器

 

院系中德机电学院

专业机电一体化技术

班级机电1002班

姓名刘兆华

学号100101239

指导教师龚运新

 

2012年11月

 

音乐播放器

摘要:

目前市场上有许多音乐播放器或音乐盒,可以说是各式各样,有的使用了单片机控制、有的没有使用到单片机,但是最终都能实现播放音乐的效果。

本次项目主要研究了以单片机控制音乐的播放,使我们实现对单片机的功能和编程有一定的了解。

单片机的发展趋势是不断地实行微型化、低功耗、高速化、集成更多资源、通信及网路功能加强、专用型单片机发展加快。

关键字:

单片机、控制、音乐

 

前言

自从1975年美国德克萨斯仪器公司(TI公司)的第一个单片机TMS-1000问世以来,迄今为止,仅30多年的历史,单片机技术已发展成为计算机技术的一个独特分支,在众多领域尤其是在智能化仪器仪表、检测和控制系统中得到了广泛应用。

目前,单片机的应用领域极为广泛,已深入到国民经济的各个领域,对各行各业的技术改造和产品的更新换代起着积极的推动作用。

单片机的应用领域主要有以下几个方面:

生产自动化、实时测控、智能化产品、智能化仪表、信息通讯技术、科学研究、国防现代化。

本次项目所研究的是以单片机来实现对音乐的播放功能,通过最简单的元件组合实现应有的音乐播放效果,从而通过此项目的研究学习能够对单片机的工作原理及其应用具有一定的了解和认知。

本次项目中所介绍的单片机是人们常用的AT89C51单片机,经过这次项目的研究分析,对AT89C51单片机的结构、程序编写、端口及其各端口的作用等都有着严谨的控制应用。

本次的项目是我们高职高专生自己研究的一个课题,在编写或研究中难免存在一些疏漏之处,恳请老师及相关读者不吝赐教,以利进步。

 

编者:

刘兆华

2012年11月

 

目录

前言…………………………………………………………………………………2

第1章、音乐播放器的结构…………………………………………………………4

1.1音乐播放器的组成……………………………………………………4

1.2单片机的引脚图……………………………………………………………5

第2章、音乐播放器的工作原理……………………………………………………6

2.1用定时器发音设计……………………………………………………6

2.2硬件原理图…………………………………………………………………7

2.3单片机发音原理……………………………………………………………8

第3章、音乐播放器的音乐处理及单片机的程序…………………………………10

3.1乐曲预处理………………………………………………………………10

3.2音符序列进行处理………………………………………………………11

3.3乐曲播放程序设计………………………………………………………12

附录………………………………………………………………………………17

参考文献…………………………………………………………………………18

 

第1章、音乐播放器的结构

1.1音乐播放器的组成

元件

规格

数量

单片机

AT89C51

1个

单片机插槽

1个

晶振

12MHz

1个

普通陶瓷电容

20pf

2个

电解电容

10uf

1个

电阻

4.7k、10k

各一个

复位按钮

1个

三极管

9013

2个

蜂鸣器

有源

1个

数据线插槽

2*5

1个

USB接口

1个

万用板

一块

导线

若干

表1-1

 

1.2单片机的引脚图

图1-1

 

第2章、音乐播放器的工作原理

2.1用定时器发音设计

1.设定TCi定时、模式1

2.单片机晶振频率fosc、机器周期Tcy=12/fosc、待发音符频率fx、半周期Tx=1/(2*fx)

3.TCi计数初值X=2n–N=2n–Tx/Tcy=2n–(1/(2*fx))/(12/fosc)

=2n–fosc/(24*fx)

4.THi=(216–fosc/(24*fx))/256

TLi=(216–fosc/(24*fx))-((216–fosc/(24*fx))/256)*256

 

2.2硬件原理图

图2-1

 

2.3单片机发音原理

1.发声电路:

见解例2

2.一段音乐需要的是两个元素:

一个是音符,另一个是节拍

3.发声参数:

以高音Si为例,其频率f=1976Hz,则周期T=506µS,半周期T1=253µS

4.为使各音调发音比较准确,采用以相对较小的时间单位(8.33µS)循环特定次数(发音参数)以产生各音的半周期T1。

用此关系,列出如下3个8度音阶的发音参数表:

3个8度音阶的发音参数表

低音

频率

T1

参数

中音

频率

T1

参数

高音

频率

T1

参数

Do

262

1908

219

Do

523

956

115

Do

1046

478

57

Do#

277

1805

217

Do#

554

903

108

Do#

1109

451

54

Re

294

1701

204

Re

587

852

102

Re

1175

426

51

Re#

311

1608

193

Re#

622

804

97

Re#

1245

402

48

Mi

330

1515

182

Mi

659

759

91

Mi

1318

379

45

Fa

349

1433

172

Fa

698

716

86

Fa

1397

358

43

Fa#

370

1351

162

Fa#

740

676

81

Fa#

1480

338

41

So

392

1276

153

So

784

638

77

So

1568

319

38

So#

415

1205

145

So#

831

602

72

So#

1661

301

36

La

440

1136

136

La

880

568

68

La

1760

284

34

La#

464

1078

129

La#

932

536

64

La#

1865

268

32

Si

494

1012

121

Si

988

506

61

Si

1976

253

30

注:

例如高音Si的发音参数=253/8.33=30

表2-1

5.节拍产生:

本例以4分音符为1拍,速度每分钟120拍。

最短音符是8分音符(时值250ms),可设定1个延时函数或定时中断控制节拍

 

第3章、音乐播放器的音乐处理及单片机的程序

3.1乐曲预处理

1.乐曲由音阶和节拍形成

2.软件包括:

1个程序,3个乐曲数据数组(音符名序列、对应时值数、对应发声参数)

3.演奏歌谱:

图3-1

 

3.2音符序列进行处理

为了便于编程(查表法获取音阶等参数)

1.先列出歌中所出现的音符由低到高序列5612356ì

2.再将其编号0、1、2、3、4、5、6、7

3.对照歌谱,将谱中音符序列用对应的音符编号代替,获得歌曲数据654576564565421543345564325432120(每个用逗号隔开)

4.再产生每个音符对应的时值数(50ms的倍数)15、5、10、10、10、5、5、20、10、5、5、10、10、5、5、5、5、20、15、5、10、5、5、10、10、20、15、5、5、5、5、5、30

5.按首列音符高低序列从音阶表中找出对应发声参数依次列出:

153、136、115、102、91、77、68、57

6.上面后3个数据序列(数组)即是本例播放的歌曲数据

 

3.3乐曲播放程序设计

1.音阶和节拍可分别用延时函数或定时器中断方法实现

2.本例音阶用延时函数,节拍用T0定时中断

3.程序

;music.asm

;世上只有妈妈好

;使用延时函数产生音阶

;T0定时控制节拍

;因3个数组均在ROM中,只能用查表指令取数,DPTR要分别作

;3个数组的基址指针,其中音阶、节拍数组指针是移动的

;音调转换数据(延时参数表)基址是固定的

 

ORG0

BZBITP1.0

AJMPMAIN

ORG000BH

AJMPSVT0

ORG0030H

MAIN:

MOVSP,#60H

SJMPMAMA

;小提琴定音

RING:

MOVR2,#10

G:

MOVR5,#0

G1:

MOVR6,#255

G0:

MOVR7,#2

DJNZR7,$

DJNZR6,G0

CPLBZ

DJNZR5,G1

DJNZR2,G

MOVR2,#15

D:

MOVR5,#0

D1:

MOVR6,#170

D0:

MOVR7,#2

DJNZR7,$

DJNZR6,D0

CPLBZ

DJNZR5,D1

DJNZR2,D

MOVR2,#22

AA:

MOVR5,#0

A1:

MOVR6,#114

A0:

MOVR7,#2

DJNZR7,$

DJNZR6,A0

CPLBZ

DJNZR5,A1

DJNZR2,AA

MOVR2,#33

E:

MOVR5,#0

E1:

MOVR6,#76

E0:

MOVR7,#2

DJNZR7,$

DJNZR6,E0

CPLBZ

DJNZR5,E1

DJNZR2,E

SJMPRING

AJMPMAIN

ORG000BH

AJMPSVT0

ORG0030H

MAIN:

MOVSP,#60H

MOVDPTR,#BEATD;ROM数据区首址

MOVR6,#33;33音符数据

PLAY:

MOVTMOD,#01H;T0定时50ms

MOVTH0,#15536/256

MOVTL0,#15536-(15536/256)*256

MOVIE,#82H;允许T0中断

PUSHDPH;保存当前音符节拍基址

PUSHDPL

MOVA,#0;发1个音,取音符节拍时值

MOVCA,@A+DPTR

MOVB,#5;250ms=50msx5

MULAB

MOVR5,A;节拍控制时值

MOVA,DPL;计算音阶数据表基址

ADDA,#33

MOVDPL,A

JNC$+4

INCDPH

MOVA,#0;取音阶参数

MOVCA,@A+DPTR

MOVDPTR,#TONED;设置音调转换数据基址

MOVCA,@A+DPTR

SETBTR0;节拍控制开始(T0中断)

PLAY0:

ACALLSONG;发声

CJNER5,#0,PLAY0;节拍时值控制

CLRTR0;时值到,关T0

POPDPL;恢复上一音符基址

POPDPH

INCDPTR;指向下一音符

DJNZR6,PLAY;控制全曲

AJMPMAIN;重复

SVT0:

MOVTH0,#15536/256

MOVTL0,#15536-(15536/256)*256

DECR5

RETI

SONG:

MOVR3,A;R3放延时参数

SONG1:

MOVR2,#4

DJNZR2,$;8uS

DJNZR3,SONG1

CPLP1.0

RET

BEATD:

DB3,1,2,2,2,1,1,4;节拍控制nx250ms

DB2,1,1,2,2,1,1,1,1,4

DB3,1,2,1,1,2,2,4

DB3,1,1,1,1,1,6

SONGD:

DB6,5,4,5,7,6,5,6;音符数据

DB4,5,6,5,4,2,1,5,4,3

DB3,4,5,5,6,4,3,2

DB5,4,3,2,1,2,0

TONED:

DB153,136,115,102,91,77,68,57;延时参数表

END

 

附录

以单片机控制的音乐播放器在设计时常用的网站

XX

单片机爱好者

单片机学习网

全国大学生电子设计竞赛网

 

参考文献

[1]董少明,单片机原理与应用,中国铁道出版社,2007年

[2]付晓光,单片机原理与应用技术,清华大学出版社,2004年

[3]徐仁贵,微型计算机接口技术及应用,机械工业出版社,1997年

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

当前位置:首页 > 高等教育 > 农学

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

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