学习了课本上是内容,但是理论与实践往往会有一些差距,在一开始拿到课题我们还是没有头绪。经过上网查询并学习,我们首先有了系统地思路及整体的设计方向,但是在做的过程中还是遇到了很多问题。我们原本使用的是实验室开发板,音频解码模块需要三个额外的引脚,数据请求选引脚DREQ,数据片选引脚DXCS,器件片选引脚XCS,实验室的开发板有SPI可以完成与模块的通信,但是没有与上面三个端口直接相连的引脚,在我们尝试自己按照数据传输的方式配置发觉成功率较低后,我们决定更换开发板,这样也方便我们课后进行调试。在选择发声器件时,我们一开始想使用蜂鸣器来发声,后来在实现的过程中发现蜂鸣器的音调变识度很差,很难发出一个准确的音调,因此我们选择更换为扬声器,但是因为输入扬声器的信号很小,使得扬声器发出的声音也很小,我们决定使用放大器来放大声音。一开始我们选择用三级管放大,但是电路连接好后发现信号容易失真,并且使用一个放大器放大倍数也不够,我们就尝试用多个三级管,但是它们不仅电路非常复杂,要考虑到整流、滤波等等问题,经过上网查询我们发现可以直接使用一个音频放大模块来放大,tda2822m这个放大模块可接扬声器的功率和电阻范围正好符合我们所使用的扬声器,在做了多次尝试后成功放大了声音,但比较可惜的是最终因为模块内部器件损坏原因没有成功。
而在这部分最大的缺陷是受于单片机上按键的数目(四个)限制,而使扬声器只能发出四个频率的音。这其实是一个取舍问题,我们可以选择外接一个4*4的键盘,从而可以使扬声器最多发出16
个频率的音。但由于键盘本身的电路设计原因,很难设计出让按键松开时也能触发中断的程序,这样扬声器的发声时长就不能人为的控制,而只能通过内置一个设定好的延时程序来使扬声器停止发声,这样功能的实现显得很不自然。最后经过权衡,选择了通过牺牲扬声器的发声频率数,来使功能的实现显得更自然一些。在实验过程的每一步我们都做了大量的尝试,从软件编写、调试到软硬件联机调试,倾注了我们大量的时间与心血,曾经为程序的编写冥思苦想过,为无法找出错误郁闷苦恼过,也为某一功能无法实现犹豫彷徨过,但是在老师的帮助及大家团结一心下,难题都被一一克服,我们最终成功实现MP3音乐盒的功能。 在本次课程设计中,我们不仅巩固了课本上所学的知识,加深了我们对理论知识的理解,而且还学到了很多课本上没有的知识,懂得了理论与实际相结合的重要性。使我们认识到只有理论知识是远远不够的,只有把所学的理论知识与与实践相结合,才能提高自己的实际动手能力和独立思考能力。经验也是是我们的收获,并且还增强了我们自身解决未知问题的能力,使我们受益匪浅。word教育资料 达到当天最大量API KEY 超过次数限制
相关推荐: