当前位置:文档之家› 单片机音乐频谱..

单片机音乐频谱..

单片机音乐频谱..
单片机音乐频谱..

题目:单片机LED音乐频谱的设计院(系):

专业:

学生姓名:

学号:

指导教师:

2011年07月07日

摘要

该系统采用增强型8051单片机STC12C5A60S2为主控制器,通过单片机内置的ADC对音频信号进行采样、量化,然后通过快速傅里叶变换运算,在频域计算出音频信号各个频率分量的功率,最后通过双基色LED单元板进行显示。该方案具有电路结构简洁,开发、生产成本低的优点。

关键词:单片机;傅里叶;LED;

目录

1. 引言 (1)

2. 方案设计 (2)

2.1设计要求 (2)

2.2总体方案设计 (3)

2.3总体方案组成 (6)

3. 系统电路设计 (6)

3.1单片机主控电路设计主控制器 (6)

3.2LED显示模块电路设计 (7)

4. 软件设计 (8)

4.1软件设计流程图 (8)

5.系统的测试 (8)

6.结论 (9)

7.参考文献 (11)

8. 附录 (14)

1. 引言

本文介绍的音乐频谱显示器可对mp3、手机、计算机输出的音乐信号进行实时的频谱显示。系统采用增强型8051单片机STC12C5A60S2为主控制芯片,通过单片机内置的ADC对音频信号进行采样,把连续信号离散化,然后通过快速傅里叶变换(FFT)运算,在频域计算出音频信号各个频率分量的功率,最后通过双基色LED单元板进行显示。在显示的频率点不多的情况下,本系统比采用DSP或ARM作为主控制芯片的设计方案具有电路结构简洁,开发、生产成本低的优点。

2. 方案设计

2.1设计要求

1. 单片机自带AD 转换,这样省去外围AD 电路。

2. 控制LED 随着音乐跳动,需要理解傅里叶原理。 2.2总体方案设计

经分析,将系统分为两个部分,一个是由单片机组成的主控。另一部分是LED 显示部分,单片机对接收到的音频进行处理经过傅里叶换算后在LED 显示,5V 稳压电源给各个部分供电。

该系统实现的方法有很多种,下面将列出大家最经常用到的实现方案。系统框图如图1所示

图1 音乐频谱总体系统框图

该系统由音频信号预处理电路、单片机STC12C5A60S2控制电路、LED 频谱显示电路等部分组成。图l 为系统整体设计原理框图。 图1 系统整体设计原理框图

系统各组部分的功能:(1)音频信号预处理电路主要对输入的音频进行电压放大和电平提升。(2)单片机STC12C5A60S2控制电路采用内置的ADC 对音频信号进行采样量化,然后对量化后的音频数据采用FFT 算法计算其频谱值,再将各频谱值进行32级量化。(3)LED 频谱显示电路在单片机的控制下,负责将FFT 计算得到的音频信号的各个频点的大小进行直观显示。 1.音频信号预处理电路 图2 音频信号预处理电路

音频信号预处理电路见图2所示,对输入的音频进行电压放大和电平提升。手机、计算机输出的音频信号Vin 经过RP1进行电压调节后,经集成运放LMV358反相放大10倍(Av=-R3/R2=-10),提高系统的灵敏度。选用单电源供电的运放LMV358,一方面可以简化系统电源电路的设计,直接采用系统的+5V 供电即可;另一方面其输出端静态电压为VCC/2,即2.5V 。放大后的音频信号和这2.5V 叠加后变为直流电压信号,满足后面单片机内置的ADC 对输入电压量程的要求。另外,LMV358为轨到轨输出运放,它可在+5V 单电源供电条件下仍具有较大的动态输出范围。 2.单片机STC12C5A60S2控制电路

显示电路

音频信号

单片机

电源

STC12C5A60S2单片机是宏晶科技生产的新一代单时钟/机器周期(1T)8051

单片机,具有高速、低功耗及超强抗干扰等特点,指令代码完全兼容传统8051,但速度快8-12倍;内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)等资源[1]。特别是它带硬件乘法/除法指令,使乘法指令执行时间从传统8051的48个晶振周期减少到4个晶振周期,使需要大量乘法运算的FFT运算速度得到大幅度提高。在本系统中,STC12C5A60S2单片机负责完成对音频信号进行A/D 变换,然后采用FFT算法计算音频信号频谱,并将计算结果输出到LED频谱显示电路。

(1)音频信号的A/D变换

根据香农采样定理,一般采样频率至少应为所采样音频信号最高频率的2倍。由于人耳能够感受的频率为20Hz-20kHz,所以理论上采样频率最高取40kHz。本设计采用单片机STC12C5A60S2内置的ADC对音频信号进行采样、量化。

STC12C5A60S2单片机的A/D转换口在P1口(P1.0-P1.7),有8路10位的高速ADC,其输入电压量程为0-Vcc,转换速度可通过ADC_CONTR特殊功能寄存器的SPEED1,SPEED0位进行控制,速度最快可设置为每90个时钟周期转换一次。在外接晶振为24MHz时,ADC的转换速度可达到330KHZ,完全可满足对音频信号的采样需要。

(2)音频信号频谱值的计算

我们采用快速傅里叶算法(FFT)来计算音频信号的频谱值。根据FFT运算规律,如ADC以fs的采样频率取N个采样点,经过FFT运算之后,就可以得到N个点的复数序列。通常为了方便进行FFT运算,通常N取2的整数次方:N=2L(L为正整数)。这N个点的FFT结果,每一个点就对应着原始信号的一个频率点,即第n点所表示的频率为f=n×fs/N,n=0,1,…,(N-1);该点的模值除以N/2就是对应该频率下原始信号的幅度(对于第1个点则是除以N);该点的相位即是对应该频率下原始信号的相位。由于FFT结果的对称性,通常只使用FFT运算后的前N/2个点的数值。本系统每隔10ms采样一次128个点,经过FFT运算后将得到128个频率点。由于FFT结果的对称性,我们选取前64个点进行显示。

现在FFT算法已发展出多种形式,本系统采用按时间抽选(DIT)的基-2FFT算法,这种算法程序相对较简单,节省存储单元,运行效率较高,比较适合用单片机编程实现。DIT基-2FFT算法主要由倒位序运算和多级蝶形运算实现。

a.倒位序运算的实现

DIT基-2FFT算法通常将原始数据序列倒位序存储,运算后的结果则按正常顺序输出。一般的数字信号处理的教材都介绍雷德(Rader)算法,通过“反向进位加法”

将原始数据序列进行倒位序存储[2]。雷德算法的灵活性较大,但在本系统中,参与运算的数据点数只有128个,通过预先编制倒位序查询表,采用查表方式实现倒位序操

作速度会更快。

b.蝶形运算的实现

根据DIT基-2 FFT算法原理,N点FFT运算由log2N级,每级N/2个蝶形运算,共(N/2)log2N个蝶形运算构成。每个蝶形运算结构见图3所示[2]。

图3 按时间抽选蝶形运算结构

蝶形运算结构图中,m表示第m级的蝶形运算,k 为蝶形运算第一节点所在行数,

b为蝶形运算两节点距离,b=2m-1,WNr为旋转因子,WNr=cos(2πr/N)-jsin(2πr/N)。

每个蝶形结构完成下述基本迭代运算[2]:

设Xm=Rm+jIm,将式(1)转变为实部和虚部的表示形式,得到:由上面式(1)、

式(2)可见,一个蝶形运算需要一次复数乘法Xm-1(k+b)WNr及两次复数加(减)

法。在单片机系统中编程实现时,需把复数运算转变为实数运算。

同理,将式(2)转变为:

将sin、cos函数做成表格sin_tab[128]、cos_tab[128],直接查表可提高运算速度。

3.频谱值的显示

系统中采用5*11个不同颜色的草帽LED进行显示,每列显示音频信号的一个频率点,每列LED点亮的高度表示该频率点幅度的大小。整个显示板一共有5列,工作的时候,可以看到每列根据频率幅度的大小在跳动。

2.3 整体系统组成

本系统硬件部分由单片机主控电路、LED显示部分、音频采集等部分组成,其中单片机主控电路有外接晶振,电源供电电路阻等部分组成。软件部分详细见下文。

单片机全系统如下图2所示。

3. 系统电路设计

3.1单片机主控电路设计

单片机主控模块包括了振落电路、音频采集电路,同时接入了各个模块的接口,保证了整个系统的灵活性。

单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各个模块搭接在一起。这种设计方法可以降低系统设计的复杂性。

控制电路的核心器件是由美国Atmel公司生产的AT89S52单片机,属于MCS-51系列。AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术;片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。因此广泛应用于工业控制和嵌入式系统中。

单片机主控电路原理图如下所示:

图4.1 单片机主控电路原理图3.2 LED显示模块电路设计

4. 软件设计

4.1软件设计流程图

FFT倒序流程图

FFT计算流程图

5. 系统测试

制作的过程中首先遇到的问题是LED如何组装,经过查阅资料发现,可以利用LED的管脚互相按照电路图连接起来,这个时候主要是利用万用表来测试,LED灯到底有无坏掉的。通电后,在无音频输入时,LED应该无闪烁跳动现象。在制作完成的时候,发现LED灯闪烁,这个时候,在音频输入端接入了47p的电容,这样就解决了这个问题。

6. 结论

本系统采用增强型8051单片机STC12C5A60S2实现音乐频谱显示,该方案硬件电路设计简单、成本低,并具有较高的实用价值。本方案是通过ADC采样输入的音频信号,ADC采样完成以后,将数据进行倒序排列并进行FFT运算,结果通过TFT液晶显示出来。由于采用的处理器的处理能力的原因,不能做到很高的采样频率和很精细的频率分辨率,要提高系统的频率分辨率,就需要增加采样点数。可以借助PC的强大处理能力,将采样的数据通过预留的串口传送给PC,在PC上完成FFT运算以及显示,这就是虚拟仪器的方式,实际工作中应用前景也非常大。

谢辞

感谢老师对我们的指导。完成了这个实训任务,虽然结果差强人意,但是还是有进步的,有收获的。希望以后在学习生活中能继续好好学习。

7.参考文献

[1]宏晶科技.STC12C5A60S2系列单片机器件手册[M].2010.

[2]程佩青.数字信号处理教程(第二版)[M].北京:清华大学出版社,2001.

[3]靳桅,等.基于51系列单片机的LED显示屏开关技术(第2版)[M].北京:北京航空航天大学出版社,2011.

作者简介:

吴永德(1980―),男,讲师,从事电子技术专业教学及研究。

罗萍(1979―),女,讲师,从事计算机技术专业教学及研究。

附录:

电路图:

程序:

#include //"stc12c5620ad.h"

#include

#define LongToBin(n)

(((n>>21)&0x80)|((n>>18)&0x40)|((n>>15)&0x20)|((n>>12)&0x10)|((n>>9)&0x08)|((n>> 6)&0x04)|((n>>3)&0x02)|((n)&0x01))

#define BIN(n) LongToBin(0x##n##)

#define uchar unsigned char

#define uint unsigned int

#define SAMPLE_NUM 64

#define NUM_2_LOG 6

#define FFT_OUT_MIN 3

uchar code BRTable[SAMPLE_NUM] ={ 0, 32, 16, 48, 8, 40, 24, 56,4, 36, 20, 52, 12, 44, 28, 60, 2, 34, 18, 50, 10, 42, 26, 58, 6, 38, 22, 54, 14, 46, 30, 62, 1, 33, 17, 49, 9, 41, 25, 57,5, 37, 21, 53, 13, 45, 29, 61,3, 35, 19, 51, 11, 43, 27, 59,7, 39, 23, 55, 15, 47, 31, 63};

char code sin_tabb[SAMPLE_NUM] =

{ 0 ,12 ,25 ,37 ,49 ,60 ,71 ,81 ,90 ,98 ,106 ,112 ,117 ,122 ,125 ,126 ,127 ,126 ,125 ,122 ,117 ,112 ,106 ,98 ,90 ,81 ,71 ,60 ,49 ,37 ,25 ,12 ,0 ,-12 ,-25 ,-37 , -49 ,-60 ,-71 ,-81 ,-90 ,-98 ,-106 ,-112 ,-117 ,-122 ,-125 ,-126 ,-127 ,-126 ,-1 25 ,-122 ,-117 ,-112 ,-106 ,-98 ,-90 ,-81 ,-71 ,-60 ,-49 ,-37 ,-25 ,-12 };

char code cos_tabb[SAMPLE_NUM] =

{127 ,126 ,125 ,122 ,117 ,112 ,106 ,98 ,90 ,81 ,71 ,60 ,49 ,37 ,25 ,12 ,0 ,-12 , -25 ,-37 ,-49 ,-60 ,-71 ,-81 ,-90 ,-98 ,-106 ,-112 ,-117 ,-122 ,-125 ,-126 ,-127 ,-126 ,-125 ,-122 ,-117 ,-112 ,-106 ,-98 ,-90 ,-81 ,-71 ,-60 ,-49 ,-37 ,-25 ,-1

2 ,0 ,12 ,25 ,37 ,49 ,60 ,71 ,81 ,90 ,98 ,106 ,112 ,117 ,122 ,125 ,126 };

uchar a[21];

uchar keep,keepnum,anum,timernum,timernum2,lednum3,Ltime;//用于分离

/*加入数组用于显示相应led灯数目*/

uchar lednum[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//0-7的显示数组

P2组控制

int xdata FftReal[SAMPLE_NUM];

int xdata FftImage[SAMPLE_NUM];

sbit p30=P3^0;

sbit p31=P3^1;

sbit p32=P3^2;

sbit p33=P3^3;

sbit p34=P3^4;

sbit p35=P3^5;//9-11的led控制

sbit p36=P3^6;

sbit p37=P3^7;

void timerinit()//定时器初始化函数

{

TMOD=0x01;

TH0=(65536-6000)/256;

TL0=(65536-6000)%256;

EA=1;

ET0=1;

TR0=1;

}

void disp()

{

timernum++;

if(timernum==6) timernum=1;

P2=0;//显示前先关闭

P3=P3&0x1f;

switch(timernum)

{

case 1:anum=a[0];p34=0;p33=1;p32=1;p31=1;p30=1;break;

case 2:anum=a[1];p34=1;p33=0;p32=1;p31=1;p30=1;break;

case 3:anum=a[2];p34=1;p33=1;p32=0;p31=1;p30=1;break;

case 4:anum=a[3];p34=1;p33=1;p32=1;p31=0;p30=1;break;

case 5:anum=a[4];p34=1;p33=1;p32=1;p31=1;p30=0;break;

}

//anum=a[10];/*修改可以改变光柱高度(anum值分开几个部分用定时器区分显示)(a[]内逐加) */

if(anum<=8){P2=lednum[anum];P3=P3&0xff;}//屏蔽高三位 1f

//else {P2=0xff;P3=lednum2[anum-9];}

if(anum==9){P2=0xff;p35=1;p36=0;p37=0;}

if(anum==10){P2=0xff;p35=1;p36=1;p37=0;}

if(anum==11){P2=0xff;p35=1;p36=1;p37=1;}

}

uchar STC_ADC() //!!根据数据手册写一个ad读取函数 {

uchar i;

ADC_RES = 0;

ADC_RESL = 0;

ADC_CONTR = BIN(10001000);

i=3;

while(i--);

while (1)

{

if (ADC_CONTR & BIN(10000))

{

break;

}

}

ADC_CONTR = BIN(10000000);

return( ADC_RESL<<2) ;

}

short sqrt_16( unsigned long M)

{

unsigned int N, i;

unsigned long tmp, ttp;

if( M == 0 )

return 0;

N = 0;

tmp = ( M >> 30 );

M <<= 2;

if( tmp > 1 )

{

N ++;

tmp -= N;

}

for( i=15; i>0; i-- )

{

N <<= 1;

tmp <<= 2;

tmp += (M >> 30);

ttp = N;

ttp = (ttp<<1)+1;

M <<= 2;

if( tmp >= ttp )

{

tmp -= ttp;

N ++;

}

}

return N;

}

void FFT()

{

register uchar i,bb,j,k,p,max;

register short TR,TI,temp;

unsigned long ulReal;

unsigned long ulImage;

for(i=0; i

{

FftReal[BRTable[i]] = STC_ADC()<

}

keepnum=FftReal[2]/32;//提取等级数

if((7

else if((4

else if((2

else {keep=5;}

for( i=1; i<=NUM_2_LOG; i++)

{

bb=1;

bb <<= (i-1);

for( j=0; j<=bb-1; j++)

{

p=1;

p <<= (NUM_2_LOG-i);

p = p*j;

for( k=j; k

{

TR = FftReal[k]; TI = FftImage[k]; temp = FftReal[k+bb];

FftReal[k] = FftReal[k] + ((FftReal[k+bb]*cos_tabb[p])>>7) + ((FftImage[k+bb]*sin_tabb[p])>>7);

FftImage[k] = FftImage[k] - ((FftReal[k+bb]*sin_tabb[p])>>7) + ((FftImage[k+bb]*cos_tabb[p])>>7);

FftReal[k+bb] = TR - ((FftReal[k+bb]*cos_tabb[p])>>7) - ((FftImage[k+bb]*sin_tabb[p])>>7);

FftImage[k+bb] = TI + ((temp*sin_tabb[p])>>7) -

((FftImage[k+bb]*cos_tabb[p])>>7);

FftReal[k] >>= 1;

FftImage[k] >>= 1;

FftReal[k+bb] >>= 1;

FftImage[k+bb] >>= 1;

}

}

}

max=0;

for( i=0; i<5; i++)//5

{

ulReal = FftReal[i+1];

ulReal *= ulReal;

ulImage = FftImage[i+1];

ulImage *= ulImage;

a[i] = sqrt_16( ulReal + ulImage ); //修改

if( a[i] < FFT_OUT_MIN )

a[i] = 0;//修改

else

a[i] = a[i]-FFT_OUT_MIN;

if( a[i] >max)

max =a[i];

//disp();

}

if(max>11) //11

{

基于51单片机两种音乐编码的比较及用法

基于51单片机的两种音乐编码方法的比较及用法 (建议对这方面有兴趣的朋友们要先看懂了解音乐简谱,包括高音、中音、低音,节拍、延时,及各个音调的频率,网上有很多资料) 1方法:用51单片机音乐编码器软件(Music encode) 输出十六进制数表示: 曲谱存贮格式unsigned char code MusicName{音高,音长,音高,音长...., 0,0}; 末尾:0,0 表示结束(Important) (其实软件“关于”里的源代码有使用方法的介绍) 音高由三位数字组成: 个位是表示1~7 这七个音符 十位是表示音符所在的音区:1-低音,2-中音,3-高音; 百位表示这个音符是否要升半音: 0-不升,1-升半音。 音长最多由三位数字组成: 个位表示音符的时值,其对应关系是: |数值(n): |0 |1 |2 |3 | 4 | 5 | 6 |几分音符: |1 |2 |4 |8 |16 |32 |64 音符=2^n 十位表示音符的演奏效果(0-2): 0-普通,1-连音,2-顿音 百位是符点位: 0-无符点,1-有符点 2方法:编码为十六进制(高四位表示音调编码,低四位表示节拍编码)(各音调频率及初值计算定时器初值网上有,在此不叙说) do re mi fa so la si分别编码为1~7,重音do编为8,重音re编为9,停顿编为0。 如0x24,表示低音LA、1拍。以此类推 表4.4简谱对应的简谱码、T值、节拍数 简谱发音简谱码T值节拍码节拍数 5 低音SO 1 64260 1 1/4拍 6 低音LA 2 64400 2 2/4拍 7 低音TI 3 64524 3 3/4拍 1 中音DO 4 64580 4 1拍 2 中音RE 5 64684 5 1又1/4拍 3 中音MI 6 64777 6 1又1/2拍 4 中音FA 7 64820 8 2拍 5 中音SO 8 64898 A 2又1/2拍 6 中音LA 9 64968 C 3拍 7 中音TI A 65030 F 3又3/4拍 1 高音DO B 65058 2 高音RE C 65110 3 高音MI D 65157 4 高音FA E 65178 5 高音SO F 65217

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。 本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显

(完整版)基于51单片机的电子八音盒详细设计步骤

一、设计目的 利用8052单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。 二、设计要求 其基本功能为:1,使用LED显示器来显示目前演奏的歌曲编号;2,具有8个按键操作来选择演奏哪一首歌曲;3,内建8首歌曲旋律,按下单键可以演奏歌曲。 三、设计器材 T89C52单片机、晶振、八个按键、二位一体共阳极数码管、电阻电容若干、导线。 四、设计方案及分析 设计思路: (1)选择8052单片机,通过T0定时中断,并配合P2.0引脚输出音频频率。 (2)P2.0引脚输出接蜂鸣器。 (3)通过P0口接LED。 (4)P1口接键盘,输入歌曲号。 音符产生方法: 不同的音调有不同的频率。频率不同,音调也就不同。 利用定时器,使其工作在模式1,定时中断,然后控制P2.0引脚的输出每次取反,就可以在P2.0的引脚输出相应的方波频率。改变计数初值,就改变了频率。定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P2.0引脚得到一音频的脉冲。 如:中音1的频率=523HZ,周期T=1/523=1912us; 定时器的定时时间为:T/2=1912/2us=956us; 计算得TH0,TL0的计数初值THTL=64580 下面是个音符计数初值

节拍产生方法: 音乐中的节拍用延时时间产生。假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。为方便记谱,将节拍数也进行编码,如下: 建立曲谱编码表: 编谱用8位编码,高4位代表音符,低4位代表节拍。如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H 程序清单: #include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit SPEAK = P2^0;//接蜂鸣器管脚 uchar th0_f; uchar tl0_f;

基于51单片机的音乐播放器

基于51单片机的音乐播放器 余子健、刘胤、宋亮 摘要:本大作业是基于sst89e52rd2单片机制作的wav音乐播放器。该播放器可以播放存在sd卡中的音乐,通过对sd卡的读取并将数字信号送入单片机中,借助8位DA转换器TLC5620 变成模拟信号,经过放大器TDA2822放大交给扬声器发出最初读取的音频信号,实现音乐播放的功能。 关键词:SD卡,WAV文件,DA,音频放大 1背景 音乐随身听产品经过几年的发展,已经变得相当成熟。市场上可以购买到各类不同的音乐播放器,产品线涵盖了高中低不同档次。作为学习与研究,本作品尝试利用STI51开发板板载资源以及外搭的功率放大电路制作一台音乐播放器,能够播放通过计算机拷贝在SD卡(或MMC卡、TF卡)的根目录中的某一个WAV 文件。 2硬件设计 该音乐播放器硬件组成如下 本音乐播放器使用容量为2G的SD作为外部存储器 主控制器采用SST公司生产的SST89E58RDA,其40引脚封装的芯片功能模块如图1所示。芯片主要特想如下: ?兼容80C51系列,内置超级FLASH存储器的单片机 ?工作电压VDD=4.5~5V,5V工作电压时0-40MHz频率范围 ?1KB的内部RAM ?两块超级FLASH EEPROM,32KB的基本存储卡和8KB的二级存储块(扇区大小为128字节),二级存储块可用于存放掉电后要保存的数据,放在内部具有极强的抗干扰性?最大片外程序/数据地址空间为64KB ?全双工增强型UART,帧错误检测,自动地址识别 ?9个中断源,4个中端优先级 ?降低EMI模式(通过AUXR SFR不允许ALE输出时钟),确保了单片机的高抗干扰性?双DPTR指针(查表,寻址更方便)

51单片机蜂鸣器播放音乐代码

/*生日快乐歌曲*/ #include <> #define uint unsigned int #define uchar unsigned char sbit beep = P1^5; uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0}; uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24, 9,3,12,12,12,12,12,9,3,12,12,12,24,0}; //延时 void DelayMS(uint x) { uchar t; while(x--) for(t=0;t<120;t++); } void PlayMusic() { uint i=0,j,k; while(SONG_LONG[i]!=0||SONG_TONE[i]!=0) { //播放各个音符,SONG_LONG 为拍子长度 for(j=0;j // 这是单片机音乐代码生成器生成的代码 #define uchar unsigned char sbit beepIO=P1^5; // 输出为可以修改成其它 IO 口uchar m,n;

基于51单片机数字音乐盒的设计

单片机实物设计 题目: 单片机音乐盒设计 班级: K0312416-17 姓名:湛俊朱斌杨裕庆 学号:K031241705 K031241632 K031241737

摘要 本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 【关键词】STC89C51RC 按键蜂鸣器 LCD1602液晶

目录 前言 ................................................................................................................................. 第一章工作原理 .............................................................................................................. 1.1设计目标 ............................................................................................................... 第二章软件设计与分析................................................................................................... 2.1 软件设计的组成................................................................................................... 2.2 各部分软件分析 ................................................................................................. 2.2.1 延时165MS,即十六分音符子函数 .......................................................... 2.2.2 延时1MS子函数...................................................................................... 2.2.3 定时器0中断子函数 .............................................................................. 2.2.4 播放音乐子函数...................................................................................... 2.5 定时器1中断子函数.................................................................................. 2.6 按键扫描子函数 ......................................................................................... 2.2.7 主函数..................................................................................................... 2.3 总源程序 ............................................................................................................ 第三章软件仿真 .............................................................................................................. 3.仿真图...................................................................................................................... 3.1 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

51单片机实现的音乐闹钟程序代码

功能描述:产品可以显示时间和日期,时间格式为 hh mm ss 日期格式为 yy.mm.dd 时间和日期轮流显示。时间显示5S 日期显示3S。 可以设置5个闹铃,闹铃音乐可以设置两种:毛驴和童年。 三个按键对时间和闹铃进行设置,六个LED进行显示。 计时采用DS1307。继电时间不丢失,设置过的闹铃也不丢失。 闹铃音乐由单片机的两个定时器去产生频率实现。 部分程序如下: //************************************************* //************************************************ //*********************************************** //程序名:DS1307 时钟程序 //功能描述:用六个八段LED 轮流显示时间 // 和日期。有6个闹钟。上电时从DS1307中读出 // 当前时间、日期、闹钟。 // // // // // #include #include #define uchar unsigned char #define uint unsigned int #define LED P2 #define LEDBit P0 #define nop _nop_(>

#define LightCount 40 #define LightMax 80 sbit SCL=P3^1。 sbit SDA=P3^0。 sbit ModeKey=P1^0。 sbit UpKey=P1^1。 sbit DownKey=P1^2。 sbit Speak=P3^6。 code uchar LCD_NUM[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09}。 //0x25, //uchar Clock[]={0x88,0x88,0x88}。 code uint Music_Sound_Long1[]={4,8,4,8,8,4,8,4,4,4, /*童年*/ 8,4,8,4,4,4,4,4,16,4, 4,8,4,4,4,4,4,8,4,4, 4,8,4,4,4,4,4,4,16,4, 4,8,4,4,4,4,4,8,4,4, 4,8,4,4,4,4,4,4,16,4, 8,4,8,4,4,4,8,8,4,4, 4,4,4,4,4,4,4,4,4,16, 4,8,4,8,8,4,8,4,4,4, 8,4,8,4,4,4,4,4,16,4, 8,4,8,8,4,8,4,4,4,8, 4,8,4,4,4,4,4,16,0}, Music_Sound_Long2[]={4,4,4,4,4,4,4,4,4,4, /*小毛驴*/ 4,4,16,4,4,4,4,4,4 ,4, 4,4,4,4,4,8,4,4,4,4, 4,4,4,4,4,4,4,4,4,16, 4,4,4,4,2,2,2,2,4,4, 4,4,4,4,16,0}, Music_Sound_Tone1[]={379,379,379,379,425,477,477,477,425,477, 568,637,637,637,568,637, 425,379,477,719, 637,63 7,719,637,568,568,506,568,568,568, 637,477,477,477,477,568,477,568,637,719, 637,637,719,637,568,568,506,568,568,568, 637,477,477,477,477,568,568,477,851,318,

用51单片机演奏音乐

单片机演奏音乐 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把五线谱中央C 上方的A 音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1 高一个倍频程, 在音乐中1与.1(1前面的点应在1的上面),2与 .2……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i 八音区为例,12 个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5 一#5、#5—6、6—#6、#6—7、7—i。其中“#”表示半音,用于升高或降低半个音。这12 个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,常采用的方法就是通过一个延时程序,延时对应频率周期的二分之一周期(即t=1/2f)后,将单片机上连接蜂鸣器的I/O (P3.7)口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将不同的延时时间值t赋给延时程序即可实现。例:我门以440Hz的声音频率来计算,其对应的时间 t=1/2f=1/2*440=1136us 但在实际程序中常采用查表的方式来取的t 值,而为了节约存储器空间则将t值以字节来进行存储,由于大部分t值都大于256。所以,需将t值除以一个常数(t/x)使其小于256。那么,在查表取得t 值后就要再乘上该常数后再赋给延时程序。 以下为常用音符对应的频率和二分之一周期值t :

基于单片机的数字音乐盒

山东建筑大学 课程设计说明书 题目:基于单片机的数字音乐盒 课程:单片机原理及应用B课程设计院(部):信息与电气工程学院 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师:高焕兵张君捧 完成日期: 2013年6月

目录 摘要 .................................................................... I 1 设计目的 (2) 2 设计要求 (2) 3 设计内容 (3) 3.1 设计原理 (3) 3.2 方案设计 (3) 3.3 电路各模块说明 (4) 3.4 器件选择 (6) 3.5.系统设计 (8) 3.6 软件设计 (8) 3.7 仿真调试及操作说明 (9) 总结与致谢 (10) 参考文献 (11) 附录 (12) 附录一:基于单片机的数字音乐盒总电路图 (12) 附录二:音乐程序 (12)

山东建筑大学信息与电气工程学院学院课程设计说明书 摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。所放歌曲的节奏可以根据需要进行设置,根据存储容量的大小,可以尽可能多的存储歌曲。 本设计由由单片机AT80C51芯片和LCD显示器为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。本设计采用4*4键盘,用Protel99来画系统硬件图,采用C语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。 关键词:单片机;音乐盒;电路;播放

(完整版)基于51单片机的自动音乐播放器设计毕业设计

本科毕业论文(设计) 题目: 基于51单片机的自动音乐播放 器设计 院系:电子与通信工程学院 专业:通信工程 姓名:张志顺 指导教师:陈冬云 教师职称:助教

填写日期:2014年4月20日 摘要 为了人们在快节奏的日常生活,优化工厂、事业单位、公司等的计时系统,采用了依靠单片机为基础设计了一种的自动音乐播放器。本设计利用单片机89C58RD+的计数和定时功能,来完成对时间的定时和显示功能。并且,通过对定时器初值的设定来产生不同频率的声音,利用定时器中断来对音乐节拍长度的控制。通过LM386N1音频功率放大器的音频放大功能,将单片机控制输出的信号放大,然后通过扩音器播放乐曲。通过MAX232型芯片,可以转换PC机上的电压和单片机的电源电压,再通过相应串口接入PC机,这样就能从PC机上将用C语言编写的程序代码下载到单片机上。最后可以在数码管上显示时间,当到达之前设定的时间之后,

扩音系统就会自动播放一段连续而美妙动听的音乐。此设计规避了传统闹钟的难听并且刺耳声音,而变成的是美妙动听的音乐,能给处于当前快节奏生活的人们的日常生活提供精确的计时,且因为成本较低,值得推广。 关键词:单片机;自动音乐播放;音频转换;时间显示;LM386N1音频功率放大器。 Abstract

To people in the fast pace of daily life, optimization of factories, institutions, companies such as timing system, based on microcomputer was adopted to design a kind of automatic music player. This design using the single chip microcomputer 89 c58rd + count and timing functions, to complete the regular and display function of time. And, through to the setting of the initial value of timer to generate different frequencies of sound, using a timer interrupt to control of the beat of the music length. Through the audio amplifier function LM386N1 audio power amplifier, the single-chip microcomputer control output signal amplification, and then through loudspeakers. Through MAX232 chip, can convert the voltage of power supply voltage of PC and microcontroller, again through the corresponding access PC serial port, so you can from the PC to download program code written in C language to the single chip microcomputer. Last time can be displayed on the digital tube, when, after arriving in setting the time before the public address system will automatically play a continuous and delightful music. This design to avoid the traditional alarm clock ugly and give in the fast-paced life of the People's Daily life to provide accurate timing, and because of lower cost, is worth promoting. Key words: single chip microcomputer; Automatic music playback; Audio conversion; Time display; LM386N1 audio power amplifier.

电子音乐盒(单片机课程设计)

^ 电子音乐盒 1、设计任务和要求 (1) 2、总体设计 (1) 3、硬件设计 (2) 硬件电路 (2) 原理说明 (2) 4、软件设计 (3) 5、仿真、安装和调试 (3) 【 6、收获与体会 (4) 参考文献 (5) 附件1:元件清单 (6) 附件2: 总电路图 (7) 附件3:音乐程序 (8) ,

音乐盒设计 1、设计任务和要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而 演乐曲(内存两首乐曲)。 (2)采用七段数码管显示当前播放的歌曲序号。 (3)可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr

C51单片机的MP3播放器

基于C51单片机的MP3播放器的硬件系统设计原理 相关专题:电子应用 时间:2012-04-01 09:11 来源:icbuy亿芯网 便携式MP3播放器作为一种集音频播放、数据存储为一身的数码产品,其功能结构为电子设计人员所津津乐道。MP3是MPEG一1音频III(1ayerIII)的简称。MPEG一1音频(ISO/IECll 172―3)是目前普遍应用的音频压缩标准,其中层III的算法最为复杂,但压缩比最大,效果也最好,在低码率的条件下基本能达到CD的音质效果。MP3标准用尽可能低的码流实现CD音质的声音而不会产生数据损失。如果对于一段声音不进行压缩的话,那么每存储一秒钟的立体声CD音质音乐必须用1.4Mbit,这是个十分大的开销。通过运用MPEG音频标准的压缩技术,我们可以把存储空间压缩到原来的1/12而不会降低声音的音质。即使使用1/24的压缩因子,仍然比单纯降低采样率的音质要好。低数据量和高播放品质的优点使其成为音乐存储、数字广播、网上音乐传输的主要方式。人们不仅可以使用计算机软件,还可以通过数字随身听来欣赏音乐。本设计以C51内核单片机为核心,设计了MP3播放器。 1 MP3硬件设计 在该硬件系统的设计中,采用Atme 1公司生产的AT89C51SNDlC作为主控MCU。AT89C5lSNDlC是ATMEL公司专门针对MP3的需求而设计的一款多媒体8位微处理器,使用通用的C51内核,片上集成了多种外设,为MP3产品提供了一套方便的解决方案。该芯片对电路的高度集成大大降低了系统的耗电和发热,提高了系统的稳定性和速度,抗干扰能力也显著增强。AT89C51SNDlC具有如下外设的集成,大大简化了电路的设计:a.MP3硬件解码器;b.可编程音频输出接口DAC;c.8位MCU C51:d.USBl.1控制器;e.内建锁相环PLL;f.多媒体卡接口适配器;g.SPI接口适配器;h.IDE/ATAPI接口;i.两路10位ADC,8kHz;j.44个通用I/0;k.两个16位定时器/计数器;1.硬件看门狗定时器;m.标准全工UART;n.两线主被动模式控制器;o.SPI主被动模式控制器;p.电源管理模块。 整个播放器的结构框图如图l所示。PC机通过USB接口实现对U盘的MP3歌曲、文档等数据信息的存储。系统启动后,由MCU控制将储存于Flasht辛歌曲的码流信息送入MP3解码芯片中解码,并产生解码输出。在系统的DAC模块通过CS4340芯片把解码输出转换为模拟音频声音后,经功放电路一级音频放大并驱动耳机,实现MP3歌曲的播放。系统硬件包括主控MCU、解码器、Flash存储系统、供电系统、按键和D/A转换器等几部分。

STC89C51单片机的数字音乐盒设计(含代码)

HEFEI UNIVERSITY FPGA综述报告 系别电子信息与电气工程系任课教师汪济洲 班级 姓名 成绩 日期

数字音乐盒设计 摘要:本设计是一个基于STC89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计4种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 关键字:音乐盒 STC89C51单片机 KEIL PROTEUS 音调

目录 1概述 (3) 1.1设计方案 (3) 1.2研究内容 (3) 1.3音乐盒的功能结构图 (3) 2硬件设计 (4) 2.1总体设计框图 (4) 2.2各部分硬件设计及其原理 (4) 2.2.1 STC89C51简介 (4) 2.2.2 LED显示电路设计与原理 (5) 2.2.3 时钟振荡电路 (5) 2.3硬件电路图及功能 (6) 3软件设计 (7) 3.1音调、节拍以及编码的确定方法 (7) 4.1.1 音调的确定 (7) 4.1.2 节拍的确定 (8) 4.1.3 编码 (9) 4.2软件程序设计 (10) 4.2.1 程序流程图及相应代码块 (10) 4.2.2 程序源代码(见附录A) (14) 5调试 (14) 5.1检查硬件连接 (14) 5.2检查软件系统 (14) 5.3测试结果 (14) 5.3.1.总体运行图 (14) 5.3.2.花样灯4种花样图 (15) 参考文献 (16) 附录A 程序源代码及注释 (16)

基于51单片机的音乐程序

基于51单片机的按键切换播放音乐 原理图: 引脚说明:共5个按键,分别接51单片机的P0~P4引脚,前4个按键控制播放设置好的四首音乐,第5个按键用来关闭音乐。按键采用中断方式,任意时刻按下任意按键则立即进入所按按键的功能;蜂鸣器接单片机的P3.6口。 仿真说明:使用proteus仿真,晶振:12MHZ。 程序代码如下: /*12Mhz晶振工作*/ #include #define uint unsigned int #define uchar unsigned char sbit voice=P3^6; uchar code sound1[]={0xff, 0x40,0x80,0x30,0x40,0x2b,0x40,0x26,0x80,0x24,0x10,0x26,0x40,0x30,0x40, 0x2b,0x80,0x30,0x40,0x39,0x40,0x30,0xc0,0x40,0x80,0x30,0x40,0x2b,0x40, 0x26,0x40,0x26,0x20,0x24,0x20,0x20,0x40,0x30,0x40,0x24,0x80,0x26,0x10,

0x20,0x40,0x19,0x40,0x19,0x80,0x1c,0x10,0x1c,0x80,0x20,0x40,0x20,0x20, 0x1c,0x20,0x19,0x40,0x1c,0x20,0x20,0x20,0x26,0xc0,0x24,0x80,0x24,0x10, 0x20,0x40,0x1c,0x40,0x20,0x40,0x24,0x20,0x26,0x20,0x2b,0x80,0x33,0x40, 0x33,0x20,0x39,0x20,0x40,0x40,0x39,0x40,0x30,0xc0,0x18,0x80,0x1c,0x80, 0x24,0x80,0x20,0x10,0x1c,0x80,0x19,0x40,0x19,0x20,0x19,0x20,0x19,0x40, 0x1c,0x20,0x20,0x20,0x26,0xc0,0x18,0x80,0x1c,0x80,0x24,0x80,0x20,0x10, 0x1c,0x80,0x1c,0x40,0x1c,0x20,0x1c,0x20,0x1c,0x40,0x24,0x20,0x26,0x20, 0xff,0x20,0x00};//同一首歌*/ uchar code sound2[]={0xff, 0x18,0x40,0x1c,0x20,0x18,0x20,0x13,0x40,0x13,0x20,0x15,0x20,0x13,0x20, 0x15,0x20,0x13,0x20,0x15,0x20,0x18,0x20,0x19,0x20,0x1c,0x20,0x20,0x20, 0x1c,0x40,0x19,0x20,0x18,0x20,0x15,0x40,0x10,0x80, 0x13,0x10,0x10,0x40,0x15,0x10,0x13,0x10,0x18,0x10,0x1c,0x10,0x26,0x10, 0x13,0x10,0x18,0x10,0x1c,0x10,0x26,0x10,0x13,0x10,0x18,0x10,0x1c,0x10, 0x26,0x10,0x13,0x10,0x18,0x10,0x1c,0x10,0x26,0x10,0x15,0x10,0x19,0x10, 0x20,0x10,0x2b,0x10,0x15,0x10,0x19,0x10,0x20,0x10,0x2b,0x10,0x15,0x10, 0x19,0x10,0x20,0x10,0x2b,0x10,0x15,0x10,0x19,0x10,0x20,0x10,0x2b,0x10, 0x18,0x10,0x1c,0x10,0x24,0x10,0x30,0x10,0x18,0x10,0x1c,0x10,0x24,0x10, 0x30,0x10,0x19,0x10,0x20,0x10,0x2b,0x10,0x19,0x10,0x19,0x10,0x20,0x10, 0x2b,0x10,0x19,0x10,0x18,0xc0,0xff,0x40,0x40,0x10,0x39,0x20,0x30,0x20, 0x2b,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x26,0x20,0x26,0x20,0x26,0x20, 0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x26,0x20,0x26,0x20, 0x26,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x40,0x30,0x10,0x30,0x20, 0x39,0x20,0x30,0x40,0x2b,0x10,0x2b,0x20,0x26,0x20,0x26,0x80,0x40,0x10, 0x39,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x30,0x20, 0x20,0x20,0x20,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x30,0x20, 0x30,0x20,0x26,0x20,0x26,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x40, 0x2b,0x10,0x2b,0x20,0x2b,0x20,0x2b,0x40,0x30,0x10,0x30,0x20,0x39,0x20,

单片机控制音乐播放-外文翻译

毕业设计(论文)外文翻译 题目: __ 单片机控制音乐播放_ __ 英文题目: Single chip microcomputer to control the music player 系 : _ 信息工程系_ __ 专业: _ _ __ 电子信息工程___ ___ 班级: ___ _ __ 09电信本________ _ 学号: ___ _____8110109053___ ______ 姓名: ________ 张亚峰 ______ _____ 指导老师: _________王乐平_________ ____ 填表日期 _ __ ___2012.11.16_____ ____

基于51单片机的音乐播放器设计 作者:Bob brown 来源:《SCM》 摘要:本音乐播放器是利用STC89C51单片机结合内部定时系统及数码管显示设计一个简易的微电脑音乐盒。本文分析了基于51单片机的音乐播放器的硬件电路和软件的设计的具体过程包括数据处理子程序的设计、显示子程序的设计最后针对仿真过程遇到的现象进行了具体的分析与说明。 关键词:播放;单片机; STC89C51 随着人们物质生活水平的提高,人们越来越注重精神生活的满足,热衷于在消费中寻求快乐和娱乐体验。音乐作为人类娱乐生活的重要组成元素,一直以来都备受关注。而人类进入工业社会以来,将音乐播放与工业产品结合发展出了一系列的音乐播放产品,并随着技术的革新和消费者需求的变化而不断更新,为人类的娱乐生活提供了时尚便利的道具。前两年造型时尚、小巧便携、可免费下载歌曲的MP3播放器的流行更是使音乐播放产品空前繁荣。但是在繁荣过后,主流音乐播放产品MP3播放器在造型和系统的设计上似乎走进了一个瓶颈,新产品和旧产品比起来只是固件上的更新和硬件的更迭,而没有内容和实质的跳跃,因此在同样具有便携性特点和音乐播放功能的音乐手机出现的时候,MP3原有的功能优势不再,市场继而被迅速挤压,地位收到空前的威胁。纵观音乐播放产品的发展史,每一次音乐播放产品的革新都是概念的突破或理念的创新的结果。如从收音机到唱片机实现了收听方式从“被动收听”到“自主选择”的变革,从唱片机到Walkman实现了固定到便携的飞跃。因此,如何在理念上、概念上进行创新和突破,找到音乐播放产品的新发展方向,适应消费者的新需求,是目前产品设计师急需解决的问题。本文首先简单回顾了音乐播放产品发展史,并分析了目前音乐播放产品现状,提出寻找新概念突破点的重要性;其次,通过对当前经济环境和社会群体环境的分析,以及目前音乐产业的发展现状和趋势的分析,从中总结出当前消费者的消费需求趋势;最后,根据总结的消费需求和市场现有的一些音乐播放产品的引导,提出未来音乐播放产品的发展方向以及相应的一些概念设想。 STC89C51单片机设计的一个音乐播放器通过单片机音乐播放器系统设计和研究,对于切实掌握单片机相关知识具有重要的理论和实际意义。这次课程设计的音乐播放器是软件和硬件的结合,不同音符表现形式就是不同频率地声音。通STC89C51过单片机产生不同的频率的脉冲信号,通过放大电路,由蜂鸣器放出,就产生了美妙和谐优美动听的乐曲。根据节拍给出该音阶持续的时间,最终实现播放简单歌曲的功能。为人们生活的改善提供了可靠,方面,廉价的方法。 单片机STC89C51作为硬件核心控制部件,结合三极管作为放大器,数码管构成典型的显示电路,按键作为输入部分以及其他外围设备组成的音乐播放系统。根据音乐演奏控制器所要实现的显示与选曲及音乐产生功能原理,系统包括演奏扬声器、选曲、播放和显示几部

相关主题
文本预览
相关文档 最新文档