基于51单片机的简易音乐播放器.docx
- 文档编号:26292354
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:18
- 大小:233.70KB
基于51单片机的简易音乐播放器.docx
《基于51单片机的简易音乐播放器.docx》由会员分享,可在线阅读,更多相关《基于51单片机的简易音乐播放器.docx(18页珍藏版)》请在冰豆网上搜索。
基于51单片机的简易音乐播放器
课程目的以及要求
用51单片机作为主控电路设廿一个电子琴,实规能通过切换不同的健盘按傩来切换歌曲。
电子琴是现代电子科技与音乐结合的产物,是一种新型的鍵盘乐器。
它在规代音乐扮演着重要的角色,单片机貝有强大的控制功能和灵活的编程实现特性,它已经溶人现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用STC89C52单片机为核心控樹元件,设廿一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块。
本文主要对使用单片机设廿简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。
利用单片机产生不同颜率来获得我们要求的音阶,最终可师意强奏想要表达的音乐。
并且本文分别卩、原理图,主要芯片,各模块原理及各模块的程序的调试来库细阐述。
E:
系筑硕件披廿
3.1系筑杞图
3.251单片机产生音符原理
MCS-5I单片机有两个定时器/廿数器。
系统使用定时器/廿数器0产生方液。
定时器/廿数器IM用于记录音符的时长,即按键持续的时间。
定时器/计数器0的工作方式是I,即为16R定时器/计数器。
16位定时器/计数器被US予一个初值,并开始记数。
当记数謚出,产生中断后,中断服务程序将与蜂鸣器连接的引脚电平置反,并且对定时器/廿数器再Kfflfi,重新开始记效。
之后产生中撕,引脚电平再被置反,如此周而复始,在引啣上就能产生一个颐率勺定时初值有关的方波信号。
而定时初值与音符颐率有关,相应频率的确定,可参照12平均律,相邻两个半音A和B的顺率之间的关系为:
A=,1,o
定时器/廿数器I的作用为记录音符的时长,工作方式为I,BP16位定时器/廿数器。
在12MHZ的晶体振葫器F,单片机的机器周期为IMSO本系统中,定时器/廿数器I以10ms的时长为I定时单位,记录音符持续了多少个定时单位,如此,使用一个unmgnedchar®变量既可以记录2.55s的时长,这在用于记录—般弹奏的音符时是足昵的。
而若一个音符的时长JSil2.55S,则程序將在数组该位记满时强制践转,并复制此音符信息至教组下一位来记录该音符剰余的时长,实规—种。
无缝连接”。
如此以来,在存储空间允许的情况下,系统允许记录任意时长的音符。
音乐是由音符和时长组成,单片机將一连串音符和时长的时间序列以两组对应的敬组的形式保存起来,也就是保存了一段音乐役
Bl系统软件设廿
4.1单片机产生音符il程:
—首音乐是许多不同的音阶组成的,而每个音阶对应着不同的顺率,这样我们就可以利用不同的頻率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的頻率非常方便,我们可以利用单片机的定时/廿数器TO来产生这
样方波颐率信号,因此,我们只要把一首歆曲的音阶对应频率关系正确即可。
若要产生音颛脉冲,只要算出某一音颛的周期(1/顺率),再将此周期除以2,即为半周期的时间。
利用定时器廿时半周期时间,每当廿时终止后就P1.06相,然后重复廿时再反相。
就可在P1.0引啣上得到此颜率的脉冲。
利用STC89C52的内部定时器使其工作廿数器模式(MODE1)下,改变计数值THOJ5TLO以产生不同頻率的方法产生不同音阶,例如,顺率为523Hz,其周期T=1/523=1912ys,因此只要令廿数器itW956Ms/1ps=956,每廿数956次时将I/O反相,就可得到中音DO(523Hz)。
廿数脉冲值与频率的关系式(如式2-1所示)是:
N=fi壬2+fr
式中,N是计数值;fi是机器颐率(晶体振葫器为12MHz时,其颐率为1MHz);f「是想要产生的颐率。
其廿数初值T的求法5UT:
T=65536-N=65536-fi-2-fr
例如设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、
.可修编
高音DO(1046Hz)的廿数值。
T=65536-N=65536-fi-2-fr=65536-1000000-2-fr=65536-
500000/fr
低音DO的T二65536-500000/262=63627
中音DO的T二65536-500000/523=64580
高音DO的T二65536-500000/1046=65059
4.2程序编写流程图
开始
P1.O=O
执行输出电路,读相应程序
进行放歌
五:
调试过程
5.1软件仿真调试
软件仿真调试主要是针对单片机部分进行调试。
在软件运行前,先确保电路中连线正确,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。
在这部分调试中主要通过目测,用来完成检測电路中是否存在断胳或者短路情况等。
在确保软件仿真电胳正常,无异常情况(断路或短胳)方可进行软件运行,在本次设廿中,主要检渭单片机的程序助能是否正确在理论上编写的程序是否可以实现。
确保自己的电路扳在理论上是可实现的。
5・2实物调试过程:
1•先确保电路板是否每条鋼线支路那是导通的才能进行下一步调试
2•在检测好每条通路没有斷路的的情况下还要排除短路的情况,因为在焊接时会有可能將焊錮丝掉到两根鋼线之间。
3•将下好程序的单片机安装好后上电检测单片机的主要管脚电压值以确定单片机是否正常工作。
4.在所有上诉步骤部正确的情况下,要是功能为实现就要考虑软件编写是否正确。
5.3本次出现的一些问題以及解决方法
1•电路斷线情况比较多,是由于腐54专吊的过程出规了一些间题
2.开始设廿舸时候在每个按鍵的之路上添则一个红色二极管作为指示助能,但未考虑到编写的程序是按键扫描过程是检測单片机引脚是否为低电平,当抽了一个二极管的时候会产生一个管压降,导致引脚不能产生低电平。
所以该指示灯不能直接加到引脚处。
A:
体会:
通过从理论到实际实物的制作能够让我们结合自己所学去应用到实际的电路设廿中去。
让我们能够发现一些课堂中学习的不足然后结合实践JH固一些单片机的控制以及内部的一些功能使用;比如对TO定时器以及外部中斷的程序控制。
我们应该务通过实践来学习和叽固自己一些知识点。
七:
附录
7.1系统原理图:
■/?
7.2程序:
include
#defineucharunsignedchar
sbitbeeplO=P37;
sbitkey1=P1A0;
sbitkey_2=Pri;
sbitkey_3=P1A2;
sbitkey_4=P1A3;
sbitkey_5=P1"4;
sbitkey_6=Pr5;
sbitkey_7=PT6;
sbitkey_8=P1A7;
ucharm,n;
ucharcodeT[49]⑵=4(0,0},
{0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{OxFA,0x66},{0xFA,0xB9},{0xFB,0
x03M0xFB,0x4A}J0xFB,0x8F}J0xFB,0xCF}J0xFC,0x0B|,
{OxFC,0x43},{OxFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{OxPD,0x33},{0xFD,0x5B},{0xFD,
0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},
{OxFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{OxFE,0x99},{0xPE,0xAD},{0xFE,0
xC0H0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3M0xFFJ0x02h
{0xFF,0x10H0xFFJ0x1D},{0xFF,0x2A},{0xFF,0x36H0xFF,0x42},(0xFF,0x4C},{0xFF,0x56},{0xFF,0x6
0},{0xFF,0x69},{OxFF,0x71},{0xFF,0x79},{0x阡,0x81}
};
ucharcodemusicl[][2]={{0,4},
(27,4),119,4},{19,4},{27,4},{26,4},{26,2},{27,2},{24,8},
{22,4},{17,4},{24,4},{22,4},{19,16},
{15,4},{12,4},{12,4},{15,4},{17,8},{19,8},
{22,4},{17,4},{24,4},{22,4},{19,16},
{15,4},{12,4},{12,4},{15,4},{17,8},{19,8},{19,6},{19,2},{19,4},{17,4},{14,4},{14,4},{14,4},{7,4},{12,24},
(OxFF,OxFF}};
ucharcodemusic2[][2]={{0,4},
{23,4},{21,4},{23,16},{23,4},{21,4},{23,4},⑵,4},{19,16},{16,4},{19,4},⑵,8},{21,4},{23,4},⑵,4},{1
9,4},{16,4},{19,4},{14,24},
{23,4|,{21,41,123,16},{23,4},{21,4},{23,4},{219,24},{16,4},(19,4},{21,8},⑵,4},{23,4},{21,41,(1
9,4},{16,4},{19,4},{21,24},
{23,4},{21,4},{23,16},{23,4},{21,4},{23,4},{21,4},{19,16},{16,4},{19,4},⑵,8},⑵,4},{23,4},⑵,4},{1
9,4},{16,4},{19,4},{14,24},
{23,4},{26,4},{26J6},{26,4},{28,4},{26,4},{23,24},⑵,4},{23,4},{21,8},⑵,4},{23,4},⑵,4},{19,4},{1
6,4},{16,2},{19,2},{19,24},{0,20},
{26,4},{26,4},{28,4},{31,4},{30,4},{30,4},{28,4},{23,4},{21,4},{21,4},{23,16},{0,4},{23,4},{23,4},{26,4
},{28,8},{28,12},{16,4},{23,4},⑵,4},
⑵,24},{23,4},{26,4},{26,4},{23,4},{26,8},{0,4},{31,8},{30,4},{28,4},{30,4},{23,8},{0,4},{28,4},{28,4},
{30,4},{28,4},{26,4},{23,4},⑵,8},{23,4},⑵,4},{23,4},{26,16},
{OxFF,OxFF}};
ucharcodemusic3[][2]={{0,4},
0,16},
{21,4},⑵,4},⑵,4},{21,4},{19,8},{16,4},{18,16},{0,12},
{16,12},{23,16},⑵,4},{23,4},⑵,4},{19,8},{0,16},
{19,4},{19,4},{19,4},{18,4},{16,8},{14,4},{16,16},{0,12},
{16,12},{28,16},{26,4},{28,4},{26,4},{23,16|,{0,12},
{28,4},{28,4},{28,4},{30,4},{28,8},{26,4},{28,24},{0,12},
{28,4},{28,2},{26,2},{23,4},{23,4},{28,4},{28,2},{26,2},{28,4},⑶,4},{26,6},{23,2},{26,4},{28,4},{26,1
6},
⑵,4},⑵,2},{19,2},{16,4},{16,4},⑵,4},⑵9,21,(21,4},{23,4|,{19,6},(14,1
6},
{28,4},{28,2},{26,2},{23,4},{23,4},{28,4},{28,2},{26,2},{28,4},{28,4},
⑶,4},⑶,2},{28,2},{26,4},{26,4},⑶,4},⑶,21,{26,2},{31,4},⑶,4},{0,4},⑶,4},⑶,4},⑶,4},{30,4},
{28,8},{26,4},{28,24},
{28,4},{28,2},{26,2},{23,4},{23,4},{28,4},{28,2},{26,2},{28,4},{31,4},{26,6},{23,2},{26,4},{28,4},{26,1
6L
⑵,4},⑵,2},{19,2},{16,4},{16,4},⑵,4},⑵9,21,(21,4},{23,4|,{19,6},(14,1
6},
{28,4},{28,2},{26,2},{23,4},{23,4},{28,4},{28,2},{26,2},{28,4},{28,4},
⑶,4},⑶,2),{28,2),126,4},{26,4),(31,4},{31,2},{26,21,{31,4|,{31,4},{0,4},
{31,41,131,41,{31,4},{30,4},{28,8},{26,4},{28,20},
{OxFF,OxFF}};
ucharcodemusic4[][2]=U0,4},
},{19,4},{17,4},{14,8},{12,8},{9,24},
{14,4},{17,4},{21,4},{24,4},⑵,8},{21,4},{19,4},⑵,8},{21,4},{19,4},{21,8|,{14,4|,{16,4},{17,4},(21,4
},{19,4},{17,4},{14,8},{12,8},{14,24},{14,4},{16,4},
{17,4},{19,4},{21,4},{22,4},{24,8},{22,4},⑵,4},{19,8},{19,4},{21,4},{19,16},{14,4},{16,4},{17,4},{19,4},⑵,8},{16,4},{14,4},{16,24},{14,4},{16,4},
117.4),(19,4},⑵,4},{22,4},{24,8},{22,4},{219,8},{19,4},{219.8H14,4},{16,4},{17,4},{21,4
},{19,4},{17,4},{14,8},{12,8},{14,24},
{21,81,126,161,(24,81,⑵,4},{24,4},{26,16},{24,8},⑵,4},{19,4},{17,4},{14,4},{17,4},{19,4},⑵,8},{2
1.4),119,4},
{21,24|,{21,8},{26,161,(24,8},⑵,4},{24,4},{26,24},{24,8},⑵,4},{19,4},{17,4},{14,4},{17,4},{19,4},{
21,8},
{26,4},{24,4},{26,24},
{OxFF,OxFF}};
ucharcodemusic5[][2]={{0,4},
{19,4},{19,4},{19,8},{14,8},{23,4},{23,4},{23,8},{19,8},
{19,4},{23,4},{26,8},{26,8},{24,4},{23,4},⑵,16},{21,4},{23,4},{24,8},{24,8},
{23,4},{21,4},{23,8},{19,8},{19,4},{23,4},⑵,8},{14,8},{1&4},{21,41,(19,16},
{OxFF,OxFF}};
ucharcodemusic6[][2]={{0,4},
{27,4},{26,8},{24,4},{24,4},{22,8},{17,4},
{19,14},{0,2},{15,4},{17,4},{19,4},{22,4},
{27,4},{26,8},{24,4},{24,4},{22,8},{17,2},
{19,8},{17,2},{19,2},{15,8},{12,4},{15,4},
(17.8),(12,4},{15,4},{17,4),(19,4},
(17.8),(15,141,(0,2),
{0,8},{0,8},{17,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,2},
⑵,8},{19,2},⑵,2},{17,8},{17,2},{0,2},{17,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,4},
{21,14},{0,2},{17,4},{19,4},⑵,4},{24,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,2},
{21,8},{19,2},{21,2},{17,8},{14,4},{17,4},
{19,8},⑵,81,(14,41,(17,4},{19,4},⑵,4},
{19,8},{17,14},{0,2},{17,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,2},
{21,8},{19,2},⑵,2},{17,8},{17,2},{0,2},{17,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,4},
{21,14},{0,2},{17,4},{19,4},⑵,4},{24,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,2},
{19,8},{21,8},{14,4},{17,4},{19,4},⑵,4},
{19,8},{17,14},{0,2},{17,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,2},
{21,8},{19,2},⑵,2},{17,8},{17,2},{0,2},{17,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,4},
⑵,14},{0,2},{17,4},{19,4},{21,4},{24,4},
{29,4},{28,8},{26,4},{26,4},{24,8},{19,2},
{21,8},{19,2},{21,2},{17,8},{14,4},{17,4},
{19,8},{21,8},{14,4},{17,4},{19,4},⑵,4},
{19,8},{17,14},{0,2},{0,8},
{OxFF,OxFF}};
ucharcodemusic7[][2]={{0,4}»
{18,2},{18,2},{18,2},{18,2},{18,6},{18,2},{18,4},{18,4},{13,4},{14,2},{16,2},{14,16},{0,8},{0,4},{11,4},
{16,2},{16,2},{16,2},{16,2},{16,6},{16,2},{16,4},{18,4},{20,4},{20,4},{13,16},{0,8},{0,4},{13,4},
118,2},{18,2},{18,2},{1&2},{18,6},{18,2},{25,4},{25,4},{23,16},{0,8},{0,8},{0,4},{20,4},{20,4},{20,6},{20,2},{20,6},{20,6},{13,2},⑵,4},{20,2},⑵,2},
(20,16H0,8},{0,4},{13,4},{18,2},{18.2H18,2},{18,2),(18,2},{18,4},{18,4},{13,4},{14,2},{16,2),
{14,16},{0,8},{0,4},{11,4},
{16,2},{16,2},{16,2},{16,2},{16,6},{16,2},{16,4},{18,4},{20,4},{20,4},{13,16},{0,8},{0,4},{13,4},{18,2},
<18,2},{18,21,118,2},{18,6},{18,2},{1&6},{18,2H25,41,(25,4},
{23,16},{0,8},{0,8},{0,4},{20,2},{20,2},{20,6},{20,2},{20,6},{20,2},{20,4},{18,2},{20,2},{18,16},{0,8},{{23,16},{0,8},{0,4},{13,4},{28,2},{28,2},{28,2},{28,2},{28,6},{28,2},{28,6},{30,2},{32,2},{32,6},{25,16
},{0,8},{0,4},{25,4},{30,2},{25,2},{25,2},{25,2},{25,6},⑵,2},
{18,6},{13,2},{13,4},{25,4},{23,16},{0,8},{0,8},{0,4},{23,2},{23,2},{23,6},{23,2},{23,6},{13,2},{20,6},{20,2},{18,16},{13,4},
(OxFF,OxFF}};
ucharcodemusic8[][2]={{0,4},
{18,2},{18,2},{18,2},{18,2},{18,6},{18,2},{18,4},{18,4},{13,4},{14,2},{16,2},{14,16},{0,8},{0,4},⑴,4},
{16,2},{16,2},{16,2},{16,2},{16,6},{16,2},{16,4},{18,4},{20,4},{20,4},{13,16},{0,8},{0,4},{13,4},
{18,21,(18,2},{18,2},{18,2},{18,6},{18,2},{25,4},{25,4},{23,16},{0,8},{0,8},{0,4},{20,4},{20,4},{20,6},{20,2},{20,6},{20,6},{13,2},⑵,4},{20,2},⑵,2},
{20,16},{0,8},{0,4},{13,4},{18,2},{18,2},{18,2},{18,2},{18,6},{18,2},{1&4},{18.4IJ13,4},(14,2},{16,2},
{14,16},{0,8},{0,4},⑴,4},
{16,2},{16,2},{16,2},{16,2},{16,6},{16,2},{16,4},{18,4},{20,4},{20,4},{13,16},{0,8},{0,4},{13,4},{18,2},
<18,2},{18,2},{18,2},{18.6IJ18,2},{18,6}J18,2},{25,4},{25,4},
{23,16},{0,8},{0,8},{0,4},{20,2},{20,2},{20,6},{20,2},{20,6},{20,2},{20,4},{18,2},{20,2},{18,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 简易 音乐 播放
![提示](https://static.bdocx.com/images/bang_tan.gif)