已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 课程名称_ 嵌入式系统 _题目名称_简易乐曲播放器设计_学生学院_自动化学院_专业班级_电子信息科学与技术12(1) 学 号 3112001308 3112001304 学生姓名 洪应佳 陈泽亮 指导教师 徐迎晖 2015 年 1月 19 日简易乐曲播放器设计【摘要】本设计是一个基于PSoC 5LP的简易音乐播放器,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。播放歌曲时,蜂鸣器发出某个音调。本设计利用PSOC Creator编程软件对音乐盒源程序进行编程并调试。【关键字】音乐播放器; PSoC 5LP; PSOC Creator; 音调引言 嵌入式系统是继模拟电子技术基础、数字电子技术基础课程后,电气类、自控类和电子类,IC设计类等专业学生在电子技术实验技能方面综合性质的实验训练课程,是电子技术基础的一个部分,其目的和任务是让学生掌握基于PSoC 5LP设计的基本方法,熟悉PSOC Creator等软件,并能利用软件设计一个电子技术综合问题,并在开发板上成功下载,为以后进行工程设计实际问题的研究打下设计基础。 1.通过课程设计使学生能熟练掌握一种PSOC Creator软件的使用方法,能熟练进行设计 输入、编译、管脚分配、下载等过程。 2.通过课程设计使学生能利用软件进行一个电子技术综合问题的设计。 3通过课程设计使学生初步具有分析寻找和排除电子电路中常见故障的能力。 4通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。设计的要求概况 本设计实现一段简单乐曲的播放,生成各音阶音频,并按照乐谱记录的旋律播放出该乐曲。基本要求为实现C大调音阶中的各个音及其相邻的12个八度音阶,能播放一段单声部乐曲。乐谱存储在片内存储器中;音频功率放大及扬声器电路自制,再与PSoC实验板连接;播放的乐曲可选择诸如单声部的“小星星”等,本设计选择的乐曲是“小兔子乖乖”。1. 设计原理及总体思路产生音乐的两个因素是音乐频率和音乐的持续时间,以纯硬件完成演奏电路比利用微处理器(CPU)来实现乐曲演奏要复杂的多,根据设计要求,乐曲硬件演奏电路系统主要由音频发生模块和乐曲存储模块组成。音频的发生采用PWM方波输出模拟得到;音调的高低用音阶表示,不同的音阶对应不同的频率,得到与各个音阶对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,而由计数器的计数时钟信号作为乐曲节拍控制信号。因此,不同频率的方波就可以产生音阶。PWM模块采用的时钟频率为200K,根据频率的大小计算出PWM的溢出值,通过改变PWM的溢出值达到设置PWM输出频率,从而达到了控制频率,即音阶的目的。通过修改占空比可以改变输出音量大小,在音阶之间采用音量渐减的方式来连接,让声音循序渐进,更加好听。 2.乐谱的认识2.1 音调的确定高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。计数脉冲值与频率的关系公式如下:N=Fi2FrN:计算值;Fi:内部计时一次为1us,故其频率为1MHz;其计数值的求法如下:T=65536-N=65536-Fi2FrC调各音符频率与计数值T的对照表如下表所示。 简谱中的音名与频率的关系2.2节拍的确定一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。节拍与节拍码对照表:节拍码节拍数节拍码节拍数11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍42/1拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。如果1拍为0.4秒,1/4拍实0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数。3.硬件电路设计3.1硬件结构框图3.2PSOC硬件电路搭建:3.3音频功放电路P6_0引脚设置为音频(PWM)输出,由于PSOC驱动能力不够,采用功放进行音频放大。如图:3.4引脚配置图3.5 总体功能介绍以及分析顶层文件编译好之后,通过电脑连接到硬件上,下载顶层文件到开发板里,下载完毕之后通过LCD可以看到第一行是“Lets Go.”,第二行为计时;喇叭开始播放“小兔子乖乖”,播放完一遍之后,隔2s再次播放第二遍,声音流畅悦耳,基本达到设计功能要求。 本设计按照乐谱记录的旋律播放出该乐曲。基本要求为实现C大调音阶中的各个音及其相邻的12个八度音阶,能播放一段乐曲。4.乐曲简谱本次选用歌曲为耳熟能详的儿童歌曲小兔子乖乖,该曲乐如下图:5.本设计源代码5.1 源代码/* =/* =*/#include unsigned int comp_valua=50;unsigned char m,xx,yy;unsigned int Del_ms=2000,kk,sing_T,TIME;/简谱中的音名与频率的关系unsigned int freq_list37=763,680,606,573,510,455,405,382,346,303,287,255,227,202,191,170,152,143,128,114,101,;/小兔子乖乖简谱简谱对应各个音调的详细列表音调(低,中,高),音谱,节拍数/第一遍,0-37unsigned char Rabbit763=1,5,2,2,1,4,1,6,4,1,5,2,1,5,2, 1,3,4,1,5,4,1,6,4,2,1,4,1,5,2,1,5,2, 1,6,2,1,5,4,1,3,4,1,2,2,1,2,2, 1,3,2,1,5,4,1,3,4,1,2,2,1,1,2, 1,6,4,1,5,4,1,6,4,1,5,4,1,3,4,1,6,4,1,5,2, 1,2,4,1,5,4,1,3,4,1,2,4,1,1,2, 0,6,4,1,1,4,1,2,4,1,3,4,1,1,2,/第二遍,某些调稍微有一些变化(38-75) 1,5,2,2,1,4,1,6,4,1,5,2,1,5,2, 1,3,4,1,5,4,1,6,4,2,1,4,1,5,2,1,5,2, 1,6,2,1,5,4,1,3,4,1,2,2,1,2,2, 1,3,2,1,5,4,1,3,4,1,2,2,1,1,2, 1,6,4,1,5,4,1,6,4,1,5,4,1,3,4,1,6,4,1,5,2, 1,2,4,1,5,4,1,3,4,1,2,4,1,1,2, 0,6,4,1,1,4,1,2,4,1,3,4,1,1,1, ;/LCD显示的定义void LCD_number(unsigned char x,unsigned char y,unsigned int number)unsigned char string=00;number=number;string0=(number%1000)%100)/10+0x30;string1=number%10+0x30;LCD_Position(y,x) ;LCD_PrintString(string);/主函数void main() LCD_Start(); /启动LCDLCD_Position(0,0) ; /LCD初始化LCD_PrintString(Lets Go.);PWM_Start() ; /启动PWM while(1)TIME=0;for(xx=0;xx38;xx+) PWM_WritePeriod(kk); kk=freq_listRabbitxx0Rabbitxx1-1; /读取简谱的音符 PWM_WriteCompare(kk); /占空比输入 kk=kk/1.015; LCD_Position(1,0) ; LCD_number(6,1,TIME); for(m=1;m100)sing_T=0;TIME+;if(TIME59)TIME=0;LCD_number(6,1,TIME); PWM_WriteCompare(0); /第一遍播放结束,延时2s后播放第二遍 CyDelay(2000); /第二遍的播放,稍有不同 for(yy=38;yy76;yy+) PWM_WritePeriod(kk);kk=freq_listRabbityy0Rabbityy1-1; /读取简谱的音符(37-75) PWM_WriteCompare(kk); /占空比的设置 kk=kk/1.015;LCD_Position(1,0) ; /led显示位置 LCD_number(6,1,TIME); /led显示时间 for(m=1;m100)sing_T=0;TIME+;if(TIME59)TIME=0;LCD_number(6,1,TIME); 5.2源代码分析 1.首先,确定简谱中的音名与频率的一一对应关系,列出他们的关系,再通过数组确定小兔子乖乖简谱简谱对应各个音调的详细列表音调(低,中,高),音谱,节拍数,LCD显示的设置,秒表的设置,做好这些前期准备工作。2.第二部分是主函数部分,通过读出第一部分所列出确定歌曲的音谱,确定该音谱的时间,也就是设置占空比,输出pwm波,从而驱动外放电路,接下来就是美化优化的部分,为了使声音更加饱满圆润,通过一个循环来随着节拍声音减少,也就是声音幅度衰减处理,从而不断完善使声音发出来更加动听。6.体会总结 在本次课程设计中,我们首先遇到的问题就是乐谱的解读,因为我们对乐谱的基础知识的认识基本为零。为此,我们花了一个下午的时间来了解乐谱的基本知识,通过查找资料,与同学交流了解到了声音音谱的发生规律,信号的频率与声音的关系,来生成不同的声谱。 经过此课程设计,我对PSOC 5LP和嵌入式系统有了进一步的了解,让我很好的锻炼了理论联系实际,与具体项目、课题相结合开发、设计产品的能力。既让我们懂得了怎样把理论应用于实际,又让我们懂得了在实践中遇到的问题怎样用理论去解决。我们还需要大量的以前没有学到过的知识,于是图书馆和网络成了我们很好的助手。在查阅资料的过程中,我们要判断优劣、取舍相关知识,不知不觉中我们查阅资料的能力也得到了很好的锻炼。我们学习的知识是有限的,在以后的工作中我们肯定会遇到许多未知的领域,这方面的能力便会使我们受益非浅。在设计过程中,总是遇到这样或那样的问题。有时发现一个问题的时候,需要做大量的工作,花大量的时间才能解决。自然而然,我的耐心便在其中建立起来了。为以后的工作积累了经验,增强了信心。 这次设计也使我对PSOC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西体育职业学院单招职业倾向性测试题库附答案解析
- 2026年兰州石化职业技术学院单招职业技能测试必刷测试卷附答案解析
- 2026年江苏省镇江市单招职业适应性考试必刷测试卷带答案解析
- 2026年上海建桥学院单招职业倾向性考试题库及答案解析(名师系列)
- 2026年四川信息职业技术学院单招职业倾向性测试必刷测试卷带答案解析
- 2026年四川卫生康复职业学院单招职业适应性考试必刷测试卷及答案解析(名师系列)
- 房屋恢复协议书范本
- 房屋换名子协议合同
- 房屋改造追加协议书
- 房屋瑕疵写合同范本
- 国际经济与贸易专业职业规划书
- 【MOOC】科学计算与数学建模-中南大学 中国大学慕课MOOC答案
- 2024年资格考试-对外汉语教师资格证考试近5年真题附答案
- HY/T 0273.2-2023海洋灾害风险评估和区划技术导则第2部分:海浪
- 专升本计算机教学课件-第一章-计算机基础知识(2023新版大纲)
- 影视剧本保密协议
- 学生实习家长知情同意书(完美版)
- 胸外心脏按压培训课件
- 校服招标方案
- 萧朴生的红色故事
- 会展概论-来逢波-习题答案
评论
0/150
提交评论