单片机课设之音乐播放器.doc
. . . 单片机原理与应用技术课程设计报告题目:基于单片机控制的音乐播放器专业班姓名:时 间:指导教师:2010年 3 月 19日一 基于单片机控制的音乐播放器二 设计要求(一)基本功能1. 利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,演奏乐曲。2. 采用LED显示信息3. 播放时显示歌曲序号(或名称)(二)扩展功能1可通过功能键选择乐曲,暂停,播放。2显示乐曲播放时间或剩余时间三 计划完成时间 三周1第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。2第二周完成软件的具体设计和硬件的制作。3第三周完成软件和硬件的联合调试。四 编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。五 答辩在规定时间,完成叙述并回答问题。目录1引言12总体设计方案22.1设计思路22.2总体设计框图22.3设计方案23设计原理分析23.1按键功能33.2音乐控制33.3电路原理图44心得与体会55参考文献5附录63 / 12基于单片机控制的音乐播放器1引言利用单片机演奏音乐大概是单片机爱好者感兴趣的问题之一。利用单片机控制音乐播放也多不胜举.音乐芯片也相当之多,而利用单片机存储音乐,控制播放最为广泛。它有功能多价格优外围电路简单的特点,备受音乐爱好者与音乐芯片制造商的青昧。用AT89S51单电机与少数外围电路控制音乐播放,产生几首不同的歌曲。 对于单片机产生音乐,关键是控制频率的输出。我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音。采用了T0中断的方法产生不同频率,采用THO产生中断进行歌曲选播,复位键进行重新开始,也可以通过选择键来选择。本文应用单片机和音乐发声的相关知识设计了一个简单的音乐播放器。所谓音乐播放器,由单片机进行信息处理,再经过信号放大,由耳机或扬声器(喇叭)放出乐曲声。我们知道,振动产生声音,振动频率不同,所发出的声音也就不同,有规律的振动发出的声音叫“乐音”,音乐由音频和节拍构成,音频即发声的频率,节拍即延时的长短,因此利用单片机的定时器/计数器产生一定频率的方波,本文比较详细地介绍了音乐播放器的原理、设计思路、硬件的选择与相关作用、软件的实现方法与详细的程序清单、还包括进行了软、硬件调试和测试,耳熟能详的歌曲的依次、轮回播放。关键词:8051单片机,中断,编程,音乐,音乐播放器2总体设计方案2.1设计思路利用单片机的定时器/计数器产生一定频率的方波,利用延时来实现方波的延时,从而实现“17”的高、中、低音的发音,而后把整首歌曲编码编程并结合单片机硬件实现歌曲的演奏。以键盘的方式进行换曲。2.2设计方案根据设计任务的基本要求,设计了由单片机(AT89S51)作为主控器件,按键组成的按键操作电路,以与三极管、扬声器组成的发声电路。除了以上的硬件电路外,还充分利用软件、硬件相结合,充分发挥单片机设计的优势。使设计更具特色。系统可分成三部分,即即时钟电路、复位电路和发声电2.3总体设计框图 单片机AT89S51-声音播放电路图1 总体设计框图3设计原理分析3.1按键功能初步设计了由两个按键来完成所有的操作,它们的功能分别是:复位键和换曲键,控制复位和更换曲目。3.2电路原理图图2 总体电路图图2中,S1为复位键,S2-S17为键盘电路,可以进行选择曲目。扬声器在每个操作后把程序中存储的信号进行放大还原成音乐播放出来,S1可以在死机等情况下进行系统复位。3.3 矩阵键盘电路设计由于设计要求使用键盘的按键数目较多,所以本设计采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3所示。每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。在这种行列式矩阵式键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常用逐行扫描查询法。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字F0H,把全部行线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根列线电平被拉至低电平,从而使列线不全为1。判断键盘中哪一个键被按下使通过将行线逐列置低电平后,检查行输入状态来实现的。方法是:依次给行线送低电平,然后查所有列线状态,如果全为1,则所按下的键不在此行;如果不全为1,则所按下的键必在此行,而且是在与零电平行线相交的交点上的那个键。图3 矩阵键盘原理图4程序流程框图4.1总体程序流程图根据硬件设计结果,为满足要求,程序应有主程序、按键处理程序、中断服务程序和发声程序等部分构成。主程序中主要是程序各部分的初始化;按键处理程序处理五个按键的操作,包括各个按键的响应程序以与发声输出等;单片机AT89S51-声音播放电路总体程序流程图4.2主程序流程图5心得与体会深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。在本次课程设计过程中,自己懂得单片机知识运用比较普遍啊,要想把这门课程学好需要不但课本上的知道,关键还是亲手实践锻炼自己的动手能力,只有在实践中才能够学到更多东西,从不知道到知道这个东西啊,知识来于课本理论与实践相结合的产物啊,我们只有把理论更好的运动到实践中学到了真正的知识经过这三周,我知道书本和实际操作还是很有差距的,而且自己的动手能力还是很差,而且电子这一行还要求的细心仔细和耐心,在这三周中暴露出来很多自己的不足,以后要多加练习,多锻炼自己的这些方面的能力。6参考文献1永甫.新编555集成电路应用800例 M.电子工业,2000.12 涵芳.MCS-51系列单片机原理与应用M.:航空航天大学,1996.43阎石.数字电子技术基础(第三版)M.:高等教育,19894 朝青.单片机原理与接口技术(第三版)M.;航空航天大学,2005年10月5叶挺秀.应用电子学M.:大学,19946朱承高.电工与电子技术手册M.:高等教育,19907阎石.数字电子技术基础(第三版)M. :高等教育,1989附录程序清单T5HZ EQU 30HT7HZ EQU 31HT05SA EQU 32HT05SB EQU 33HFLAG BIT 00HSTOP BIT 01HSP1 BIT P3.6ORG 00HLJMP STARTORG 0BHLJMP INT_T0START:MOV TMOD,#02HMOV TH0, #06HMOV TL0, #06HSETB ET0SETB EANSP: SP1,NSPLCALL DELY10MS SP1, NSPSETB TR0MOV T5HZ, #00HMOV T7HZ, #00HMOV T05SA, #00HMOV T05SB, #00HCLR FLAGCLR STOPJNB STOP, $LJMP NSPDELY10MS:MOV R6,#20HD1: MOV R7, #248DJNZ R7,$DJNZ R6,D1RETINT_T0:INC T05SAMOV A,T05SACJNE A,#100H,NEXTMOV T05SA,#00HINC T05SBMOV A,T05SBCJNE A,#20H,NEXTMOV T05SB,#00H FLAG,STRCPL FLAGLJMP NEXTSTR: SETB STOPCLR TR0LJMP DONENEXT: FLAG,S5HZINC T7HZMOV A,T7HZCJNE A,#03H,DONEMOV T7HZ,#00HCPL P1.0LJMP DONES5HZ:INC T5HZMOV A,T5HZCJNE A,#04H,DONEMOV T5HZ,#00HCPL P1.0LJMP DONEDONE:RETIEND