基于单片机的电子音乐盒的设计与实现.docx

上传人:wj 文档编号:8853884 上传时间:2023-05-15 格式:DOCX 页数:8 大小:123.75KB
下载 相关 举报
基于单片机的电子音乐盒的设计与实现.docx_第1页
第1页 / 共8页
基于单片机的电子音乐盒的设计与实现.docx_第2页
第2页 / 共8页
基于单片机的电子音乐盒的设计与实现.docx_第3页
第3页 / 共8页
基于单片机的电子音乐盒的设计与实现.docx_第4页
第4页 / 共8页
基于单片机的电子音乐盒的设计与实现.docx_第5页
第5页 / 共8页
基于单片机的电子音乐盒的设计与实现.docx_第6页
第6页 / 共8页
基于单片机的电子音乐盒的设计与实现.docx_第7页
第7页 / 共8页
基于单片机的电子音乐盒的设计与实现.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的电子音乐盒的设计与实现.docx

《基于单片机的电子音乐盒的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子音乐盒的设计与实现.docx(8页珍藏版)》请在冰点文库上搜索。

基于单片机的电子音乐盒的设计与实现.docx

陕西电子科技职业学院电子工程学院1507滕一帆(论文)

课程设计报告

设计名称基于单片机的电子音乐盒的设计与实现

学校陕西电子科技职业学院

学院电子工程学院

学生姓名滕一帆

班级1507

学号2013062040311

指导教师聂弘颖

时间2017年09月22日

基于单片机的电子音乐盒的设计与实现

一、设计目的

为证明单片机可以通过软件程序控制硬件电路实现简单音乐播放器的功能,以此证明单片机的功能强大。

二、设计概述

本课题是一个基于51单片机的电子音乐盒,依据单片机控制技术原理,设计出一个可以播放多首音乐的数字音乐盒,通过数码管显示当前是第几首音乐,系统设计了三个按键,具体功能:

S1:

暂停/播放;S2:

加一首(下一首);S3:

减一首(上一首)。

通过硬件电路制作以及以及软件编程,设计制作出一个多功能的电子音乐盒。

三、设计方案

在这个系统的设计中,单片机采用51兼容系列的STC89C52RC。

有以下几部分构成:

电源电路、单片机最小系统、发声系统、键盘控制电路、显示电路。

经过论证后我确定的系统框图,如下图所示:

51

数字显示电路

键盘控制电路

发声控制电路

电源电路

单片机最小系统

四、设计原理

1、原理

本系统由单片机系统,独立按键、数码管组成。

利用I/O口产生一定频率的方波,驱动扬声器,发生不同的音调,从而实现乐曲的演奏。

系统能通过功能键完成选择乐曲、播放、暂停、和复位的基本功能。

在播放乐曲的同时LCD上显示所播放的歌曲序号,可以通过复位键使音乐盒从第一首歌曲重新播放,本系统成本低廉,功能强大实用。

2、音乐基础简介

<1>音乐频率表

低音

频率

中音

频率

高音

频率

11

262

1

523

11

1046

22

294

2

587

22

1175

33

330

3

659

33

1318

44

349

4

698

44

1397

55

392

5

784

55

1568

66

440

6

880

66

1760

77

494

7

988

77

1967

<2>音调表建立

由于单片机输出为方波输入信号,波形图如下:

高低电平各占1/2,根据单片机定时器工作原理。

定时时间=(满值-初值)X机器周期

初值=满值-定时时间/机器周期

=216-(1/f)X(1/2)X106

以低音11为例,初值为=216-(1/262)X(1/2)X106

=63627.6

=63628

同理得其他音调值,具体如下:

Unsignedintcodetable[]={0,63628,63835,64021,64103,64260,64399,64523,64579,64684,64777,64819,64898,64968,65030,65058,65110,65157,65178,65217,65252,65282};

<3>音乐表的建立

我们以两只老虎音乐为例子,然后我们就会得到该音乐表

Ucharcodemusic1[]={8,4,9,4,10,4,8,4,9,4,10,4,8,4,10,4,11,4,12,8,10,4,11,4,12,8,12,3,13,1,12,3,11,1,10,4,8,4,12,3,13,1,12,3,11,1,10,4,8,4,9,4,5,4,8,8,9,4,5,4,8,8,0,0xff};

3、硬件电路设计

1)单片机最小系统

在基于单片机的应用系统中,其核心是单片机的最小系统,而单片机又是最小系统的核心,为了方便起见,采用的型号是:

STC89C52RC,内部资源有:

8kbflash,512bsram,4个8位I/O口,2个TC,1个UART,带ISP和IAP功能。

是近年来流行的低端51单片机。

时钟电路采用12MHz晶体,复位电路采用简单的RC复位电路。

R4=1KΩ,R3=10KΩ,C5=10Uf。

2)发声控制电路

音乐的发生器采用小喇叭,使用PNP型三极管。

3)键盘控制电路

通过安按键来控制乐曲的暂停/播放、加+、减-。

S1、S2、S3的功能设定如下。

S1暂停/播放;S2乐曲/+;S3乐曲/-。

4)音乐数目显示电路

显示当前的乐曲序列。

为了直观的观察室哪一首曲子的效果,设置一位数码管显示,数码管需要接一个200-100Ω的电阻起分压作用。

4、程序流程图

处理按键

开始

初始化

检查按键

有键按下?

显示乐曲号

播放乐曲

该曲是否播放完?

显示乐曲号+1

所有曲子是否放完?

五、仿真结果

所仿真出来的结果,去掉N2905,声音变小了,加上之后声音变大了,额,第一首是两只老虎,第二首,我换成通天大道,不过没找到乐谱规律,错了,第三首是小兔子快开门,第四首新年好,第五首歌曲接连被放出来。

效果不错。

六、总结

通过本次仿真作图,以及程序编写,仿真原图,和自己再画图,和程序再组合效果,依然不错,原图只是作为参考,其次,通过本次作业,明白,每一门课代表以后的每项工作,而这门课开设的原因估计是要我们认为,在一台机器,里面通过芯片,芯片的程序带动硬件,一件成品就出来了。

所以,软件和硬件属于相辅相成,在未来的世界中,是属于硬件和软件共存的时代,没有软件,硬件别想动;同理硬件也是一样的。

认可了工程师的伟大,以及程序员的厉害之处。

七、附录

1、元件清单

元件清单:

2N2905、2W10G、7SEG-MPX2-CAA700127M004ATE018、AT89C52、BUTTON、BUZZER、CAPCRYSTAL、DIODE-LED、RES、SW-SPDT

2、电路图

3、程序代码

#include"reg52.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitbuzzer=P2^7;

voiddelay(uintz);

voidscan();

sbitS1=P3^1;

sbitS2=P3^2;

sbitS3=P3^3;

bitflag=1;

ucharbuf,high,low,n;

chari;

uintsound;

ucharcodenum[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

uintcodetable[]={0,63628,63835,64021,64103,64260,64399,64523,64579,64684,64777,64819,64898,64968,65030,65058,65110,65157,65178,65217,65252,65282};

ucharcodemusic1[]={8,4,9,4,10,4,8,4,9,4,10,4,8,4,10,4,11,4,12,8,10,4,11,4,12,8,12,3,13,1,12,3,11,1,10,4,8,4,12,3,13,1,12,3,11,1,10,4,8,4,9,4,5,4,8,8,9,4,5,4,8,8,0xff};

ucharcodemusic2[]={10,10,10,9,8,9,10,12,10,10,9,8,9,10,20,19,20,17,19,19,19,15,20,19,17,19,19,19,15,16,17,16,19,17,16,15,16,19,8,20,19,19,8,20,19,17,19,20,8,8,20,19,10,10,12,9,8,8,0xff};

ucharcodemusic3[]={12,4,15,2,13,2,12,4,12,4,10,2,12,2,13,2,15,4,12,4,12,4,13,4,12,2,10,2,9,4,9,4,10,4,12,2,10,2,9,2,10,2,8,4,13,4,12,4,13,4,12,4,13,4,12,4,10,4,13,4,12,4,12,2,12,2,10,2,9,2,8,2,8,8,2,8,2,9,2,10,2,8,8,0xff};

ucharcodemusic4[]={8,3,8,3,8,3,5,3,10,3,10,3,10,3,8,4,8,3,10,3,12,3,12,4,10,3,11,3,10,3,9,6,9,3,10,3,11,3,11,4,10,3,9,3,10,3,8,4,8,3,10,3,9,3,5,4,7,3,9,3,8,6,0xff};

ucharcodemusic5[]={0,2,8,2,10,2,11,2,12,2,12,2,11,2,12,4,13,2,14,2,15,2,10,2,10,2,11,2,12,8,13,4,12,2,11,2,12,2,15,2,15,4,13,4,13,2,14,2,15,4,14,4,12,4,10,2,11,2,10,2,11,2,12,4,13,2,14,2,15,4,14,2,13,2,12,8,12,2,13,24,9,8,16,0xff};

ucharcode*menu[]={0,music1,music2,music3,music4,music5};

uchar*p;

charj;

voidint0()interrupt0

{if(S2==0)

{delay

(1);

if(S2==0)

{j++;

if(j==6)

{j=1;}

P0=num[j];

TR0=0;TR1=0;

n=0;i=3;

p=menu[j];

}

delay

(1);

while(!

S2);

}

}

voidint1()interrupt2

{

if(S3==0)

{delay

(1);

if(S3==0)

{j--;

if(j==0){j=5;}

P0=num[j];TR0=0;TR1=0;n=0;i=3;p=menu[j];}

delay

(1);

while(!

S3);

}

}

voidt1()interrupt3

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

n--;

scan();

}

voidt0()interrupt1

{

TH0=high;

TL0=low;

buzzer=!

buzzer;

}

voidinit()

{

TMOD=0x11;

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;

EA=1;ET0=1;ET1=1;EX0=1;

EX1=1;IT0=1;IT1=1;

}

voidmain()

{

init();

while

(1)

{

for(j=1;j<6;j++)

{P0=num[i];

i=0;p=menu[j];

delay(200);while(p[i]!

=0)

{

buf=p[i];

if(buf!

=0)

{

sound=table[buf];

high=sound/256;

low=sound%256;

TH0=high;

TL0=low;

if(flag)

{

TR0=1;

}

else

{

while(!

flag);

}

}

else{

TR0=0;

}

i++;

n=p[i]*2;

TR1=1;

while(n!

=0);

i++;

}

}

}

}

voidscan()

{

if(S1==0)

{

delay(10);

if(S1==0)

{

flag=!

flag;

TR0=~TR0;

}

while(!

S1)

{

delay(10);

}

while(!

S1);

}

}

voiddelay(uintz)

{uintx,y;

for(x=0;x<100;x++)

for(y=0;y

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2