51单片机音乐播放器
- 格式:doc
- 大小:19.00 KB
- 文档页数:3
本科毕业论文(设计)题目:基于51单片机音乐播放器的设计学院:班级:姓名:指导教师:王振义职称:副教授完成日期:2015年5月20日基于51单片机音乐播放器设计摘要:在当今这个繁杂的社会,随着生活节奏的加快,人们从事长期的工作和面对学习过大的压力导致我们处于紧绷的状态,因此音乐对于调节压力不言而喻的十分重要。
校园里的上下课的铃声,广场中爷爷奶奶伴随着音乐进行锻炼身体。
此设备为人们目前压力过大的生活带来了乐趣。
本文是利用51单片机原理设计音乐演奏的硬件电路,并运用C语言进行程序部分的设计。
经过51单片机来产生频率不同的波,这些波经过单片机输出和放大电路的放大驱使喇叭发出不一样的音调,延迟系统有可控制音符发音长短。
把音乐转化成可以从发音设备中发出的悦耳动听的音乐。
关键字:单片机;音乐播放器;C语言Design based on 51 SCM music player Abstract:In today's complex society, with the accelerating rhythm of life, the people in the long-term work and face learning too much pressure lead to us is in a state of tension, so the music is very important for regulating pressure self-evident.The ringing of a campus of adding and dropping classes, grandma and grandpa accompanied by music in the square to exercise.This device at present stress for people brought joy of life.This paper is the use of 51 single chip microcomputer hardware circuit design of music playing, and part using C language program design.After 51 single chip microcomputer to produce different frequency of wave, the wave through single chip microcomputer output and amplifying circuit amplifier drives the horn a different tone, length of the delay system with control pronunciation notes.Can put the music into sweet music from pronunciation in the device.Keywords : Single-chip processor; Music player; C programming language目录1 引言 (1)2 51单片机的结构与原理 (2)2.1 51单片机的基本结构 (2)2.1.1 8051单片机的基本组成及主要性能 (2)2.1.2 8051单片机的外部引脚说明 (4)2.1.3并行输入/输出口电路结构 (5)2.1.4时钟电路 (6)2.2 51单片机的微处理器 (6)2.2.1 运算器 (6)2.2.2 控制器 (6)2.3 51单片机的存储器 (7)2.3.1 内部数据存储器 (7)2.3.2 内部程序存储器 (7)3 硬件电路设计 (8)3.1 总体设计框图 (8)3.2原理图 (8)3.3 焊接实物图 (9)3.4 时钟电路 (9)3.7 音频发生及放大电路 (9)4软件程序设计 (10)4.1单片机发声原理 (10)4.2 程序流程图 (11)4.3 程序代码 (12)5 调试与故障分析 (12)5.1 软件程序调试 (12)5.2 硬件电路调试 (13)6 总结与展望 (13)7参考文献 (14)8致谢 (15)1、引言单片机又被人家称为微控制器,是一种大规模构成的电路模块,其特点是功能实用、体积又小、性能优秀、价格优惠,适用大多数人群。
目录摘要 (1)Abstract (1)引言 (1)1系统主要功能 (2)2设计原理 (2)2.1STC89C51单片机的介绍 (2)2.2音乐发生器设计流程及思路 (2)2.3音频脉冲和音乐节拍的实现 (3)2.4音频功放 (5)3系统设计 (5)3.1硬件电路设计 (5)3.2软件设计 (6)3.3系统仿真 (7)结论 (8)参考文献 (8)基于51单片机的音乐播放器设计学生姓名:张家义学号:20095044005学院:物理电子工程学院专业:电子科学与技术指导教师:仓玉萍职称:讲师摘要:本音乐播放器是利用STC89C51单片机结合内部定时系统及数码管显示,设计一个简易的微电脑音乐盒。
本文分析了基于51单片机的音乐播放器的硬件电路和软件的设计的具体过程,包括数据处理子程序的设计、显示子程序的设计,最后针对仿真过程遇到的现象进行了具体的分析与说明。
关键词:STC89C51;音乐播放;中断51 Microcontroller-based Music Player DesignAbstract: The music player is the use of STC89C51 with combination of single-chip timing system and the digital display, design a simple microcomputer music box. This article analyses the music player based on 51 single chip computer hardware circuit and software specific to the design process, including the design of data processing programs and display , And at last, explaining the simulation process for analysis and description of the specific phenomenon encountered.Key words: STC89C51 ; music player; interrupt引言单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
目录一、概述:_____________________________________________________________ 1二、实验目的:_________________________________________________________ 1三、实验设计:_________________________________________________________ 1四、调试与仿真:_______________________________________________________ 5五、板子外观:________________________________________________________ 15六、设计及调试中的体会:______________________________________________ 16一、概述:现当今,单片机的应用无处不在。
利用单片机控制的万年历也多不胜举。
时钟芯片也相当之多,而利用单片机存储音乐,控制播放最为广泛。
它有功能多﹑价格优﹑外围电路简单的特点,备受音乐爱好者及音乐芯片制造商的青昧。
本实验,用80C51单电机及少数外围实现音乐播放器功能,并伴有彩灯闪烁。
C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。
此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。
因此,使用C语言进行程序设计已成为软件开发的一个主流。
C 语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可靠性,便于改进和扩展,从而研制出规模更大、性能更完备的系统。
因此,用C语言进行8051单片机程序设计是单片机开发与应用的必然趋势。
设计时采用Keil C软件编程,用protues软件仿真,核心器件采用灵活性高且价格低廉的A T89C51芯片。
设计完成后系统可播放自编歌曲,同时发光二极管随着歌曲的不同而闪烁。
课程目的以及要求用51单片机作为主控电路设廿一个电子琴,实规能通过切换不同的健盘按傩来切换歌曲。
电子琴是现代电子科技与音乐结合的产物,是一种新型的鍵盘乐器。
它在规代音乐扮演着重要的角色,单片机貝有强大的控制功能和灵活的编程实现特性,它已经溶人现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用STC89C52单片机为核心控樹元件, 设廿一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块。
本文主要对使用单片机设廿简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。
利用单片机产生不同颜率来获得我们要求的音阶,最终可师意强奏想要表达的音乐。
并且本文分别卩、原理图, 主要芯片,各模块原理及各模块的程序的调试来库细阐述。
E:系筑硕件披廿3.1系筑杞图按键键盘3.2 51单片机产生音符原理MCS-5I单片机有两个定时器/廿数器。
系统使用定时器/廿数器0 产生方液。
定时器/廿数器IM用于记录音符的时长,即按键持续的时间。
定时器/计数器0的工作方式是I,即为16 R定时器/计数器。
16位定时器/计数器被US予一个初值,并开始记数。
当记数謚出,产生中断后,中断服务程序将与蜂鸣器连接的引脚电平置反,并且对定时器/廿数器再Kfflfi,重新开始记效。
之后产生中撕,引脚电平再被置反,如此周而复始,在引啣上就能产生一个颐率勺定时初值有关的方波信号。
而定时初值与音符颐率有关,相应频率的确定,可参照12平均律,相邻两个半音A和B的顺率之间的关系为:A= ,1,o定时器/廿数器I的作用为记录音符的时长,工作方式为I, BP 16 位定时器/廿数器。
在12MHZ的晶体振葫器F,单片机的机器周期为I M S O本系统中,定时器/廿数器I以10ms的时长为I定时单位,记录音符持续了多少个定时单位,如此,使用一个unmgnedchar ®变量既可以记录2.55s的时长,这在用于记录—般弹奏的音符时是足昵的。
湖南工业大学课程设计任务书2014 —2015学年第一学期电气与信息工程学院(系、部)专业班级课程名称:单片机应用系统设计题目:基于51单片机的音乐播放器完成期限:自2014 年12 月15 日至2014 年12 月26 日共 2 周指导教师(签字):年月日系(教研室)主任(签字):年月日1(单片机应用系统)设计说明书(题目)基于51单片机的音乐播放器起止日期:2014 年12 月15 日至2014 年12 月26 日学生姓名班级学号成绩指导教师(签字)电气与信息工程学院(部)2014年12 月26日1湖南工业大学本科课程设计开题报告2014年12月17日2345说明:开题报告作为课程设计答辩委员会对学生答辩资格审查的依据材料之一,此报告应在导师指导下,由学生填写,将作为课程设计成绩考查的重要依据,经导师审查后签署意见生效。
6单片机课程设计报告电气与信息工程学院7一、设计任务:1.本课题以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、上一曲、下一曲控制等功能。
音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由蜂鸣器发出声音,选取某段音乐使单片机连续播放。
设计4个按键:启动、播放/停止、下一曲、上一曲;1位LED 显示器,用来显示所选曲目,在开发板上进行调试。
2.此次设计的音乐播放器具有如下要求:(1)按下P3.2启动键,音乐播放器按照从头到尾的顺序自动播放预先设定的1~3共三首乐曲,全部播放完毕则从头开始。
(2)播放歌曲时,数码管显示正在播放的乐曲序号,相应的歌曲序号彩灯亮起,P2为第一首歌曲指示灯,P2.6、P2.5分别为第二首、第三首歌曲播放指示灯。
(3)P3.4为曲目加一按键,按下之后,播放下一首歌曲。
数码管显示下一曲序号,相应指示灯亮起。
(4)P3.5为上一曲按键,按下之后,播放上一首歌曲。
数码管显示上一曲一曲序号,相应指示灯亮起。
(5)当用户按下暂停键P3.3时,音乐播放器打断正在播放的某一乐曲,用户再次按下暂停键,该乐曲继续播放。
基于51单片机的MP3音乐播放器设计1.1 系统功能简介本设计主要完成U盘的识别和数据的读取,并将U盘中读取的MP3文件解码播放出流畅的音乐,完成.MP3播放器的存储与解码的分离。
系统功能主要包括读取U盘数据和MP3解码播放2部分。
实现设计功能需要USB接口芯片、MP3解码芯片、主控制器和其他外围电路。
考略难易程度和实际实现程度,这里的MP3只提供从u盘的根目录读取MP3格式的文件(不包括wma,wmv,midi格式),而且u盘的文件格式必须为FAT32。
再者,考略到单片机的运行速度较慢,如果文件的采样频率额过高,可能会造成播放断断续续,因此读取的MP3文件的采样频率事先转化为频率64kps,这样可以获得较好的音质。
2.主要芯片的选取2.1.单片机的选取由于解码和播放有很高的速度要求,且需要单片机有较大的ROM和RAM,这里我们选取了STC12C5A60S2。
STC12C5A60S2是新一代51单片机,是传统51单片机的升级换代产品,可实现“1个时钟/机器周期”,在同等晶振下运行速度可以达到传统单片机的12倍。
在这里,我们采用22.1184M.2.2.USB总线接口芯片的选取通过比较部分参数,我们选择南京沁恒电子生产的一款USB通用接口芯片CH375。
CH375是一个USB总线的通用接口芯片,CH375芯片支持HOST主机方式和DEVICE设备方式,在本地端,CH375具有8位数据总线和读、写、片选控制线以及终端输出,可以方便地挂接到单片机等控制器的系统总线上。
最重要的是,该芯片内置固件处理海量存储设备的专用通讯协议,可以使我们的编程难度大大减小。
内部集成了PLL倍频器、主从USB接口、数据缓冲区、被动并行接口、异步串行接口、命令解释器、控制传输的协议处理器、通用的固件程序等。
2.3.音频解码芯片的选取音频解码芯片选择芬兰VLSI公司生产的VSl003。
VSl003具有MP3/wMA/MIDI解码和ADPCM编码功能,他内部包含一个高性能、低功耗的DSP处理核(VSD 一SP),为用户应用提供5KB的指令RAM和0.5kb的数据RAM。
基于51单片机的音乐播放器制作一、设计原理乐曲中有不音符,实质就是不同频率的声音。
通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。
二、AT89C51简介AT89C51:是一种4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AAT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要功能特性:1)与MCS-51兼容;2)4K字节可编程FLASH存储器;3)全静态工作:0Hz-24MHz;4)128×8位内部RAM;5)两个16位定时器/计数器;6)5个中断源;7)可编程串行通道;8)低功耗的闲置和掉电模式;9)片内振荡器和时钟电路。
三、硬件结构下图是以AT89C51单片机为核心的音乐播放器系统硬件设计结构图。
该系统主要是由复位电路、按键电路、时钟电路、中心模块、扬声器驱动等组成。
其工作原理为:此音乐播放器,有三个按键及控制按钮:播放/暂停、下一曲、上一曲;通过控制按钮控制单片机,播放所要求的音乐,并通过放大电路和喇叭输出声音。
三、简易仿真原理图四、音乐发声设计原理4.1发声原理一首乐曲是由多个音符构成的。
每个音符都对应着一个确定的频率,乐曲中不同的音符,实质就是不同频率的声音;另外每个音符会根据乐曲的要求设定一个确定的节拍。
可以控制单片机不同频率不同节拍的脉冲信号,蜂鸣器发出就产生了美妙和谐的乐曲。
4.2单片机产生不同频率脉冲信号的原理1、要产生音频脉冲,只要算出来某一个音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这半周期的时间,每当计时到后就降输出脉冲I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O 脚上得到此频率的脉冲。
基于51单片机音乐播放器设计音乐播放器是一种可以播放音频文件的设备,广泛应用于日常生活中。
本文将基于51单片机设计一个简单的音乐播放器。
一、设计目标本音乐播放器设计的主要目标是实现以下功能:1.支持播放多种格式的音频文件,如MP3、WAV等;2.支持音量调节和音频文件选择功能;3.具备简单的界面和易于理解的操作方式;4.能够适应不同的音频文件大小和音乐时长。
二、硬件设计2. 存储器:选择外接Flash存储器作为音频文件的存放介质,具备较大的存储容量和较高的读写速度,能够满足音频文件的多样性需求。
3.音频解码芯片:选择支持MP3和WAV格式音频解码的芯片,能够将音频文件翻译成能够被音频输出部分播放的信号。
4.音频输出部分:选择合适的音频输出部分,如耳机接口或喇叭接口,将解码后的音频信号输出为声音。
三、软件设计1.系统初始化:在开机时进行系统初始化,包括对主控芯片、存储器和音频解码芯片的初始化。
2.文件系统管理:设计一个简单的文件系统,能够以目录结构的形式管理存储器中的音频文件。
3.音频解码:根据选择的音频文件格式,进行相应的解码操作,将解码后的音频数据传输给音频输出部分。
4.播放控制:实现音量调节和音频文件选择功能,能够暂停、播放、停止等操作。
5.用户界面:设计一个简单直观的用户界面,通过按键或显示屏等方式进行操作反馈和信息显示。
四、系统流程1.开机初始化:对主控芯片、存储器和音频解码芯片进行初始化。
2.文件系统管理:读取存储器中的文件目录,生成文件列表供用户选择。
3.用户操作:用户通过按键或其他方式进行音量调节和音频文件选择操作。
4.音频解码:根据用户选择的音频文件,进行相应的解码操作。
5.播放控制:根据用户的操作,进行音频的暂停、播放、停止等操作。
6.操作反馈:在用户界面上显示操作反馈和信息。
五、总结本文基于51单片机设计了一个简单的音乐播放器,实现了支持多种格式音频文件的播放、音量调节和文件选择功能,并提供了简单的用户界面。
此程序是51单片机c语言编写的电子琴+音乐播放器,当用杜邦线将P1^0管脚接地时,单片机就会放出《世上只有妈妈好》,将P1^1 管脚接地时单片机就播放《祝你生日快乐》,两者为高电平时进入电子钢琴模式,利用16个矩阵键盘发出相应的哆、瑞、米、发、索。
此文档的乐谱是借鉴别人的,因为本人是音乐白痴!这是我第一次发表,我希望能帮到有需要的人啦........#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit beep=P2^3; //定义蜂鸣器sbit music=P1^0; //music为低电平播放《世上只有妈妈好》(工作模式为音乐播放器),music1为低电平时播放祝你生日快乐,music、music1都为高电平时(工作模式为电子钢琴)sbit music1=P1^1;uchar timer0h,timer0l,time,key,flag; //flag==0时为电子钢琴模式,flag==1时为音乐播放器uchar code yuepu[]={ 6,2,3,5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4,3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1,6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 }; //世上只有妈妈好乐谱uchar code yuepu1[]={5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4,5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4,5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2, 6,1,2,4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4};//祝你生日快乐乐谱uchar code TH_0[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, // 28个音阶高八位频率表装进定时器高八位0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,} ;uchar code TL_0[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, // 28个音阶低八位频率表装进定时器低八位0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,};void delay(uchar t){uchar t1;unsigned long t2;for(t1=0;t1<t;t1++) //延时半拍函数,控制音乐节奏{for(t2=0;t2<8000;t2++){ ; }}}void song(){TH0=timer0h;TL0=timer0l; // 唱歌程序TR0=1;delay(time); //延时,让此音节播放的长短TR0=0; //关定时器,为下个音节响做准备}void delayms(uint x){uint i,j; //去抖延时for(i=x;i>0;i--)for(j=110;j>0;j--);}void keyscan() //检测十六个发出音乐按键函数{ uchar temp;P3=0xfe;temp=P3;temp=0xf0&temp;if(temp!=0x0f){ delayms(10); //检测第一行按键temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xee: key=0;break;case 0xde: key=1;break;case 0xbe: key=2;break;case 0x7e: key=3;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];TR0=1; //打开定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}TR0=0; //松手时关闭定时器0,不能发声beep=1;//使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}P3=0xfd;temp=P3;temp=0xf0&temp;if(temp!=0x0f) // 检测第二行按键{ delayms(10);temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xed: key=4;break;case 0xdd: key=5;break;case 0xbd: key=6;break;case 0x7d: key=7;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}TR0=0; //松手时关闭定时器0,不能发声beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}P3=0xfb;temp=P3;temp=0xf0&temp;if(temp!=0x0f){ delayms(10);temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xeb: key=8;break;case 0xdb: key=9;break;case 0xbb: key=10;break;case 0x7b: key=11;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];TR0=1; //打开定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}手时关闭定时器0,不能发声beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}P3=0xf7;temp=P3;temp=0xf0&temp;if(temp!=0x0f){ delayms(10);temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xe7: key=12;break;case 0xd7: key=13;break;case 0xb7: key=14;break;case 0x77: key=15;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];TR0=1; //打开定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}TR0=0; //松手时关闭定时器0,不能发声beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}}void main(){uchar k,i;TMOD=1;EA=1;ET0=1;while(1){if(music&&music1) //当两个都为高电平时没有放音乐,扫描键盘{ flag=0;keyscan();}if(!music) //当P1^0管脚为低电平时,播放《世上只有妈妈好》{ flag=1;i=0;while(i<100) //音乐数组长度,唱完从头再来{if(music) //在播放音乐时P1^0为高电平时退出播放此歌曲{ beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开break;}k=yuepu[i]+7*yuepu[i+1]-1;timer0h=TH_0[k]; // 把对应的音乐频率放进定时器0timer0l=TL_0[k];time=yuepu[i+2]; //音乐节拍i+=3;song();}}if(!music1) // music为低电平时,播放《祝你生日快乐》{ flag=1;i=0;while(i<75) //乐谱的长度{if(music1){beep=1;break;}k=yuepu1[i]+7*yuepu1[i+1]-1;timer0h=TH_0[k];timer0l=TL_0[k];time=yuepu1[i+2];i+=3;song();}}}}void time0() interrupt 1{if(flag==0){beep=!beep; //电子琴模式时进入此语句TH0=TH_0[key];TL0=TL_0[key];}else{ beep=!beep;TH0=timer0h; //音乐播放器模式进入此语句TL0=timer0l;}}。
51单片机毕业课程设计音乐播放器本文档旨在提供关于51单片机毕业课程设计的音乐播放器的详细内容。
音乐播放器是一种通过使用51单片机来实现的设备,它可以播放音乐文件并提供一些基本的控制功能。
设计概述功能要求音乐播放器的主要功能要求包括:1. 播放音乐文件:能够读取存储器中的音乐文件,并将其播放出来。
2. 控制功能:提供基本的控制功能,如播放、暂停、下一曲和音量调节等。
3. 显示功能:在显示屏上显示当前播放的音乐信息,如歌曲名、艺术家和播放进度等。
硬件组成音乐播放器的硬件组成包括:1. 51单片机:作为主控芯片,负责控制整个系统。
2. 存储器:用于存放音乐文件。
3. 音频模块:用于将数字音频信号转换为模拟音频信号输出。
4. 控制模块:包括按钮、旋钮等,用于用户控制音乐播放器的操作。
5. 显示屏:用于显示当前播放的音乐信息。
软件实现音乐播放器的软件实现包括以下几个方面:1. 文件系统:实现对存储器中音乐文件的读取和管理。
2. 音频解码:将读取的音乐文件进行解码,并将解码后的音频数据传递给音频模块输出。
3. 用户界面:通过用户界面与用户进行交互,接受用户的控制指令。
4. 显示管理:管理显示屏的内容,实时显示当前播放的音乐信息。
设计步骤1. 硬件搭建:按照硬件组成部分的描述,搭建音乐播放器的硬件平台。
2. 软件编写:实现音乐播放器的软件功能,包括文件系统、音频解码、用户界面和显示管理等。
3. 调试测试:进行软硬件的调试和测试,确保音乐播放器的各项功能正常运行。
4. 完善优化:在实际测试中发现问题,进一步完善和优化音乐播放器的功能和性能。
5. 文档撰写:完成毕业课程设计文档的撰写,详细描述音乐播放器的设计思路、实现过程和测试结果。
总结通过本文档,你可以了解到51单片机毕业课程设计音乐播放器的完整设计内容,包括设计概述、硬件组成、软件实现和设计步骤等方面的内容。
这将帮助你更好地理解音乐播放器的原理和实现方法,为你的毕业课程设计提供一定的参考和指导。
摘要随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。
音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。
目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。
本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。
其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显示器上显示相应播放歌曲的曲名和滚动歌词。
再加上一个开关键来控制歌曲的播放停止。
本设计的目的是培养理论联系实际的学习方法以及独立解决工程实际问题的能力。
能够熟识单片机C51语言的编程特性,及其应用。
能够用C51语言进行编程,能成功的编出较为简单的程序。
关键词:单片机,音乐,蜂鸣器,同步显示AbstractWith the development of electronic technology and computer more and more common use, the single chip microcomputer as two of the organic combination of technology and a wide range of applications and, in some areas has the role that cannot be replaced. Music play function everywhere can use, such as, in the development of children's intelligence toys, and so on. At present, based on the single chip microcomputer music playback, its small size, low price, programming characteristics such as flexible in this field dominate. This course design main content is through the single-chip microcomputer C51 language programming, to produce music notes and beat, the score translated into computer language (note conversion ChengCheng corresponding square wave frequency that is loaded initial value, timer beat converted into a corresponding extended time), and the storage to the single chip microcomputer in advance, and then based on the button again call by MCU is information processing, after amplification, released by the speaker strains, realizing the function of the music played. The main performance can play in ten songs, can use ten numeric keys control play songs, and in LCD screen monitors displayed the corresponding play songs music name and rolling lyrics. Plus a open key to control the songs played to stop. The purpose of this design is to cultivate the theory with the practice as well as independent learning methods solving engineering problem ability. Familiar with single-chip microcomputer C51 language to programming characteristics, and its application. To be able to use language C51 programming, to the success of the make up of the simpler program.Keywords:Microcontroller, music, buzzer, simultaneous display目录课程设计(论文)任务书 ..................................... 错误!未定义书签。
51单片机音乐播放器程序#include //包含51单片机寄存器定义的头文件sbit sound=P3^6; //将sound位定义为P3.6unsigned int C; //储存定时器的定时常数//以下是C调低音的音频宏定义#define l_dao 262 //将"l_dao"宏定义为低音"1"的频率262Hz #define l_re 286 //将"l_re"宏定义为低音"2"的频率286Hz#define l_mi 311 //将"l_mi"宏定义为低音"3"的频率311Hz#define l_fa 349 //将"l_fa"宏定义为低音"4"的频率349Hz#define l_sao 392 //将"l_sao"宏定义为低音"5"的频率392Hz#define l_la 440 //将"l_a"宏定义为低音"6"的频率440Hz#define l_xi 494 //将"l_xi"宏定义为低音"7"的频率494Hz//以下是C调中音的音频宏定义#define dao 523 //将"dao"宏定义为中音"1"的频率523Hz#define re 587 //将"re"宏定义为中音"2"的频率587Hz#define mi 659 //将"mi"宏定义为中音"3"的频率659Hz#define fa 698 //将"fa"宏定义为中音"4"的频率698Hz#define sao 784 //将"sao"宏定义为中音"5"的频率784Hz#define la 880 //将"la"宏定义为中音"6"的频率880Hz#define xi 987 //将"xi"宏定义为中音"7"的频率523H//以下是C调高音的音频宏定义#define h_dao 1046 //将"h_dao"宏定义为高音"1"的频率1046Hz #define h_re 1174 //将"h_re"宏定义为高音"2"的频率1174Hz#define h_mi 1318 //将"h_mi"宏定义为高音"3"的频率1318Hz #define h_fa 1396 //将"h_fa"宏定义为高音"4"的频率1396Hz #define h_sao 1567 //将"h_sao"宏定义为高音"5"的频率1567Hz #define h_la 1760 //将"h_la"宏定义为高音"6"的频率1760Hz#define h_xi 1975 //将"h_xi"宏定义为高音"7"的频率1975Hz /*******************************************函数功能:1个延时单位,延时300ms******************************************/void delay(){unsigned char i,j;for(i=0;i<300;i++)for(j=0;j<300;j++);}/*******************************************函数功能:主函数******************************************/void main(void){unsigned char i,j;//以下是《知足》的一段简谱unsignedint code f[]={ dao,l_xi,dao ,sao,sao,dao,l_xi,dao,mi,dao,l_xi,dao,l_sao,mi,re,l_la,l_xi,dao,re,dao,l_xi,dao,sao,sao,la,xi,la,mi,la,xi,h_dao,sao,mi,mi,fa,mi,l_la,re,dao,dao,l_xi,dao,sao,sao,dao,l_xi,dao,mi,dao,l_xi,dao,l_sao,mi,re,l_la,l_xi,dao,re,dao,l_xi,dao,sao,sao,la,xi,h_dao,sao,la,xi,h_dao,sao,mi,mi,fa,mi,l_sao,re, dao,l_sao,h_dao,xi, la,fa,re, re,l_sao,xi,la,sao,re,dao,dao,re,mi,fa,fa,la,sao,mi,re,mi,fa,fa,sao,dao,h_dao,xi, la,fa,xi,h_dao,h_re, sao,h_re,xi,h_dao,la,xi,h_dao,h_re,sao,0xff}; //以0xff作为音符的结束标志//以下是简谱中每个音符的节拍//"4"对应4个延时单位,"2"对应2个延时单位,"1"对应1个延时单位unsigned char code JP[ ]={2,1,1,2,2,2,1,1,4,2,1,1,2,2,1,1,1,1,4,2,1,1,2,1,1,2,1,1,4,2,1,1,2,1,1,1,1,1,1,4,2,1,1,2,2,2,1,1,4,2,1,1,2,2,1,1,1,1,4,2,1,1,2,2,2,1,1,4,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,1,1,2,1,1,2,1,1,2,1,1,1,1,1,1,2,2,1,1,2,2,1,1,3,1/2,1/2,3,1/2,1/2,3,1,4,};EA=1; //开总中断ET0=1; //定时器T0中断允许TMOD=0x00; // 使用定时器T0的模式1(13位计数器)while(1) //无限循环{i=0; //从第1个音符f[0]开始播放while(f[i]!=0xff) //只要没有读到结束标志就继续播放{C=460830/f[i];TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法TR0=1; //启动定时器T0for(j=0;j<="">delay(); //延时1个节拍单位TR0=0; //关闭定时器T0i++; //播放下一个音符}}}/*********************************************************** 函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频的方波************************************************************/ void Time0(void ) interrupt 1 using 1{sound=!sound; //将P3.7引脚输出电平取反,形成方波TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法}。
资料范本本资料为word版本,可以直接编辑和打印,感谢您的下载基于C51的简易音乐播放器地点:__________________时间:__________________说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容宁波理工学院单片机作业(论文)题目简易音乐播放器姓名 XXX学号 309040XXXX专业班级 09通信工程3班指导教师李林功学院信息科学与工程学院完成日期 2012年5月20日摘要当今社会的快速发展,科技的进步,人们的生活水平不断提高,人们开始使用开发电子产品,给生活、工作带来便利。
单片机的应用刚好适应了人们的需求,同时它更加贴近于生活。
本文介绍了一种基于MCS-51单片机的简单音乐播放器设计。
该设计以8051单片机为主体,结合播放等设备,实现单首歌曲循环播放及暂停功能,同时以指示灯显示播放状态。
整个实验设计过程如下五部分:设计构建电路图,程序流程图设计,确定音符与节拍数据,书写程序,实验仿真。
关键词:音乐播放器;AT89C51;计数器目录TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc325289019" 摘要 PAGEREF _Toc325289019 \h IHYPERLINK \l "_Toc325289020" 第1章概述 PAGEREF_Toc325289020 \h 1HYPERLINK \l "_Toc325289021" 1.1 MCS-51单片机简介 PAGEREF _Toc325289021 \h 1HYPERLINK \l "_Toc325289022" 1.2 音乐播放器功能 PAGEREF_Toc325289022 \h 1HYPERLINK \l "_Toc325289023" 1.3 本文工作 PAGEREF_Toc325289023 \h 1HYPERLINK \l "_Toc325289024" 第2章预备知识 PAGEREF_Toc325289024 \h 2HYPERLINK \l "_Toc325289025" 2.1 单片机最小系统 PAGEREF_Toc325289025 \h 2HYPERLINK \l "_Toc325289026" 2.2 发光二级管闪烁 PAGEREF_Toc325289026 \h 3HYPERLINK \l "_Toc325289027" 2.3 扬声器工作原理 PAGEREF_Toc325289027 \h 3HYPERLINK \l "_Toc325289028" 2.4 按键的抖动 PAGEREF_Toc325289028 \h 3HYPERLINK \l "_Toc325289029" 第3章设计原理 PAGEREF_Toc325289029 \h 5HYPERLINK \l "_Toc325289030" 3.1 电路原理图 PAGEREF_Toc325289030 \h 5HYPERLINK \l "_Toc325289031" 3.2 音乐 PAGEREF_Toc325289031 \h 6HYPERLINK \l "_Toc325289032" 3.2.1 播放音乐简谱 PAGEREF_Toc325289032 \h 6HYPERLINK \l "_Toc325289033" 3.2.2 乐曲的硬件实现原理 PAGEREF _Toc325289033 \h 6HYPERLINK \l "_Toc325289034" 第4章程序流程图 PAGEREF_Toc325289034 \h 8HYPERLINK \l "_Toc325289035" 第5章仿真结果 PAGEREF_Toc325289035 \h 9HYPERLINK \l "_Toc325289036" 第6章总结 PAGEREF_Toc325289036 \h 10HYPERLINK \l "_Toc325289037" 附录 PAGEREF _Toc325289037 \h 11概述1.1 MCS-51单片机简介单片机具有功能强、价格低、体积小、使用方便等特点,在工农业生产、航空航天、日常生活等各个领域都得到了广泛应用。