音乐播放器单片机课程设计3.docx

上传人:b****6 文档编号:7361137 上传时间:2023-01-23 格式:DOCX 页数:21 大小:81.32KB
下载 相关 举报
音乐播放器单片机课程设计3.docx_第1页
第1页 / 共21页
音乐播放器单片机课程设计3.docx_第2页
第2页 / 共21页
音乐播放器单片机课程设计3.docx_第3页
第3页 / 共21页
音乐播放器单片机课程设计3.docx_第4页
第4页 / 共21页
音乐播放器单片机课程设计3.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

音乐播放器单片机课程设计3.docx

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

音乐播放器单片机课程设计3.docx

音乐播放器单片机课程设计3

设计内容与设计要求

设计内容:

本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、省电模式控制等功能。

音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音,选取某段音乐使单片机连续播放。

设计3个按键:

播放/停止、下一曲、上一曲;4位LED显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏结束,或选曲时显示器才显示曲目信息。

要求焊接好开发板,在开发板上进行调试。

设计要求:

1)确定系统设计方案;

2)进行系统的硬件设计;

3)完成必要元器件选择;

4)开发板焊接及测试

5)系统软件设计及调试;

6)系统联调及操作说明

7)写说明书

主要设计条件

1、MCS-51单片机实验操作台1台;

2、PC机及单片机调试软件,仿真软件proteus;

3、开发板1块;

4、制作工具1套;

5、系统设计所需的元器件。

说明书格式

目录

第1章、概述

第2章、系统总体方案设计

第3章硬件设计

第4章软件设计及调试

第5章系统联调及操作说明

第6章总结

参考文献

附录A系统硬件原理图

附录B程序清单

进度安排

设计时间分为二周

第一周

星期一、上午:

布置课题任务,课题介绍及讲课。

下午:

借阅有关资料,总体方案讨论。

星期二、分班级焊接开发板

星期三、确定总体方案,学习与设计相关内容。

星期四、各部分方案设计,各部分设计。

星期五、设计及上机调试。

星期六、设计并调试

第二周

星期一:

设计及上机调试。

星期二:

调试,中期检查。

星期三:

调试、写说明书。

星期四--星期五上午:

写说明书、完成电子版并打印成稿。

星期五下午:

答辩。

参考文献

参考文献

1、王迎旭编.《单片机原理与应用》[M].机械工业出版社.

2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.

3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社

4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.

5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.

一.概述7

二.系统总体方案设计8

三.硬件设计11

3.189C51单片机11

图3-1和3-212

3.2I/O并行口直接驱动LED显示12

四.软件设计15

4.1.软件设计15

五.系统调试与仿真17

5.1软件仿真阶段17

5.2系统的仿真调试阶段17

5.3硬件安装调试17

六.总结19

参考文献20

附录A:

音乐播放器电路设计图21

附录B:

程序清单22

 

一.概述

本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、省电模式控制等功能。

音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音,选取某段音乐使单片机连续播放。

设计3个按键:

播放/停止、下一曲、上一曲;4位LED显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏结束,或选曲时显示器才显示曲目信息。

总体的设计思路是这样的。

 

二.系统总体方案设计

本课题要求以单片机为核心设计一个简易音乐播放器,具有自动播放乐曲的功能。

一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,音阶对应频率关系图1-1:

C调各音符频率与计数值T的关系

音符

频率(Hz)

半周期(ms)

简谱码T值

定时值(H)

简谱码T值

定时值(D)

低1Do

262

1.90

F894H

62628

低2Re

294

1.70

F95CH

63835

低3Mi

330

1.51

FA1AH

64021

低4Fa

349

1.43

FA6AH

64103

低5So

392

1.28

FB00H

64260

低6La

440

1.14

FB8CH

64400

低7Si

494

1.01

FC0EH

64524

中1Do

523

0.95

FC4AH

64580

中2Re

587

0.85

FCAEH

64684

中3Mi

659

0.76

FD08H

64777

中4Fa

698

0.72

FD30H

64820

中5So

784

0.64

FD80H

64896

中6La

880

0.57

FDC6H

64966

中7Si

988

0.51

FE02H

65030

高1Do

1046

0.47

FE2AH

65058

高2Re

1175

0.42

FE5CH

65110

高3Mi

1318

0.38

FE84H

65157

高4Fa

1397

0.36

FE98H

65178

高5So

1568

0.32

FEC0H

65217

高6La

1760

0.28

FEE8H

65252

高7Si

1967

0.25

FF06H

65283

图2-1

本设计用89C51单片机为核心,利用8段数码管显示器.采用动态显示输出,声音输出用蜂鸣器来实现。

采用8段数码管显示器进行动态显示需要占用4根I/O线,蜂鸣器占用1根I/O线,89C51单片机有足够的线,不用扩展I/O口。

用一片单片机即可满足本设计的输入输出。

系统框图如图1-2所示:

图2-2

通过对音乐播放器主体部分的电路进行模仿设计,达到播放器固有的基本功能,设定按钮K1、K2和K3。

按钮K1打开并自动播放乐曲1;按钮K2打开并自动播放乐曲2;按钮K3为手动控制音乐停止的按键。

根据设计要求该播放器能实现音键的控制。

除此之外还实现了存储并读出几首音乐的功能。

通过中断INT-1来实现功能的选择,当未按下中断按钮时,当按下中断按钮式,执行1,即可以播放音乐,共有两首音乐,由两个键来分别控制它们,此外,还设计了一个键来停止音乐的播放。

系统主要由播放器发声模块、按键选择控制模块和存储器模块构成。

播放器发声模块负责发出音键相应的音符;选择控制模块负责由外部控制播放器的各项功能的实现;显示模块负责按键时产生相应的值,由数码管来实现。

在只实现基本功能时(由功能控制键控制),本文的主要内容是用AT89C51单片机为核心控制元件,系统程序主要包括主程序,定时器中断程序,音乐播放程序,延迟子程序等。

 

三.硬件设计

3.189C51单片机

本设计使用的是ATMEL公司生产的AT89C51高性能8位单片机,片内含8Kbytes的可反复擦写的只读程序存储器和256bytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS—51指令系统及8051产品引脚兼容,片内置8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机适合于许多较为复杂控制应用场合。

如图2-1和2-2所示:

端口引脚

复用功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(定时器0外部输入)

P3.5

T1(定时器1外部输入)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)

 

图3-1和3-2

3.2I/O并行口直接驱动LED显示

由于要显示每个按键的键值,就需要用到数码管LED显示模块。

本设计一共用了一个数码管显示器。

利用AT89S51单片机的P0端口的P2.0-P2.4连接到一个共阴数码管的笔段上,数码管的公共端接地。

在数码管上循环显示0-9数字,如图3-3所示:

图3-3

3.3发音电路

发音电路有三极管,电阻和扬声器组成,三极管的基极接在单片机的P1.0端口,通过定时器溢出的时间不同,P1.0端口输出不同频率的高低电平,P1.0输出的脉冲频率不同,三极管导通的频率也不相同,从而扬声器根据不同频率的脉冲发出的声音也不相同,发音电路如下图2-4所示:

图3-4

 

四.软件设计

4.1.软件设计

主程序设计的第一步为初始化,初始化I/O口,设置定时器定时时间,写定时器工作方式寄存器,设置允许T0中断。

刚开始需要将存储单元置1,全部置1之后更新显示缓冲区。

接着进行显示初始化,开定时器T0,这样就可以开始显示了。

设置完以后程序就不断检测按键情况。

检测使用软件去抖,也就是第一次检测到有键按下后,如果有键按下则执行相应指令。

本设计还设计了防误操作程序,也就是对于一个键,按一下和一直按着的效果是一样的,这样可以防止用户还没放开此键时,程序已进行第二次或多次同样的操作。

图4-1

程序中根音选取的是C调三个8度内的音符,共21个音。

每个音符对应频率由定时器T0产生(音符频率及对应计数初值见附表)。

为了程序调用方便,每个音符都对应一个编码,占用一个字节。

在程序中以查表的方式加载计数初值。

当值为00H时表示空拍,与节拍码配合完成节拍发音。

节拍码也占一个字节,其总时间长度等于基本时间乘以节拍码的值。

节拍码值为01H时,表示当前乐曲结束,为00H时,表示全部乐曲结束。

为了编码简单,一般节拍码高半字节表示整拍,低半字节表示分数,只要基本延时设定恰当即可,为了及时响应键盘操作,键扫描指令安排在基本延时时间子程序中。

按键每按下一次,乐曲数目计数器R5加"1"或减"1",然后根据R5的内容转向不同的乐曲。

系统初始化后,进入播放功能。

开始从第一首曲目开始循环播放。

播放过程中如果出现跳选曲目.则进入相应的曲目程序.程序设计流程如图4-1所示。

五.系统调试与仿真

5.1软件仿真阶段

单片的程序用KEIL编写的。

在keil内建立工程后建立汇编文件,编写MCS-51程序。

1、编译成功后,分模块调试,分别采用“白盒”和“黑盒”测试法验证程序的正确性

2、将调试成功的各模块,合并到总程序中,进行总体性能测试。

3、联调PROTEUS进行硬件仿真,单步,断点调试,观察运行结果,并修改源程序

5.2系统的仿真调试阶段

基于单片机的音乐播放器的是利用PROTEUS软件来实现电脑仿真的,仿真步骤如下:

4、打开PROTEUS软件,选择器件,连接电路图;

5、添加已经编译的HEX文件到单片机内;

6、单步运行,观察结果,比较预定结果,修改源程序;

7、总体调试运行;

8、分组测试,看是否达到任务要求。

5.3硬件安装调试

单片机系统进行软件盒硬件调试成功后最后一步是进行硬件的连接和物制作,我们的硬件是在试验台上进行的,虽然与设计的电路不太相同,不过可以适当修改源程序,以适应实验台的要求

9、根据实验台情况和设计要求连接电路图;

10、在连接的电路上,进行模块测试,就是用简单的程序进行调试以确定电路连接正确;

11、将修改后的程序下载到单片机里,可以用伟福仿真系统,进行单步和断点调试,将运行结果和实验现象与预定值进行比较,再适当修改程序以达到要求。

 

六.总结

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会前所遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在周向红老师的辛勤指导下,终于游逆而解。

同时,在周老师那里我学得到很多实用的知识,在次我表示感谢!

同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

 

参考文献

1、《单片机原理与应用》王迎旭等编机械工业出版社

2、《51系列单片机设计实例》楼然苗等编北京航空航天大学出版社

3、《计算机硬件技术基础实验教程》黄勤等编重庆大学出版社

4、《微型计算机接口技术及应用》刘乐善主编华中科技大学出版社

5、《单片微型计算机原理及接口技术》陈光东等编华中科技大学出版社

6、《单片机典型模块设计实例导航》求是科技编著人民邮电出版社出版

7、《单片机程序设计实例》先锋工作室编著清华大学出版社出

 

附录A:

音乐播放器电路设计图

 

附录B:

程序清单

OUTBITP3.7

NEQU10

PLAY_KBITP3.2

XSDATBITP1.4

GWBITP1.0

SWBITP1.1

BWBITP1.2

QWBITP1.3

SJGWEQU2AH

SJSWEQU2BH

SJBWEQU2CH

SJQWEQU2DH

ORG0000H

LJMPMAIN

ORG0003H

LJMPPGINT0

ORG000BH

LJMPPGT0

ORG0013H

LJMPPGINT1

ORG001BH

LJMPPGT1

ORG0023H

LJMPWRONG

NOP

NOP

LJMPWRONG

ORG0030H

MAIN:

MOVSP,#60H

MOVTMOD,#01H

SET_TAB:

MOVA,R2

MOVCA,@A+DPTR

MOV@R0,A

INCR0

INCR2

MOVA,R2

MOVCA,@A+DPTR

MOV@R0,A

INCR0

INCR2

INCR3

CJNER3,#N+1,SET_TAB

MOVR0,#40H

MOV31H,#01

AJMPK1

START:

MOV30H,#2

MOVDPL,@R0

INCR0

MOVDPH,@R0

ANLA,#0FH

C2_4:

CJNEA,#2,C3_4

MOVA,23H

SWAPA

ANLA,#0FH

CJNEA,#4,C2P1_8

C2P1_4:

MOV24H,#250

SJMPNOTE

C2P1_8:

MOV24H,#125

SJMPNOTE

C3_4:

CJNEA,#3,C4_4

MOVA,23H

SWAPA

ANLA,#0FH

CJNEA,#4,C3P1_8

C3P1_4:

MOV24H,#187

SJMPNOTE

C3P1_8:

MOV24H,#94

SJMPNOTE

C4_4:

MOVA,23H

SWAPA

ANLA,#0FH

CJNEA,#4,C4P1_8

C4P1_4:

MOV24H,#125

SJMPNOTE

C4P1_8:

MOV24H,#62

NOTE:

MOVA,#1

MOVCA,@A+DPTR

MOV25H,A

NEXT:

MOVA,30H

MOVDPL,@R0

INCR0

MOVDPH,@R0

DECR0

MOVCA,@A+DPTR

MOVR2,A

JZSTOP

ANLA,#0FH

MOVR5,A

MOVA,R2

SWAPA

ANLA,#0FH

JNZSING

CLRTR0

AJMPSING1

SING:

DECA

ADDA,25H

RLA

MOV22H,A

MOVDPTR,#TABLE2

MOVA,22H

INCA

MOVCA,@A+DPTR

MOVTH0,A

MOV21H,A

SETBTR0

SING1:

LCALLDELAY1

INC30H

JNBPLAY_K,PUSE

LJMPNEXT

PUSE:

LCALLDISP

LCALLDISPLAY

JNBPLAY_K,$-3

STOP:

CLRTR0

K1:

LCALLDISP

JBNEXT_K,K2

LCALLDISP

LCALLDISPLAY

JNBNEXT_K,$-3

MOVA,31H

CJNEA,#N,K1_2

K1_1:

MOVR0,#40H

MOV31H,#01

SJMPK2

K1_2:

INC31H

INCR0

K2:

LCALLDISP

JBLAST_K,K3

LCALLDISP

LCALLDISPLAY

JNBNEXT_K,$-3

MOVA,31H

CJNEA,#1,K2_2

K2_1:

MOVR0,#40H+2*(N-1)

MOV31H,#N

SJMPK3

K2_2:

DEC31H

DECR0

DECR0

K3:

LCALLDISP

JBPLAY_K,K1

LCALLDISPLAY

JNBPLAY_K,$-3

AJMPSTART

NOP

NOP

LJMPWRONG

PGT0:

MOVTL0,20H

MOVTH0,21H

CPLP3.7

RETI

NOP

NOP

LJMPWRONG

PGINT0:

RETI

PGINT1:

RETI

DELAY1:

MOVR7,#02

DELAY2:

MOVR4,24H

DELAY3:

MOVR3,#248

DJNZR3,$

DJNZR4,DELAY3

DJNZR7,DELAY2

DJNZR5,DELAY1

RET

PGT1:

RETI

DELAY4:

MOVR4,#20

DELAY5:

MOVR3,#248

DJNZR3,$

DJNZR4,DELAY5

RET

TABLE1:

DWSONG1,SONG2,SONG3

TABLE2:

DW63628,63835,64021,64103,64260,64400,64524

DW64538,64684,64777,64820,64898,64968,65030

DW65058,65110,65157,65178,65217,65252,65282

SONG1:

DB44H,02H

DB42H,82H,82H,82H,84H,02H,72H

DB62H,72H,62H,52H,48H

DB12H,62H,62H,52H,44H,02H,82H

DB72H,62H,52H,32H,48H

DB00H

SONG2:

DB43H,04H

DB82H,01H,81H,94H,84H

DB0B4H,0A4H,04H

DB82H,01H,81H,0F4H,0D4H

DB0B4H,0A4H,04H

DB0E2H,01H,0E1H,0D4H,0B4H

DB0C4H,0B4H,04H

DB82H,01H,81H,94H,84H

DB0B4H,0A4H,04H

DB82H,01H,81H,94H,84H

DB0C4H,0B4H,04H,00H

SONG3:

DB44H,04H

DB44H,54H,64H,44H

DB44H,54H,64H,44H

DB64H,74H,88H

DB64H,74H,88H

DB82H,92H,82H,72H,64H,44H

DB82H,92H,82H,72H,64H,44H

DB44H,84H,48H

DB44H,14H,48H

DB00H

DISPLAY:

PUSHACC

PUSHPSW

MOVDPTR,#XSTAB

MOVA,SJGW

MOVCA,@A+DPTR

ACALLDSOUT

CLRGW

ACALLDS1MS

SETBGW

MOVA,SJSW

MOVCA,@A+DPTR

ACALLDSOUT

CLRSW

ACALLDS1MS

SETBSW

MOVA,SJBW

MOVCA,@A+DPTR

ACALLDSOUT

CLRBW

ACALLDS1MS

SETBBW

MOVA,SJQW

MOVCA,@A+DPTR

ACALLDSOUT

CLRQW

ACALLDS1MS

SETBQW

POPPSW

POPACC

RET

DSOUT:

MOVR0,#8

DSLOOP:

RLCA

MOVXSDAT,C

SETBXSCLK

CLRXSCLK

DJNZR0,DSLOOP

RET

DS1MS:

MOVR1,#10

DS1LO:

MOVR2,#100

DJNZR2,$

DJNZR1,DS1LO

RET

XSTAB:

DB3FH,06H,5BH,4FH;"0","1","2","3"

DB66H,6DH,7DH,07H;"4","5","6","7"

DB7FH,6FH,77H,7CH;"8","9","A","B"

DB39H,5EH,79H,71H;"C","D","E","F"

DISP:

MOV26H,#5

MOVA,31H

MOVB,#10

DIVAB

MOVSJGW,B

MOVSJSW,A

MOVSJBW,#0

LJMPWRONG

WRONG:

CLREA

MOVDPTR,#ERR

PUSHDPL

PUSHDPH

RETI

ERR:

CLRA

PUSHACC

PUSHACC

RETI

END

电气与信息工程系课程设计评分表

项目

评价

设计方案的合理性与创造性

硬件制作或软件编程完成情况*

硬件制作测试或软件调试结果*

设计说明书质量

设计图纸质量

答辩汇报的条理性和独特见解

答辩中对所提问题的回答情况

完成任务情况

独立工作能力

组织纪律性(出勤率)

综合评分

指导教师签名:

________________

日期:

________________

注:

表中标*号项目是硬件制作或软件编程类课题必填内容;

此表装订在课程设计说明书的最后一页。

课程设计说明书装订顺序:

封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。

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

当前位置:首页 > 小学教育 > 语文

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

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