用单片机演奏电子乐曲课程设计方案报告林星星100706241

上传人:乐*** 文档编号:115120857 上传时间:2019-11-12 格式:DOC 页数:18 大小:217KB
返回 下载 相关 举报
用单片机演奏电子乐曲课程设计方案报告林星星100706241_第1页
第1页 / 共18页
用单片机演奏电子乐曲课程设计方案报告林星星100706241_第2页
第2页 / 共18页
用单片机演奏电子乐曲课程设计方案报告林星星100706241_第3页
第3页 / 共18页
用单片机演奏电子乐曲课程设计方案报告林星星100706241_第4页
第4页 / 共18页
用单片机演奏电子乐曲课程设计方案报告林星星100706241_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《用单片机演奏电子乐曲课程设计方案报告林星星100706241》由会员分享,可在线阅读,更多相关《用单片机演奏电子乐曲课程设计方案报告林星星100706241(18页珍藏版)》请在金锄头文库上搜索。

1、1、 课程设计目的: 我们学习了一个学期的单片机,这次课程设计就是以现有的基础和能力,利用本次设计加以运用,从而达到对所学知识的巩固,更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,在对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。在根据该电路设计出软件的功能模块、从而完成程序流程图,在跟据程序流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件,硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处

2、理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。 本课程设计教学根据课程的教学大纲的要求和单片机原理与接口实验室建设所提供的条件,安排了单片机控制系统的设计课题,从而使我们更好地掌握课堂学习的理论知识,掌握基本实践技能,并能进行一定的综合应用和探索。通过课程设计的教学,使我们巩固和深化已学的理论知识,加强综合应用能力,训练学生掌握分析问题、解决问题的方法,培养较强的动手能力和一定的单片机应用系统的设计和调试能力。2、 课程设计要求: 本次课程设计要求在一周的时间内利用实验室的现有条件或者自己的设备完成程序的编写和调试,具体要求如下: 1、设计题目都需要进行硬件设计和软件设计,并调试

3、成功;2、设计的硬件电路要包含I/O设备,并使用I/O功能;3、尽可能使用单片机的定时计数器和中断资源4、硬件可使用THDPJ-1/2型单片机开发综合实验箱,也可使用自己的硬件电路5、可用C51或汇编语言编程3、设计题目分析31 题目简介 用单片机演奏电子乐曲,相当于制作一个带有录音播放功能的电子琴。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本次课程设计的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、蜂鸣

4、器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1个播放键,1个暂停键和蜂鸣器。该课题则增强了我们对于44矩阵式键盘的了解和使用能力,在扫键,取键值,赋值三个方面的进行了加强和巩固。另外也对存储区域和空间进行了复习和使用,加深了我们对于单片机内部结构的认知,为我们进一步学习单片机提供了更深厚的能力。另外,通过实践和成果展示,我们也能在学习中获得学习的兴趣,让我们的学习充满了乐趣。32 设计要求本设计是以AT89C51芯片的电路为基础,利用蜂鸣器进行音乐的播放,并且利用44的键盘进行弹奏,并把弹奏的音录入存储单元内,然后将弹奏的音符播放出来。并且添加了LED指示灯来区别模式的不同。归

5、纳总结为以下四个功能:1、可以播放若干首程序自带的音乐库里的歌曲;2、使用44矩阵式键盘设计出16个音符,随意弹奏;3、将演奏的音符存放到单片机的存储单元中,并且可以作为音乐库里的音乐播放;4、用LED指示灯来区分播放与演奏两个功能。4、课程设计内容41 总体设计4.1.1总体设计框架:该系统结构以AT89C51单片机位控制核心,4*4矩阵键盘,加上2个按键、时钟复位电路、蜂鸣器等模块组成。单片机负责接收按键的输入,根据的输入按键所对应的音符蜂由鸣器发音。系统总体组成框图如图所示。 AT89C51 单片机蜂鸣器4X4键盘播放键 LED灯显示录音兼演奏键 图一 系统组成框图4.1.2系统功能模块

6、: 电子琴的功能结构如图2所示。切歌键负责切换播放歌曲,播放歌曲共4首,分别是千年之恋和寂寞沙冷,七子之歌,感恩的心,另外第一首播放的为录音录入的曲调,不想播放可以再次按播放键进行四首歌的播放。暂定键负责暂停并且进入电子琴弹奏模式,4X4的键盘,每个按键都对应这不同的音调,并且弹奏的同时也把所弹奏的曲调录入了存储单元里。在区分不同的模式上用的是LED灯明和灭来区分演奏模式和播放模式。 切歌键 演奏键 播放已存入的歌曲,可按切歌键进 行切歌。也可以把录入的曲调完整播放出来利用4X4键盘进行演奏并且进行录音 LED灯亮LED灯灭 图二 系统功能模块图 4.1.3程序总流程:(1)键盘扫描程序:检测

7、是否有键按下,有键按下则记录按下键的键值,并跳转至功能转移程序;无键按下,则返回键盘扫描程序继续检测。 (2)功能转换程序:对检测到得按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即电子琴弹奏功能和自动播放乐曲功能。(3)琴键处理程序:根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音。并且把键值对应的频率放入歌曲播放数组中,等待播放。(4)自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待是否有键按下。开始键盘扫描程序

8、T0初始化并开中断允许T0中断有键按下否 否延时去抖动 是识别按键功能是否演奏键 否播放键 是取相应的音符码装入T0根据按键功能装入相应音符值到T0,并且把相应的音符放入存储单元中启动T0启动T0按键释放成功否按键释放成功否T0停止工作T0停止工作 图三 程序总流程图4.1.4系统整体电路在电路的设计上,我们利用的是实验室的实验箱,用到的主要硬件有AT89C51芯片,两个独立按键,一个LED灯,和4X4的键盘。整体电路图如下:1.电路中用P3.2、P3.3控制按键。2.P1.0P1.7控制4*4矩阵键盘3.P3.7控制蜂鸣器。4.P2.0控制LED灯的明灭 图四 系统整体硬件图各个部分的放大图

9、片如下: A 键盘 B振荡电路C复位电路D功能键和蜂鸣器模块图五 电路模块42 详细设计:4.2.1弹奏录音模块:弹奏录音模块中我们用到了扫键程序keys_scan,键值赋值程序keybranch,另外设定了一个录音数组playmusic16,可放入相应按键对应的频率。再者在这个模块中我们用到了定时器0以及其中断,用来是蜂鸣器鸣叫。补充说明在弹奏录音功能进行时是LED灯是灭的。这个模块中涉及到了几个函数参数,如选歌参数count2,4X4键盘接口P1,启动关闭定时器0的参数TR0,录音可放入的音调数量cnt。另外还调用了延迟子函数delay_ms。弹奏录音程序流程:开始开中断并允许中断设定定时

10、器工作方式取键值根据键值查音律,并把按键做对应的频率和拍子放入录音数组中等待给定时器T0赋值开始计时进入中断蜂鸣器发出对应音调退出中断延时返回键盘扫描程序图六 弹奏录音程序流程图4.2.1歌曲播放模块 歌曲播放模块中我们用到了歌曲播放子程序song,在这个模块中我们也用到了定时器0以及其中断,用来是蜂鸣器鸣叫。补充说明在弹奏录音功能进行时是LED灯是亮的。 这个模块中涉及到了几个函数参数,如选歌参数count2,简谱参数jp,另外还有定时器0初值数组cuzhi,启动关闭定时器0的参数TR0,录音可放入的音调数量cnt。四首歌简谱对应的四个数组分别为ganen,qnzl,jmszl,qizige

11、,以及录音播放数组playmusic。还调用了延迟子函数delay_ms以及节拍时间函数delay。自动播放歌曲程序流程:开始开中断,设定定时器T0工作模式取简谱码取该音符的节拍码返回键盘扫描Count2=0 Y N查音律表,给定时器赋值 开始计时 进入中断蜂鸣器发出对应音调退出中断延时图七 自动播放歌曲程序流程43 调试与测试:程序调试过程: 1.检查实验箱和硬件设备是否能够正常使用:我们用实验箱搭了一个简单的电路,在软件上写了一段很简单的程序,运行后,实验箱正常工作。证明了实验箱是完好的,没有损坏,接下来的实验排除了箱子故障的问题。2.调试各个子程序:我们先把硬件电路在实验箱上搭好,然后再

12、把子程序一个一个套进去,一个一个的调试。首先调试的是基本的电子琴弹奏功能子程序,包括键盘扫描程序,赋值程序,延迟程序,以及每个按键对应的按键音的播放程序。而后,我们调试音乐播放模块程序,最后把录音模块加上去。3. 最后将程序完整化,把整个程序完整运行,看看功能程序是否能够在整体中正常发挥作用。4.调整好程序的结构,是结构的可读性增强,添加适当的备注。调试中出现的问题和解决方法:问题一:在演奏功能的实现时,每个按键的音调有些跑偏了。解决方法:我们在当前的频率值附近逐个取值试验,用最合适的频率值替代,最后使按键音能够基本符合标准。问题二:在播放功能中,我们放入的歌曲简谱是从网上直接找出来的,在有一些地方音调就跑了。解决方法:我们自己对应着歌曲的简谱,把个别错误的地方改正过来。问题三:这是最大的一个问题,录音功能没办法实现,没办法把键盘对应的音调存入数组中。解决方法:虽然我们到最后也没能把这个问题解决,但是在这个问题上我们想尽了办法。刚开始我们本来打算放入ROM中,打算放

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 工学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号