当前位置:文档之家› 定时器控制的音乐实验

定时器控制的音乐实验

定时器控制的音乐实验
定时器控制的音乐实验

实验六:定时器控制的音乐实验

一、实现功能:

1、可以在学习版上运行,也可以用PROTEUS仿真出《好人一生平安》。

二、实验步骤:

1、用PROTEUS软件画出仿真电路图

此图与学习版原理图部分电路对应。用到的原器件:

单片机:AT89C51 按键:BUTTON 电阻:RES 电容:CAP

晶振:CRYSTAL 发光二极管:LED_YELLOW 扬声器:SOUNDER

2、用编译软件分别对汇编语言和C51进行编译,生成目标文件,参考程序附后

3、对编译好的HEX文件调至电路图仿真,分析仿真结果,两种程序有何异同,可以单步执行进行联调。

4、分别用CH341软件(USB驱动)和STC_ISP软件(下载软件)把HEX文件配置到学习版并执行,分析结果。

5、在此程序的基础上改写程序,并能在按键的控制下播放10首曲子。三.程序附件:

附件1:用定时器T0的中断实现"渴望"主题曲的播放C语言程序

#include //包含51单片机寄存器定义的头文件

sbit sound=P3^4; //将sound位定义为P3.4

unsigned 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个延时单位,延时200ms

******************************************/

void delay()

{ unsigned char i,j;

for(i=0;i<250;i++)

for(j=0;j<250;j++)

;

}

unsigned int code f[ ]={re,mi,re,dao,l_la,dao,l_la, //每部分对应一小节音符 l_sao,l_mi,l_sao,l_la,dao,

l_la,dao,sao,la,mi,sao, re, mi,re,mi,sao,mi,

l_sao,l_mi,l_sao,l_la,dao, l_la,l_la,dao,l_la,l_sao,l_re,l_mi, l_sao, re,re,sao,la,sao, fa,mi,sao,mi,

la,sao,mi,re,mi,l_la,dao, re, mi,re,mi,sao,mi,

l_sao,l_mi,l_sao,l_la,dao, l_la,dao,re,l_la,dao,re,mi, re, l_la,dao,re,l_la,dao,re,mi, re,

0xff}; //以0xff作为

//以下是简谱中每个音符的节拍

//"4"对应4个延时单位,"2"对应2个延时单位,"1"对应1个延时单位

unsigned char code JP[ ]={4,1,1,4,1,1,2, 2,2,2,2,8,

4,2,3,1,2,2, 10, 4,2,2,4,4, 2,2,2,2,4,

2,2,2,2,2,2,2, 10, 4,4,4,2,2, 4,2,4,4, 4,2,2,2,2,2,2, 10, 4,2,2,4,4, 2,2,2,2,6, 4,2,2,4,1,1,4, 10, 4,2,2,4,1,1,4,

10

};

/*******************************************

函数功能:主函数

******************************************/

void main(void)

{

unsigned char i,j;

//以下是《渴望》片头曲的一段简谱

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; //启动定时器T0

for(j=0;j

delay(); //延时1个节拍单位

TR0=0; //关闭定时器T0

i++; //播放下一个音符

}

}

}

/***********************************************

函数功能: T0的中断服务子程序,使P3.7引脚输出音频的方波

*************************************************/

void Time0(void ) interrupt 1 using 1

{

sound=!sound; //将P3.4引脚输出电平取反,形成方波

TH0=(8192-C)/32; // 13位计数器TH0高8位的赋初值方法

TL0=(8192-C)%32; // 13位计数器TL0低5位的赋初值方法

}

附件2:用定时器T0和外部0的中断实现十首曲的播放C语言程序

#include //包含51单片机寄存器定义的头文件

sbit sound=P3^4; //将sound位定义为P3.4

unsigned int C; //储存定时器的定时常数

unsigned char * JP; //

unsigned int * f; //

unsigned char t0 =0; // 中断次数

unsigned char ww =255;//延时长度控制

unsigned char i =0; //播放时控制第几个音节

//以下是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个延时单位,延时200ms

******************************************/

void delay(unsigned char w0)

{

unsigned char j,k;

for(k=0;k

for(j=0;j<250;j++)

;

}

//以下是《渴望》片头曲的一段简谱

unsigned int code SongJianPu0[]={re,mi,re,dao,l_la,dao,l_la, //每部分对应一小节音符

l_sao,l_mi,l_sao,l_la,dao, l_la,dao,sao,la,mi,sao, re, mi,re,mi,sao,mi,

l_sao,l_mi,l_sao,l_la,dao,

l_la,l_la,dao,l_la,l_sao,l_re,l_mi, l_sao,

re,re,sao,la,sao, fa,mi,sao,mi,

la,sao,mi,re,mi,l_la,dao, re,

mi,re,mi,sao,mi, l_sao,l_mi,l_sao,l_la,dao,

l_la,dao,re,l_la,dao,re,mi,

re, l_la,dao,re,l_la,dao,re,mi, re, 0xff}; //以0xff作为

//以下是简谱中每个音符的节拍

//"4"对应4个延时单位,"2"对应2个延时单位,"1"对应1个延时单位unsigned char code JiePai0[ ]={4,1,1,4,1,1,2, 2,2,2,2,8, 4,2,3,1,2,2, 10, 4,2,2,4,4,

2,2,2,2,4, 2,2,2,2,2,2,2, 10, 4,4,4,2,2,

4,2,4,4, 4,2,2,2,2,2,2, 10, 4,2,2,4,4, 2,2,2,2,6,

4,2,2,4,1,1,4, 10, 4,2,2,4,1,1,4,

10

};

//以下是《》的一段简谱

unsigned int code SongJianPu4[]={re,mi,re,dao,l_la,dao,l_la, //每部分对应一小节音符

l_sao,l_mi,l_sao,l_la,dao, l_la,dao,sao,la,mi,sao, re, mi,re,mi,sao,mi,

l_sao,l_mi,l_sao,l_la,dao,

l_la,l_la,dao,l_la,l_sao,l_re,l_mi, l_sao,

re,re,sao,la,sao, fa,mi,sao,mi,

la,sao,mi,re,mi,l_la,dao, re,

mi,re,mi,sao,mi, l_sao,l_mi,l_sao,l_la,dao,

l_la,dao,re,l_la,dao,re,mi,

re, l_la,dao,re,l_la,dao,re,mi, re,

0xff};

unsigned char code JiePai4[ ]={4,1,1,4,1,1,2, 2,2,2,2,8, 4,2,3,1,2,2, 10, 4,2,2,4,4,

2,2,2,2,4, 2,2,2,2,2,2,2, 10, 4,4,4,2,2,

4,2,4,4, 4,2,2,2,2,2,2, 10, 4,2,2,4,4, 2,2,2,2,6,

4,2,2,4,1,1,4, 10, 4,2,2,4,1,1,4,

10

};

//以下是《老鼠爱大米》一段简谱

unsigned int code SongJianPu2[]={

dao,dao,re,mi,mi,re,dao,re,re,dao,re,mi,mi,re,dao,dao,l_sao,l_la,l _sao,l_sao,l_sao,l_la,dao,dao,

dao,dao,dao,dao,re,re,dao,re,mi,mi,mi,sao,la,re,re,mi,re,dao,dao,dao, re,mi,sao,sao,l_sao,l_sao,

l_la,dao,dao,dao,mi,re,dao,dao,re,dao,dao,mi,mi,sao,sao,sao,sao,sao,s ao,la,la,mi,re,

dao,dao,dao,re,mi,mi,mi,sao,sao,sao,sao,la,dao,dao,la,sao,mi,re,d ao,dao,l_la,re,mi,sao,

sao,sao,sao,la,sao,la,mi,re,dao,dao,dao,re,mi,mi,mi,sao,sao,sao,sao, la,h_dao,h_dao,la,sao,mi,re,

re, re, re,dao,mi,fa,sao,re,re, mi,re,dao,

dao,mi,re,dao,dao,mi,re,

mi,dao,mi,la, sao,sao,mi,sao, la,la,sao,sao,la,sao,sao ,mi,re,dao, 0xff}; //

unsigned char code

JiePai2[ ]={ 2,1,1,2,2,2,1,1,6,1,1 ,2,2,2,2,6,1,1,3,1,1,1,1,5,4,

2,2,2,1,1,4,2,1,1,2,2,2,1,1,4,2,1,1,2,2,2,1,1,6,1,1, 2,1,1,1,3,2,2,2,1,1,10,2,1,1,2,1,1,2,1,1,4,2,2,

2,2,2,1,1,6,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,6,1,1,

2,2,1,2,1,4,2,2,2,2,2,1,11,6,1,1,2,2,2,1,1,2,2,2,1,1,

2,2,8,2,1,1,2,2,8,2,1,1,4,2,1,1,4,2,2,

2,2,2,1,1,6,1,1,2,1,1,2,1,1,4,1,2,1};

//以下是《迟来的爱》片头曲的一段简谱

unsigned int code

SongJianPu3[]={ mi,re,mi,sao,la,sao,mi,re,dao,re,

mi,re,mi,re,mi,re,dao,dao,l_la,

l_sao,l_sao,l_la,dao,dao,re,mi,sao,sao,mi,sao, la,sao,mi,re,mi,re,dao,l_la,dao,sao,mi,

re,mi,re,mi,sao,la,sao,mi,re,dao,re,

mi,re,mi,re,mi,re,dao,dao,l_la,

l_sao,l_sao,l_la,dao,dao,re,mi,sao,sao,mi,sao,

la,sao,mi,re,mi,re,mi,la,sao,mi,re,

dao,mi,mi,sao,la,sao,la,sao,mi,dao,

0xff };

unsigned char code JiePai3[ ]={2,2,6,2,2,2,1,1,1,1,

10,2,2,6,2,2,2,2,2,

10,2,2,2,4,1,1,2,4,1,1,

6,2,6,1,1,6,2,2,2,2,2,

10,2,2,6,2,2,2,1,1,1,1,

10,2,2,6,2,2,2,2,2,

10,2,2,2,4,1,1,2,4,2,2,

6,2,6,1,1,6,2,2,2,2,2,

10,2,2,2,10,2,2,2,2,10

};

//以下是《义勇军进行曲》片头曲的一段简谱

unsigned int code

SongJianPu1[]={l_sao,dao,dao,dao,dao,l_sao,l_la,l_xi,dao,dao,

mi,dao,re,mi,sao,sao,mi,mi,dao,mi,sao,mi,re,re,la,sao,re,mi,sao,mi,sa o,mi,re,mi,dao,mi,

l_sao,l_la,dao,dao,mi,mi,sao,sao,re,re,re,l_la,re,l_sao,dao,dao,mi,m i,sao,dao,mi,sao,sao,la,sao,mi,dao,

sao,sao,sao,mi,sao,l_sao,dao,mi,dao,sao,sao,sao,mi,dao,l_sao,dao, l_sao,dao,l_sao,dao,dao,

0xff };

unsigned char code JiePai1[ ]={2,6,2,3,1,2,1,1,4,4,

2,2,1,1,4,4,3,1,3,1,3,1,4,8,4,4,4,4,2,4,2,2,1,1,4,8, 3,1,2,2,3,1,2,2,2,1,1,4,6,2,6,2,6,2,8,3,1,2,2,4,4,3,1,

1,2,1,4,4,4,4,3,1,1,2,1,4,4,4,4,4,4,4,4,8

};

//以下是《》的一段简谱

unsigned int code SongJianPu5[]={ 0xff };

unsigned char code JiePai5[ ]={2,

};

//以下是《》的一段简谱

unsigned int code SongJianPu6[]={ 0xff };

unsigned char code JiePai6[ ]={3,

};

//以下是《》的一段简谱

unsigned int code SongJianPu7[]={ 0xff };

unsigned char code JiePai7[ ]={7,

};

//以下是《》的一段简谱

unsigned int code SongJianPu8[]={ 1, 0xff };

unsigned char code JiePai8[ ]={8,

};

//以下是《》的一段简谱

unsigned int code SongJianPu9[]={ 1, 0xff };

unsigned char code JiePai9[ ]={1,

};

/*******************************************

函数功能:主函数

******************************************/

void main(void)

{

unsigned char i,j;

TMOD =0X00;//设TIMER0在MODE1(13位计数器)

TCON =0X01;//外部中断INT0,下降沿触发

IE =0x83;//开中断(INT0,TIMER0)

IP =0x00;//设置中断优先级

f=SongJianPu0;

JP=JiePai0;

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; //启动定时器T0

for(j=0;j

delay(ww); //延时1个节拍单位

TR0=0; //关闭定时器T0

i++; //播放下一个音符

}

}

}

/***********************************************************

函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频的方波

************************************************************/

void Time0(void ) interrupt 1 using 1

{

sound=!sound; //将P3.4引脚输出电平取反,形成方波

TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法 TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法 }

void ExtInt0() interrupt 0//INT0

{

if(t0>10)

t0=0;

i=0; // 全局变量,指向歌谱的第1个

switch(++t0)

{

case 0 : f=SongJianPu0;JP=JiePai0;ww=255;break; //选择第1首

case 1 : f=SongJianPu1;JP=JiePai1;ww=150;break;//选择第2首

case 2 : f=SongJianPu2;JP=JiePai2;ww=230;break;//选择第3首

case 3 : f=SongJianPu3;JP=JiePai3;ww=250;break;//选择第4首

case 4 : f=SongJianPu4;JP=JiePai4;ww=250;break;//选择第5首

case 5 : f=SongJianPu5;JP=JiePai5;ww=250;break;//选择第6首

case 6 : f=SongJianPu6;JP=JiePai6;ww=250;break;//选择第7首

case 7 : f=SongJianPu7;JP=JiePai7;ww=250;break;//选择第8首

case 8 : f=SongJianPu8;JP=JiePai8;ww=250;break;//选择第9首

case 9 : f=SongJianPu9;JP=JiePai9;ww=250;break;//选择第10首

}

}

附录3:相关知识:

1.要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O

脚上得到此频率的脉冲。

2.利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。

3.例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每计数956次时将I/O反相,就可得到中音DO(523Hz)。

计数脉冲值与频率的关系公式如下:

N=Fi÷2÷Fr N:计数值;

Fi:内部计时一次为1us,故其频率为12MHz;

Fr:要产生的频率;

音乐提示定时器(1)

目录 第1章课程设计的要求、目的 (1) 1.1课程设计的要求 (1) 1.2课程设计的目的 (1) 第2章总体设计方案 (3) 2.1 总体方案的选择 (3) 2.2总体方案的说明 (3) 第3章系统方框图与工作原理 (5) 3.1系统设计框图 (5) 3.2 基本工作原理 (5) 第4章各单元硬件设计及说明 (7) 4.1单片机的选择 (7) 4.2复位电路的设计 (7) 4.3晶振电路的设计 (8) 4.4动态显示电路 (9) 4.5音乐播放电路 (9) 第5章器件说明 (10) 5.1 单片机 (10) 5.2 LED显示器 (11) 第6章软件设计与说明 (12) 6.1 定时显示子程序 (12) 6.2 系统软件设计方案的确定 (13) 6.3 音乐定时常数的确定 (13) 第7章调试步骤、结果、使用说明 (15) 第8章设计总结 (16) 附录A:程序清单 (20)

第1章课程设计的要求、目的 1.1 课程设计的要求 (1)设计要符合项目的工作原理,连线要正确,端了要不得有标号。选择合理的元件,电阻,电容等器件的参数要正确标明。原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。 (2)音乐提示定时器要求通过设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟,能够实现时间可调;K2—设置倒数计时时间为5分钟,显示为“0500”;K3—设置倒数计时时间为10分钟,显示为“1000”;K4—设置倒数计时时间为20分钟,显示为“2000”;一旦按键后则开始倒计时,当计时为0则演奏一曲音乐,而且可循环播放,可随时人为停止;内定倒数计时时间为5分钟,显示为0500。 (3)设计合理的晶振电路,要求系统晶振频率为11.0592MHz,时间设计要求准确、可靠,要求时间随时可调,计时随时可中断。复位电路可靠、合理,可以实现对音乐播放、时间设定、调整时间的控制,满足方便、简捷的要求。要求系统能够发出准确的音乐,流畅、无杂音,可循环播放。数码显示要稳定,无闪烁,准确,与现实时间同步。 (4)写说明书。包括原理图设计说明,程序设计说明并画出工作原理图,程序流程图并给出程序清单。 1.2 课程设计的目的 课程设计的目的有: (1)加深对基础知识的理解,进一步熟悉和掌握单片机的结构及工作原理。 (2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。明确原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

单片机课程设计报告简易音乐播放器

第一章前言 伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪器的发展,音乐则是人们娱乐生活的重要组成部分,目前市场上出现了许许多多的音乐播放器,而人们对播放器的功能需求也越来越广泛,本文将设计一个基于单片机的音乐播放器,通过对其全面的介绍与分析,让大家了解音乐播放器的原理! 第二章: 简易音乐播放器的功能和原理说明 音乐播放器,可以通过单片机板子上的数字按键对音乐播放的曲目进行控制,并且通过LED灯将播放的音乐加以区分,在播放音乐的同时点亮LED灯,让人知道现在正在播放的音乐曲目,从而实现简单的音乐播放功能! 表1 需求分析 功能说明:这次设计是依据单片机技术原理,通过硬件电路设计以及软件的编译而设计的一个简单的音乐播放器,可以通过按键选择播放四首歌曲(歌曲自选,只要将想要播放的歌曲的乐谱写入程序中即可)同时点亮相应的LED灯,并用它来指示当前播放的歌曲序列,只能实现简单的音乐播放功能。 原理说明:这个音乐播放器主要有晶振电路,复位电路,LED电路,按键电路以及扬声器组成。它利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,接着用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制扬声器发音。通常利用单片机的内部定时器0,工作在方式1下,再改变计数初值TH0和TL0来产生不同频率。当控制歌曲按键按下时,按照预先存放在单片机中的程序,就

会自动判断键值,然后启动计数器,按照程序产生一定频率的脉冲,接着通过uln2003芯片驱动扬声器,播放出乐曲。该硬件电路中用P3.0,P3.1,P3.2,P3.3控制四个按键,“0”,“1”,“2”,“3”分别控制四首音乐。P1.0,P1.1,P1.2,P1.3控制四个LED灯,它们分别对应四个按键,用来显示正在播放的歌曲,并用P2.3 来控制扬声器,电路为12MHz晶振频率工作,起振电路中C1 和C2为22pf。 第三章:系统硬件电路设计 1:硬件体系结构设计 该简易音乐播放器主要有单片机核心芯片89C52,LED发光二极管,扬声器,晶振电路,按键电路,复位电路组成,通过芯片引脚输出定时器产生的各种固定频率的方波信号,然后在经由扬声器产生各种频率的声音。另外,该方案使用的是单片机板子的内部振荡电路,89C52芯片的X1,X2引脚外接石英晶体。它的系统组成如图所示。 (1)晶振电路部分晶振的作用是给电路提供工作信号脉冲的,其实就是单片机的工作速度。本次设计选用12M晶振,则单片机的工作速度就是每秒12M。与此同时,也要注意单片机的工作频率范围。 (2)复位电路部分当系统出现问题时可以重置系统,解决一些问题 (3)LED显示部分显示系统在各种不同条件下的状态 (4)89C52芯片整个设计的核心,接收和处理信号及程序 (5)按键电路部分作为系统的输入

嵌入式MP3播放器的设计

嵌入式MP3播放器的设计 1 系统概述 本文采用STM32系列微控制器,结合解码芯片VS1003、SD卡、LCD等外围设备设计并实现了MP3播放器。其主要功能有:播放VS1003支持的所有音频文件,如MP3、WMA、WAV文件,且音质非常好;通过触摸屏实现按键功能,控制播放上一首/下一首、音量增减等;通过LCD显示歌曲名字和播放状态;本系统还实现了读卡器功能,PC机可通过USB接口直接对开发板上的SD卡进行读写操作,以方便拷贝音频文件。 MP3播放过程是STM32通过SPI1接口将数据从SD卡中取出,然后通过SPI2接口送至解码芯VS1003解码播放。这里解码模块单独使用一个SPI接口,以减小干扰和噪声、提高音质。 2 系统硬件设计方案 本系统在硬件上分为6个模块: 微控制器STM32F103、解码模块VS1003、存储模块SD卡、触摸屏、USB接口和显示屏LCD。系统硬件框架如图5所示。 VS1003 STM32 图5 系统硬件框架图 2.1 存储模块设计 SD卡在现在的日常生活与工作中使用非常广泛,时下已经成为最为通用的数据存储卡。在诸如MP3、数码相机等设备上也都采用SD卡作为其存储设备。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。SD卡支持两种总线方式: SD方式与SPI方式。其中SD 方式采用6线制,而SPI方式采用4线制,采用单片机对SD卡进行读写时一般都采用SPI模式。可用不同的初始化方式使SD卡工作于SD方式或SPI方式。 在本设计中,音频数据MP3文件是以SD卡为载体。所以在电路设计中必须含有读取SD卡模块。该系统使用STM32内部接口SPI1与SD卡进行通信,下面介绍其引脚连接情况。 PE3:低电平有效,连接到SD卡的片选引脚CD/DAT3。SPI在和SD卡进行通

音乐播放器实验报告

一、实验项目名称 基于单片机的音乐播放器 二、实验目的 Ⅰ设计方案 设计一个基于AT89C51系列单片机的音乐盒,利用按键控制切换演奏出不同的音乐。蜂鸣器发出某个音调,与之对应的LED灯亮起。使用两个按键,一个用来切换歌曲,另一个切换LED的变化花样。Ⅱ研究内容 ①电路有两种模式:演奏音乐模式和花样灯模式 A 演奏音乐模式:演奏完整的一首歌曲,LED随着音乐变化; B 花样灯模式:LED变化出各种花样,蜂鸣器随着发出“滴滴”声; ②按下按键1进入演奏音乐模式,再按切换歌曲,共两首歌曲; 按下按键2进入花样灯模式,再按切换LED花样,共三种花样。Ⅲ总体方案图 a组成框图: 音乐盒的系统结构以AT89C51单片机位控制核心,加上2个按键、时钟复位电路、蜂鸣器、LED模块组成。单片机负责接收按键的输入,根据输入控制音乐播放曲目和音乐花样灯的显示样式以及蜂鸣器发音。系统组成框图如下所示:

b功能结构图: Key1负责切换播放歌曲,共两首。分别是祝你生日快乐和寂寞沙洲冷;Key2负责切换LED显示花样,共3种:顺序显示,由两边向中间移动然后向两边移动,循环显示。 三、实验器材 Windows7 操作系统Proteus仿真软件 keil4软件AT89C51单片机 共阴极数码管开关电容晶振 电阻发光二极管蜂鸣器 四、实验要求 (1)以单片机为主控处理器,用蜂鸣器播放歌曲;

(2)系统要求有选择上一首、下一曲功能; (3)两个按键,可在播放和显示花样中进行切换; (4)用一个键控制花样类型的显示功能; (5)用LED灯闪烁“伴奏”。 五、实训基本原理(附原理图、源程序清单) 1 硬件设计 ①LED显示电路设计与原理 LED显示电路是由8个LED发光二极管组成,连接方式是共阳极,LED接到单片机的P1口,若是低电平,可使LED亮。发光二极管的亮灭是由内部程序控制的,8个LED发光二极管分别对应不同的音阶,所以LED会随着音阶的变化按规律亮灭。 ②硬件电路图及其功能介绍 1)电路中用P3.2、P3.3 控制键; 2)P1.0~P1.7控制LED; 3)P2.3控制蜂鸣器; 4)电路为12MHZ晶振频率工作,起振电路中C1、C2均为30PF。

CPLD单片机定时器音乐播放器

基于CPLD与51单片机的定时器与音乐播放器 马大康 06007122 万树 06007113 覃朋 06007110 2009.12

一、系统简介 本系统利用CPLD 和51单片机联合实现了倒计时器和音乐播放器的功能。作 为《电子系统设计》的课程设计,本系统充分利用了两块开发板上的资源,并实 现了可编程器件与单片机之间的串口异步通信,器件连接方便,并有良好的人机 交互界面。 二、系统结构框图与思路 图2 CPLD 内部功能模块划分及连接 经过对两块开发板板上资源的对比,我们发现,CPLD 板上的资源较为丰富, 尤其是其8个独立按键和1602液晶屏,十分适合人机交互,因此我们选择用CPLD 开发板作为主控板。单片机板上拥有4个七段数码管,显示变化的数字十分方便, 可以构成1?60分钟可变初值的倒计时器。 由于之前的实验中已经实现了在CPLD 中嵌入简易的UART,因此可以利用 CPLD 上的8个拨码开关设定倒计时器的初值,并通过异步串行通信传输给单片 机。单片机上的拨码可以实现对倒计时器进行暂停、清零。 图1 系统结构框图

除此之外,由于CPLD板上已有蜂鸣器,可以播放预先存入的歌曲,并通过板上的其他按键控制音斥的暂停与继续播放。介于上述分析,设计的系统结构框图如图1所示,CPLD中功能模块的划分如图2所示。 操作流程: CPLD板上: Keyl->进入倒计时器模式,设定倒计时器初值(通过8个拨码),液晶屏上显示u D-counter Set time needed M。 Key2-〉发送倒计时器初值到单片机,单片机开始倒计时,液晶屏上显示“ D-counter D-countering n Key3->进入音乐盒模式,播放音乐《喀秋莎》。 Key4->暂停音圧播放 单片机板上: 在倒讣时过程中,将拨码开关1向上拨,倒计时暂停,向下拨后继续倒计时。 在倒计时过程中,按下CPLD板上的Keyl后(此时为设定初值模式),将拨码开关2向上拨,倒计时器清零,此时可对其重新置初值。 三、功能模块的实现 1、异步串行发送模块 想要在CPLD中嵌入异步吊行通信模块,就必须对异步吊行通信协议有深入的理解,由于系统中只用到了发送模块,这里仅对发送模块的设计做介绍。 在空闲时,发送1。当发送使能WR为高电平且发送缓冲寄存器为高电平时, 向发送缓冲寄存器中写入待发送的数据。当发送移位寄存器为空时,将发送缓冲寄存器中的值置入发送移位寄存器,并将TxDone变为低电平,表示发送一个字节的周期开始,此时不能向发送寄存器中置数。发送周期开始首先发送一个低电平作为起始位,接着从数据的低位开始发送数据,发送结束后发送高电平作为结束位,并将TxDone变为高电平,表示发送一个字节结束。 整个模块的状态图如图3所示。 图3

音乐播放器的设计与实现

德州学院信息管理学院 课程设计报告实习名称课程设计2 设计题目Android音乐播放器的设计与实现实习时间 专业班级12级计算机科学与技术 指导老师刘想 教学单位(盖章) 小组成员分工情况: 学号姓名分工 3018 周生明音乐播放的设计与实现1052曹法瑞 1040 张正奎 1055 李元华 2049 王山 二〇一五年六月三十日

目录 摘要 ................................................................................................................ 错误!未定义书签。 1 引言 ............................................................................................................ 错误!未定义书签。 2 可行性分析................................................................................................. 错误!未定义书签。 2.1 技术可行性...................................................................................... 错误!未定义书签。 2.2 经济可行性...................................................................................... 错误!未定义书签。 2.3 管理可行性...................................................................................... 错误!未定义书签。 2.4 可行性分析结论.............................................................................. 错误!未定义书签。 3 系统需求分析............................................................................................. 错误!未定义书签。 3.1 功能分析.......................................................................................... 错误!未定义书签。 3.2 数据流程分析.................................................................................. 错误!未定义书签。 4 系统功能设计............................................................................................. 错误!未定义书签。 4.1 播放器功能结构.............................................................................. 错误!未定义书签。 4.1.1 播放器主界面功能模块....................................................... 错误!未定义书签。 4.1.2 播放器菜单功能模块........................................................... 错误!未定义书签。 4.2 播放器功能流程.............................................................................. 错误!未定义书签。 5 系统实现..................................................................................................... 错误!未定义书签。 5.1 播放器主界面功能列表.................................................................. 错误!未定义书签。 5.2 播放器基本功能的实现.................................................................. 错误!未定义书签。 5.3 播放列表的实现.............................................................................. 错误!未定义书签。 6 软件测试与验证......................................................................................... 错误!未定义书签。 6.1 软件测试的目的.............................................................................. 错误!未定义书签。 6.2 软件测试的方法.............................................................................. 错误!未定义书签。 6.3 软件测试环境.................................................................................. 错误!未定义书签。 6.3.1 android模拟器 ...................................................................... 错误!未定义书签。 6.3.2 真机测试............................................................................... 错误!未定义书签。 6.4 软件测试流程与结果评估.............................................................. 错误!未定义书签。 6.4.1 测试流程............................................................................... 错误!未定义书签。 6.4.2 结果评估............................................................................... 错误!未定义书签。

课程设计(论文)_基于单片机音乐倒数定时器的设计

目录 一、设计要求 (1) 二、设计目的 (1) 三、设计的具体实现 (2) 1系统概述 (2) 2单元电路设计 (3) 3软件程设计和调试 (7) 四、结论和展望 (24) 五、心得体会及建议 (25) 六、附录 (26) 七、参考文献 (27)

基于单片机音乐倒数定时器的设计 报告 一、设计要求 利用单片机结合LCD显示器设计一个倒数计时器,可以放在家中使用,例如煮方便面、煮开水或小睡片刻等,做一小段时间计时。当倒数计时为0时,则发出一段音乐,通知倒数终了,该做重要的事情了。 具体要求: ①文字型LCD(16*2)显示目前倒数的时间;显示格式为“TIME 分分:秒秒”;具有4个按键操作来设置现在想要倒数的时间;一旦按键后则开始倒数计时,当计时为零则发出一阵音乐声响,②程序执行后工作指示灯LED闪动,表示程序开始执行,七段显示器显示“0500”,按下操作键K1~K4动作如下:操作键K1,可调整倒数时间1min~60min;操作键K2,设置倒数计时时间为5min,显示“0500”;操作键K3,设置倒数计时时间为10min,显示“1000”;操作键K4,设置倒数计时时间为20min,显示“2000”,③RESET 后按下K1显示如下: UP DOWN OK TIME 04:59 倒数时间 操作键K2:增加倒数计时1min;操作键K3,减少倒数计时1min,操作键K4:设置完成。④一旦按键后则开始倒数计时,当计时为 0时则发出一段音乐,同时继电器启动 二、设计目的 1、通过该设计能提高学生分析解决问题的能力。 2、了解模拟电路及数字电路的相关知识。 3、学习单片机定时器时间计时处理、按键扫描、LCD显示及音乐旋律演奏的设计方法。

《单片机原理及应用》课程设计 音乐 定时器

《单片机原理及应用》课程设计 音乐定时器 姓名 院系信息学院 班级电气1082 学号2008116312 指导教师张瑛 时间2011年 5 月 30日

摘要 目录 摘要 I 1设计要求 (1) 2设计思路 (1) 3简易流程图 (1) 4源程序 (2) 4.1定时器部分 (2) 4.2音乐输出部分 (4) 5电路图 (7) 摘要 本设计为基于at89c51芯片设计的音乐定时器,定时器通过键盘输入定时时间,开始计时后等待到达预订时间,即输出两分钟的音乐。设计采用了4位数码管显示时间定时,扫描键盘负责输入、控制,两片89c51同时工作,一个负责定时、输入、显示、控制,另一个专门负责输出音乐。 关键词:定时器;音乐;51单片机

广东海洋大学《电子线路CAD》课程设计 音乐定时器 电气1082,200811631214,黄磊 指导教师:张瑛 1设计要求 设计要求:定时时间可任意设置(小于60分钟),设定值通过键盘输入,定时时间到发出音乐.音乐响2分钟,自动结束,中间也可以手动控制. 2设计思路 通过数码管的动态显示,显示定时器的定时。定时的时间由扫描键盘输入,并启动以及暂停定时,音乐通过另一片89C51实现音乐发声器。设计通过掌握汇编语言的编程方法. 运用89C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律。 实现功能: 定时启动音乐演奏。 定时时间由用户通过键盘输入。 可以中途停止音乐演奏。 3简易流程图

鸣谢4源程序 4.1定时器部分 ORG 0000H LJMP MAIN ORG 0003H LJMP BREAK0 MAIN: SETB IT0 ;设置中断 SETB EX0 MOV TMOD,#01H;设置定时器0方式1 MOV TH0,#0D8H ;初D8F0定时10ms MOV TL0,#0F0H CLR A MOV R0,#0H MOV R1,#0H MOV R4,#0H MOV R5,#0H CALL KEY MOV R0,A MOV A,#0E0H ;输出显示十位 MOV P2,A MOV A,R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CALL KEY MOV R1,A ;输入个位 SETB EA ;设置中断允许 WAIT: CALL SHOW ;等待开始 JMP W AIT BEGIN: SETB EA ;设置中断允许JP0: CALL SHOW DEC R5 CJNE R5,#0FFH,JP0 DEC R4 MOV R5,#9H CJNE R4,#0FFH,JP0 DEC R1 MOV R4,#5H CJNE R1,#0FFH,JP0 DEC R0 MOV R1,#9H CJNE R0,#0FFH,JP0 JMP BEEP SHOW: MOV R3,#25H LOOP: MOV R2,#0D0H ;设置分输出个位 MOV P2,R2 MOV A,R1 ;取分个位数值 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A ;输出 CALL DY12 MOV R2,#0E0H ;设置输出分十位 MOV P2,R2 MOV A,R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CALL DY12 MOV R2,#70H ;设置输出秒个位 MOV P2,R2 MOV A,R5 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,A CALL DY12 MOV R2,#0B0H ;设置输出秒十位 MOV P2,R2 MOV A,R4 MOV DPTR,#TAB

单片机课程设计音乐闹钟定时器

目录: 0、任务书 (2) 1、系统总体设计方案规划与选定 (2) 2、硬件设计 (5) 3、软件设计 (6) 4、调试 (8) 5、新增功能及实现方法 (8) 6、小结与体会 (9) 7、参考文献 (9) 8、附录 (10)

0.任务书 基于51单片机设计一个电子数字钟,显示时、分、秒,且具有闹钟功能。用8255接口实现4*8键盘及8位LED显示。 32个键:0~9共10个键,调时(设置当前时间)键;设定闹钟(定时)键;走时键;光标左右移动各一个键。 要求键复位后,应该最后面的LED上显示H(待命状态)。 1. 系统总体设计方案规划与选定 1.1主控制芯片选择 方案一:采用ARM微处理,做主控芯片,计算速度快,缺点;成本高,控制较复杂,不容易焊接。 方案二:采用80C51单片机做主控制器,由单片机来完成采集和信号处理等底层的核心计算,做主控芯片,成本低,易控制,易实现。 经过以上两个方案比较,在此题方案二明显优于方案一,故采用80C51单片机做主控制器。 1.2定时模块选择 方案一:采用时钟芯片DS1302。 DS1302 可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录,且较单片机计时简单节约硬件资源,但存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。 方案二:采用单片机内部的定时系统,外接晶振进行分频脉冲计数。

此系统采用12MHz晶振。 由于方案二使用简单,比方案一更适用该系统设计,所以选择方案二。 1.3 LED显示及计时模块选择 方案一:74LS192计数器——74LS47七点显示译码器 74LS192芯片是一块可预置数可逆计数芯片,功能强大。将74LS192芯片CPU引脚接高电平可实现减法计数,以倒计时显示。可通过74LS47与LED共阳极数字显示器配合使用。 方案二:使用移位寄存器74HC595与译码器相连 74HC595具有8位移位寄存器和一个存储器,使用时可直接与数字显示器相连。 方案三:使用8255扩展LED显示计时模块 8255是一个可编程并行接口芯片,有一个控制口和三个8位数据口,外设通过数据口与单片机进行数据通信,各数据口的工作方式和数据传送方向是通过用户对控制口写控制字控制的。我们用到了A与B口分别进行对数码显示管的片选和段选,且B口同时作为键盘扫描模块的输入口,与数码显示模块分时复用。故采用方案三 1.4蜂鸣器的选择 方案一:电磁式蜂鸣器 电磁式蜂鸣器主要是利用通电导体会产生磁场的特性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜。电磁式由于音色好,所以多用于语音、音乐等设备。对于不同提示音且考虑实际,此种较好。 方案二: 压电式蜂鸣器

在线音乐播放系统详细设计

<在线音乐播放系统> 详细设计说明书 作者: 完成日期: 签收人: 签收日期: 修改情况记录:

1 引言 1.1 编写目的 为软件开发人员在编码的过程中有所依据和参考。 面向人员:程序开发人员 1.2 背景 说明: a.待开发的软件系统的名称:在线音乐播放系统 b.列出本项目的任务提出者:北软老师 c.开发者:邓凯 d.用户:广大互联网用户 e.将运行该项软件的单位:web服务器 1.3 定义 OMS :Online music system,在线音乐播放系统。 1.4 参考资料 列出要用到的参考资料,如: a.本项目的经核准的计划任务书或合同、上级机关的批文; b.在线音乐播放系统概要设计.doc; c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2 程序系统的结构 本程序主要采用四层结构,如下所示: 图1 系统结构示意图

3 程序(标识符)设计说明 3.1 在线音乐网络爬虫设计说明: 资源的数量和质量将决定了系统的商业价值,为了获取更多的网络媒体资源,为系统设计了一款针对互联网上音乐资源的网络爬虫。 3.1.1爬虫的原理: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。 传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。 聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。 相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题: (1)对抓取目标的描述或定义; (2)对网页或数据的分析与过滤; (3)对URL的搜索策略。 3.1.2在线音乐播放系统爬虫的设计: 与通用爬虫不同,在线音乐播放系统爬虫只针对https://www.doczj.com/doc/ab10837579.html,音乐频道 https://www.doczj.com/doc/ab10837579.html,音乐频道,针对MP3格式的资源。 3.1.3爬虫的流程图:

带有LCD显示的音乐倒数计时器

信息工程学院 课程设计报告书题目: 带有LCD显示的音乐倒数计时器 专业:计算机科学与技术 日

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制系统日新月益更新。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本次课程设计的项目是带有LED显示的音乐倒数计时器。主体使用89C52,通过几个开关进行控制,其中开关K1用于切换时间设置状态和时钟运行状态;开关K2用于切换修改时间数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于设定倒计时时间,并且设定好后到时间通过实验箱音频放出一段乐曲作为闹铃。 选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能 关键词:单片机课程项目计时器 89C52

摘要 ..................................................................................................................................... I 1前言 (1) 1.1课题开发背景 (1) 1.2课题研究的目的和意义 (1) 1.3课题的主要研究工作 (1) 2 系统硬件设计及说明 (3) 2.1系统组成及总体框图 (3) 2.2部分硬件方案论述 (3) 2.3硬件电路图 (4) 2.4元件清单 (4) 2.4.1 AT89C52 (4) 2.4.2 LCD1602 (5) 2.4.3按键控制单元 (6) 2.4.4 SPEAKER (7) 3系统软件设计 (8) 3.1系统总体功能流程图 (8) 3.2使用单片机实现音乐节拍 (10) 3.3使用单片机产生音频脉冲 (11) 3.4使用定时器实现定时功能 (12) 3.5程序描述 (12) 4总结与展望 (15) 参考文献 (16)

单片机音乐倒数定时器的设计

1.基于单片机音乐倒数定时器的设计报告 2.【摘要】计时器在单片机模块中是比较常见的模块,计时器是一种用数字电路技术实现的计时装置, 与机械师中相比具有更高的准确性与直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。本设计采用AT89C51单片机对定时器的设计来实现一个简单的多功能的音乐倒计时报警器,通过三个按键可设定任意时间的倒计时报警器来满足用户的简单要求,如烧开水,煮面等简单问题。 3.【关键词】定时计数器;音乐代码;1602液晶显示

4............................................................ 目 录 5.引言 (1) 6.一、设计要求 (2) 7.二、设计目的 (2) 8.三、设计的具体实现 (2) 8.1.1.系统概述 (2) 8.1.1....................................................................................... 1.1 总体方案论证 (2) 8.1.2....................................................................................... 1.2 单片机选择方案 (3) 8.2.2.单元电路设计 (4) 8.2.1....................................................................................... 2.1 控制电路 (5) 8.2.2....................................................................................... 2.2 控制程序 (8) 8.3.3.软件程设计和调试 (7) 8.3.1....................................................................................... 3.1 延时时间的计算 (7) 8.3.2....................................................................................... 3.2 工作方式设计 (8)

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

音乐播放器的设计与实现

第一章绪论 1.1背景 随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。 3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。3技术使音乐数据压缩比率大,回放质量高。如格式的音乐数据压缩成3格式,音效相差无己,但大小至少可压缩12倍。由于3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,3格式的音乐文件刚在网络上传播时,主要用等播放软件进行播放,使3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着3播放器的出现及其技术的发展,人们对3播放器的要求越来越高,制造商在3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要是利用技术设计一款新型的3播放器。 9是公司的16/32位处理器,是适用于普通设备的一种高性价比的微控制器。本设计采用的是三星公司推出的9芯片S3C2440,具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。S3C2440主频高达400M,片上集成了丰富的资源:如()总线与控制器,为与数模转换器()的连接提供了一种理想的解决方案。 3播放器的设计比较复杂且对处理器的要求较高,因而3播放器必须仔细设计以降低成本。本设计是在9平台上设计、实现一个3播放器。 第二章系统总体方案 2.1 系统功能 本设计提出了一种基于嵌入式处理器硬件平台的3播放器设计方法。此播放器采用体系结构中的9作为系统控制器,利用外围设备通用串行接口下载3歌曲,用存贮3文件。主要对3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。基于9的3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及3播放器应用层。主要实现歌曲的播放。 2.2 设计指标 1、3工作电压为具有3.3V左右,电流250,具有音频解码和播放功能。 2、通过接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

基于单片机的定时器设计.

电气信息学院 课程设计任务书 课题名称基于单片机的定时器设计 姓名Front专业班级学号 校内指导老师企业指导老师 课程设计时间2017年3月6日-2017年3月17日(3、4周) 教研室意见意见:审核人: 一、设计任务及要求 1、设计任务: 以单片机为核心设计一个音乐提示定时器,具备倒数计时、时间修改、音乐演奏等功能。可作为微电脑倒数计数器,做一小段时间计时,放在家中使用,例如煮泡面、煮开水或小睡片刻等;用于全自动洗衣机洗涤完毕音乐提示定时器。设计4个按键设置现在想要倒数的时间:K1--可调整倒数时间为1-60分钟;K2—设置倒数计时时间为5分钟,显示为“05”;K3—设置倒数计时时间为20分钟,显示为“20”;K4—设置倒数计时时间为60分钟,显示为“60”;一旦按键后则开始倒计时,当计时为0则演奏一曲音乐;内定倒数计时时间为5分钟,显示为05。 2、设计要求: 1)设计方案要合理、正确; 2)系统硬件设计; 3)系统软件设计及调试; 4)系统联调; 5)写出设计报告。 二、进度安排 第一周: 周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。 周二~周三:完成硬件设计和电路连接 周四~周日:完成软件设计 第二周: 周一~周三:程序调试 周四~周五:设计报告撰写。周五进行答辩和设计结果检查。

三、参考文献 1)《微型计算机原理及应用》许立梓编机械工业出版社 2002 2)《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 2000 3)《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 2000 4)《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社2000 5)《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 2001 6)《微型计算机接口技术》邓亚平编清华大学出版社 2001 7)《单片机原理及及应用》王迎旭编机械工业出版社 2001 8)《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 2002 9)《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002

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