版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的电子琴控制系统设计目录TOC\o"1-2"\h\u5658摘要 19867第1章绪论 265851.1课题背景 264911.2国内外研究现状 3314621.3课题的研究内容 412576第2章系统总体设计 4187662.1设计要求 4117442.2单元电路设计 58131方案二:USB供电 713952第3章系统的硬件设计 929553.1单片机简介 9259413.2驱动发声电路 1079733.3按键电路 11262053.4晶振电路 1351603.5OLED显示 137198第4章系统的软件设计 15156584.1软件设计思想 15103514.2音乐的产生 15204334.3系统程序设计 1924776第5章电路调试 2242215.1PCB制作 22127405.2硬件调试 23297385.3综合调试 2421497第6章总结与展望 26129226.1总结 2611126.2展望 2720751参考文献 27摘要电子琴是音乐和科技相结合的产物,它在人们日常生活中成为了一种非常重要的乐器,结合单片机强大的控制功能和灵活实现编程的特性,更是成为不可取代的存在。本次设计的电子琴大体上可以把它划分为硬件设计电路和软件设计两个组成部分,其中主要的硬件电路是采用stm32单片机作为主控芯片,辅以外围的各种扩展电路如蜂鸣器、按键、显示等元件,形成一个完全采用可编程控制的显示处理系统;软件设计部分是通过芯片内部的一个可以改变PWM的信号和输出频率的定时器,使用蜂鸣器和延时方式对发出的信号以及音调的频率进行控制,从而使得信号能发出不同的声音和节拍,就可以演奏出音乐。该电子琴共设有10个按键,使用者可以直接播放或演奏自己喜欢的音乐。关键词:电子琴;单片机;音符;频率第1章绪论1.1课题背景电子乐器的快速发展和现代科技息息相关,电子技术正在逐步改善现代人们的日常生活和工作。由于现今我国玩具市场需求量很大,而电子琴作为新兴的一种乐器,就是其中很好的一个应用方面。电子琴的历史并非像中国一些传统乐器那么悠久,它到今天仅有几十年的历史。在二十世纪五十年代,日本人发现了电子琴的特别之处,果断买断电子琴技术,开始大批量的对电子琴进行生产,并且逐渐生产出各式各样的电子琴,不久电子琴出现在艺术教育行列之中,电子琴风靡全世界。电子琴在二十多年前才出现在我国的教育行列之中,目前在我国常见的电子琴主要有两种:一种是带有手提和脚键盘的立式电子琴;另外一种就是用来普及有关音乐教学的便携式电子琴。这两种类型的电子琴都在能模仿其他乐器以及大自然中的声音以外,可以发出自己特有的声音。电子琴还在音乐教育中具有其独到之处。从这些年考级人数增长的变化就可以看出其发展的势头。电子琴需求量逐年攀高的原因主要有三个方面:一是它的价格便宜,一般工薪阶层能够承受得起;二是它丰富多变的声调,一下子就能够深深地抓住每个小孩子的眼球;三是音乐和艺术教育方面,在素质教育中音乐教育已经成为一种重要的手段,被越来越多的人所认识,其中许多人并不是非要走专业道路,而是对大多数人来说它是一种很好的选择,所以使用电子琴的人也越来越多。现在市面上所存在的一些新型电子琴不管是它的音色还是节奏,甚至是一些其他的音乐功能都进行了极大的改善。乐器的音色和节奏均增加上调了几百种,功能配置方面的不足也都进行了改善提高,其优势继续发展。现在由于电子琴在现实中的使用方面更为简单易操作,因此被广泛地应用于教育意义和教学内容上。1.2国内外研究现状虽然单片机诞生的历史不是很长,但它们的发展十分迅猛,在集成程度、功能、速率、可靠性、应用场景等方面都朝着更高层次发展。现在这种单片机被广泛应用于电气与控制设备、工程自动化的仪器、图像与测量设备、运输能力、信号与处理设备、现代武装兵器、医疗设备、商务和家用电器等多个领域。计算机方面的技术在科技生活中应用极其广泛,绝大多数的软件设计是利用多媒体技术完成的,模拟电子琴的设计和制作也离不开这一技术,因此随着计算机技术的发展模拟电子琴技术也在不断的进步。电子琴也是电子乐器的一种,随着电子多媒体技术的发展以及各种软件程序的不断改良,电子琴的更新速度也随之增加,凭借其简单便捷的的使用界面得到了众多电子琴艺术爱好者的赞赏,而且它的功能基本达到了真实的完整的电子琴的水平。因此,通过微机计算机的控制设计实现的多功能玩具类电子琴受到各界的广泛的关注以及喜爱[3]。电子琴在我国传统现代音乐中已经是一种完全不可能被替代的伴奏乐器,它是现代科学与传统音乐的巧妙结合。由于这种新型单片机本身具备了非常强大的控制处理功能和灵活且多样化的应用编程语言实现设计的能力[1],所以本设计的主要研究内容是基于新型单片机的一种玩具电子琴。以stm32单片式主机为设计核心的音频控制器,与按键、显示器、蜂鸣式发声器等组合构成了一个核心控制模块,可用于快速实现对音乐的播放。在音乐播放工作模式下,由带有核心控制模块的单片机自动控制各个模块进行音频协同驱动运转,放音控制设备耳机或驱动扬声器放出音乐;在音频电子琴播放模式中,从音乐信号产生的工作原理角度看,是通过单片机定时器程序对脉冲信号进行调频控制,定时器控制脉冲发出的次数和具体发音持续的时间来控制每个节拍,把音频节拍音符和其相应的节拍脉冲转化为定时频率常数和延时频率常数,做成一个音频数据表格一并存放到程序的数据存储器中,分别被程序用来实时检测和控制定时器所驱动产生的节拍脉冲工作频率和发出来的音频节拍脉冲的连续工作时间,产生不同频率的脉冲输出,经过放大后,由按键输入的脉冲信号通过stm32单片机控制并驱动蜂鸣器便能够发出不同的乐音[16]。在stm32单片机上面所进行开发设计的电子琴中,每个具有各种功能不同的软件程序与硬件之间既“独立”又“协作”,在电子琴信号连接器收到一个信号指令后,立即开始运行相应的软件程序,从而实现电子琴所设计的各项常用音乐控制功能,也就可以控制电子琴各种音乐的正常演奏和播放。1.3课题的研究内容本课题集中于多功能玩具电子琴的研究,实现电子琴演奏和自动的应用功能,主要研究内容如下部分:(1)通过查阅文献,了解玩具电子琴的国内外情况和存在的问题,确定课题的主要方向和研究重点;(2)根据设计要求确定系统的总体设计;(3)熟悉手动弹奏、自动演奏预存乐曲和简谱码显示功能的工作原理,根据设计要求绘制系统硬件电路图、PCB图,最终实现电子琴的设计;(4)在音乐播放与演奏中,掌握音调高低与频率的关系。研究生成乐理中各个音阶的基础理论和设计思路;(5)编写程序,完成软件部分的设计;(6)制作实物,并进行实物验证和调试。第2章系统总体设计2.1设计要求本课题将设计一种多功能玩具电子琴,它可以实现手动演奏、自动演奏预存的乐曲及简谱代码显示等功能。主要任务和目标:可以预存至少5首歌曲,并且能够选择是演奏歌曲还是自动播放歌曲;在播放音乐的时候,能够直接实现乐谱的显示,可以重置和暂停;通过按键实现电子琴弹奏功能;完成外围电路设计,包括音乐曲目的显示电路设计、按键电路设计、功放控制电路等,完成器件的选型,绘制系统硬件工作原理框图、PCB电路示意图;完成硬件组成部分的焊接和安装调试,测试该硬件的可靠性,总结需要加强和改善的地方,使所设计的电子琴实现预期目标。2.2单元电路设计2.2.1单片机的选择方案一:stm32系列单片机是一款价格较低实用功能较强的单片机。其内核与一般的嵌入式软件相比,拥有的外部设备更为先进,具有串行外设数据接口以及通用的异步收发传输器等,在主要功能方面它的性能更高、成本更低、设计功耗更低,在功耗和系统集成度方面也有着突出的特点,同时其简洁的整体结构的优点再加上强大的处理功能,使它的应用颇为广泛。stm32单片机特性:具有ARM32位的CPU,最高工作频率为72MHz;片上集成32-512KB的Flash存储器,6-64KB的SRAM存储器;2.0-3.6V的电源供电和接口电压,4-16MHz的晶振,内部40kHz的RC振荡电路,用于CPU时钟的PLL,用于RTC可校准的32kHz晶振;系统采用串行调试SWD与JTAG接口模式;最多可以同步提供112个的快捷I/O端口,11个定时器,13个通讯接口。利用stm32f103t8u6单片机实现这次的设计,它拥有多个外部中断,四个定时器,其中一个高级定时器,三个通用定时器,具有PWM输出的模式,共36个引脚,除基本的输入输出功能之外还有复用功能,其外部装置功能强大,是一种能够方便使用且功能很强大的单片机,同时还可以直接对相关的寄存器件进行操作。方案二:51单片机从控制硬件到应用软件有它自己的位处理操作系统。它能够对单片机内信号的实时传送、放置、清零、检测等这些特殊功能寄存器进行实时处理,其处理对象是位。对位数据不仅具有实时处理功能并且可以进行各种逻辑上的计算,这一功能被广泛使用,已经极其完善。并且单片机内具有双重地址功能的地址区间存在于ram区,其使用较为灵活,这一地址区间给使用者工作提供了巨大的方便。但51单片机与其他更多的八位单片机相同都不具备乘法运算的功能,如若需要进行一个乘法运算时,则需要编写一个子程序并对其进行调试,才能得知是否可以进行运算使用,十分不便。运用51单片机设计制造电子琴是通过控制I/O口输出高电平和低电平的频率,从而控制蜂鸣器发出不同的音调。51单片机的一些缺点:因单片机功能缺少,若想实现该功能则需要对设计的硬件以及软件部分进行扩展,这样就增大了设计的负担。虽然I/O引脚的工作方式使用简便,但在高电平条件下工作没有任何输出功率,双数据指针运行速度慢;保护性能非常差,很容易直接损伤整个芯片。两种单片机相比较后可以发现:因stm32系列单片机有丰富的库函数可以直接调用,并且其内部资源也比51单片机多,所以在程序编写上比51系列单片机更加的省力省时,还能有更多的选择;51系列单片机双数据指针等的数据运行缓慢,51单片机最高工作频率可达40MHz,而stm32最高工作频率可以达到72MHz;利用51单片机进行编写时只需要配置寄存器就可以完成,stm32单片机要打开相应的时钟后才能开始工作,stm32效率更高、执行速度更快、功能更强大(丰富的外设、多个管脚、可重映射的管脚功能)等。两种不同解决方案相比,51单片机虽然本身价格便宜,但是其功能简单,I/O口少,而stm32具有36个引脚,并且其定时器分别具有PMM输出的模式,可以更加方便对蜂鸣器的发声进行控制。本次电子琴的设计中总共包括10个按键,发光器件,蜂鸣器等,需要的I/O口比较多。因此选用I/O口较多的stm32f103t8u6来作为控制芯片。2.2.2显示部分方案一:LED价格低廉,操作方便,控制容易,布板省时,使用得当非常地引人注目。但是显示的信息不太直观,往往只能起到单纯的装饰作用。方案二:LCD可以较好的显示所要表达的内容,直观明了。但是接线比较复杂,需要的驱动多,还需要输入比较多的内容来生成字符,增加了难度,花费较多的时间。方案三:OLEDOLED是有机发光二极管,且是自发光,每个像素都可以单独开启或关闭,在厚度、可弯曲程度、色彩、单独点亮、耗电程度几个方面相比LCD都更有优势。为了显示的内容更加清晰直观,达到预期效果,选择使用方案三。2.2.3按键部分方案一:独立式按键优点:是一个利用I/O口直接进行连接的独立式键盘,每个按键都配备了与其相应的I/O口进行对应,编程简单容易操作,实现方便。缺点:I/O口数量有限,没有办法接太多的按键,而本系统不需要用户调整太多的参数,采用独立式按键会使操作变得简单。方案二:利用PA口接成键盘。(用附加键增加原放音键的功能)优点:利用I/O口能得到更多的按键,可使操作界面变得简单,接线相对更短,经过精心设计,不但不用担心飞线,还能减少空间。操作也方便,并且因为给了同一个键双重定义,是在不增加按键的情况下使功能更多,节省了大量资源。缺点:软件处理比独立按键复杂。根据自己实际需求,需要的按键不是特别多,所以综合考虑后,认为方案一为更佳方案。2.2.4音频部分方案一:蜂鸣器。优点:结构简单,价格便宜。缺点:声音有些难听。方案二:三极管+喇叭。优点:比较来说,它的接线不太复杂,便于安装和调试,发出的声音相比更优。缺点:三极管很容易设计出现问题,并且不是很稳定。方案三:LM386+喇叭优点:音质比较好,用了比较专门的音频功放,稳定性也更好。缺点:必须学习功放的相关知识,其接线复杂,由于对元件较陌生成功率会低一些。比较之后,采用方案二。2.2.5端口供电方案一:电池+二极管降压优点:非常容易实现。缺点:稳定性不高,电压比标准值大一些。方案二:USB供电优点:稳定性好。缺点:带负载能力不强。方案三:稳压电源优点:带负载的能力强,电压稳定,效率高。缺点:产品制造成本高,结构复杂,技术困难大,维修不便。结合实物的具体情况和需求,选择方案二USB供电就可以满足要求,所以采用方案二。
第3章系统的硬件设计系统的实现过程主要是首先经过随意按下电子琴任意按键所发出的声音,作为输入信号传递给主控板上的控制电路,然后信号通过中央处理器的识别解码,接着输出音符,其次蜂鸣器接收到这一音符信号便中可以发出声音,最后由于音符信号的不同蜂鸣器发出的音调也就不同,这样就可以演奏出音乐了。具体的系统结构总体设计框图如下,详见图1。图1系统整体框图3.1单片机简介stm32f103系列的微处理器,拥有72MHzCPU的运行速度和高达1MB的闪存。其中包括电动机控制的外围装置,以及USB全速接口。stm32系列32位闪存微控制器在工作时功率低、电压低,并且结合了极好的实时功能,封装类型系列可用于嵌入式应用。MCU体系架构是一个易于实际应用的stm32平台,可以用于各种应用领域。stm32系列产品离不开cortex-m3体系架构的各种功能,包括为了传达和提高改善性能而自行配置的指令,更好地编码密度,对于中断能更快速地做出响应,所有都与最前沿的工业功耗技术相互接合。采用的stm32f103t8u6单片机的引脚如图2所示。图2单片机引脚图3.2驱动发声电路3.2.1电路原理驱动发声电路是整个电路设计中十分重要的组成部分,它承担着把单片机产生的音频信号在进行放大之后进行输出作用。而在所设计的这个控制发声电路中,主要包括9012和蜂鸣器。9012是一种小体积功率的放大管,属于PNP型的三极晶体管,最大集电极的电流0.5A,耗散功率0.6W。对于三极管的管脚进行判断则可以采用下列方法:(1)判断三极管的基极。对于PNP型三极管,用黑表笔接其中的任意一个电极,红表笔接另外两个电极中的任意一个,随后将红黑表笔对调连接,这样就分别得到两组阻值,如果两组的阻值都基本相同,就可以确定对调前,基极(B)是红表笔接的电极,反之,如果得到的两组测量值差值较大,说明对调前红表笔接的不是基极,这样就需要用同种方式对第三个电机进行测试。(2)判断三极管的发射极(E)和集电极(C)。测量发射极和集电极之间的电阻阻值,然后对调表笔再次进行测试,两次如果两次测量的结果不相同,则测量得到的的电阻值较小的应是发射极,另一个是集电极。对于NPN型三极管,方法与PNP管类似,只是红、黑表笔的作用相反。在测量发射极、集电极间电阻时,由于基极开路时三极管的击穿电压很小,就很容易出现发射结击穿的现象。3.2.2发声音调变化原理蜂鸣器主要为无源和有源蜂鸣器两种,此次选用的是有源蜂鸣器。有源蜂鸣器的工作发声原理为电流流过线圈,线圈周围产生磁场,在磁场的驱动作用下薄膜发生震荡,从而发出的声音。需要注意的是由于单片机I/O口的输出电流和放大电流均不大,因此通过其传递给蜂鸣器的放大电平并不能使蜂鸣器被驱动,因此想要实现驱动蜂鸣器则需要在蜂鸣器中添加一个具有放大电流功能的装置。如图3所示。蜂鸣器的负极与地相连,正极与三极管的集电极相连,三极管的基级与单片机的引脚之间通过限流电阻相连,当单片机的引脚为高电平输出时,三极管不工作,线圈中不再有电流通过,蜂鸣器也就不会发声。例如,当一个单片机引脚向蜂鸣器输出一个低电平时,三极管则会导通状态,经过蜂鸣器的电流而形成了一个回路,便能够产生声音。因此可通过编程控制引脚的电平来控制蜂鸣器发声[4]。图3发声电路蜂鸣器声音发生变化主要是通过PWM输出高低电平不同的频率,经频率进行转换实现音调的变化。因为PWM频率信号不同,音调也不相同,所以在此次设计中采用了定时器控制PWM频率的方式。3.3按键电路按键电路是单片机在电子琴系统中最为重要的输入装置,它在系统中起着将输入信号直接传递给单片机的重要功能。所以当按键被输入到程序内部时,我们应该做到以下几点:一是检测有没有按键按下。(通过对高低电平两种状态进行检测,确认按键的状态)二是判断什么按键按下的;三是完成按键处理的任务。从电路或软件的角度应该解决的问题:(1)消除抖动。由于接触点的弹性运动作用,按键在按下和松开的时候会产生抖动(震荡),抖动持续的时间是由其各种机械特性决定,一般为5-10ms。抖动过程会产生的信号波动致使CPU误解引起误处理,所以需要消除抖动的影响。一般来说,按键消抖有软件消抖和硬件消抖两种消除方式,按键数量较少的情况适用于硬件消抖动,硬件消抖的方式无法处理键数量比较多的情况,这种情况下就需要采用软件消抖的方式。采用软件延时是软件消抖常用的方法,当系统扫描到有按键按下时,就会进行相应的处理,消除抖动的影响[13]。(2)串键防护。串键是指同时有一个以上的按键按下,它们会引发CPU的错误反馈。通常所采用的方法是设置单个键按下有效,多个键同时按下是无效的。(3)连续点击(连击)问题。连击就是按下一次按键会产生多次按下按键的效果。对于按键释放进行处理,让一次按键仅执行一次按键的功能(无论一次按键所持续时间是多少,仅采集一次数据)。为了对这部分控制电路进行综合设计,使单片机能最合理地应用端口,决定采用独立式按键,按键中全部都是采用上拉电阻,当使用者没有按下按键时,单片机相连接的另外一端输出信号就是高电平,当使用者按下按键时,输出的信号是低电平,采用扫描方法是通过低电平逐步扫描。根据这样的设计思路,设计出了按键控制电路框图如下图4所示。图4按键电路3.4晶振电路晶振一般全称为晶体谐振器,其主要作用在于产生原始的时钟频率,这个频率在经过频率发生器的放大或者缩小后就变成了不同的总线频率。晶振属于机电电子元件,是利用一些电损耗很小的石英晶体经过切磨削工艺加工后,引线加工制造而成。这种晶体本身具有一个很重要的物理学特征,是给它一次通电后,它自然而然地就会对其内部环境产生一种非常机械性的振荡,反之,如果给它一种非常强的机械振荡力,它又可能会对其内部产生一次电,这样的物理学特性又被称我们称为机电效应。根据这种类型的石英离子晶体的机电谐波效应,大致认为我们可以把它等效为一个能够产生电磁谐波振荡的回路,即谐振回路。在电路中的一个主要应用是把它们都当成了一个电磁谐振的回路,因为对石英晶体的损耗很小,作为振荡器使用时,可以直接产生十分稳定的振荡频率;作为滤波器使用时,可以得到非常稳定和陡削的带通或有带阻率的曲线。在本系统中,采用了12MHz晶振电路,如图5所示。图5晶振电路3.5OLED显示有机电致发光器件(OLED)是一种具有低电压、高电流的双注入式晶体发光器件。在这个结构中,电子传输层输出电子,空穴注入层来提供空穴[6],在发射层和传导层的交界处,空穴和电子在外加电场驱动下,克服器件界面上的势垒,分别由阳极和阴极注入到OLED中,两种载流子在电场的作用下迁移到有机层发生复合,产生激子,激子发生迁移,将能量以辐射衰减的方式释放能量,使OLED发光。光的颜色取决于发射层有机物分子的类型,如果在同一片OLED上放几种有机薄膜,就可以构成彩色显示器。施加电流的大小由光的亮度或强度决定,显示器承受的电流越大,其发光的亮度就越高。其原理图如图6所示。图6OLED发光器件OLED的优点:核心层厚度小得多;制作工艺相对简单,制造成本更低;组成为全固态结构,所以抗震动性强,可实现柔软显示;OLED可以自身发光,所以相比液晶显示器其亮度更高,对比度更大,色彩效果更加丰富;需要电压低,基本上没有视角问题,而且显示画面不失真;快速响应的特性;发光转化效率高;环保效益更佳。能够安全触摸,属于经典的绿色照明源;OLED器件单个像素可以很小,十分适合应用在微型的显示设备中。
第4章系统的软件设计4.1软件设计思想本系统设计主要是选用stm32单片机为系统的主控芯片,和外围的扩展电路如蜂鸣器、按键、显示等元件,共同组成一个采用可编程控制的显示系统。利用定时器进行控制,能够分别发出不同输出频率的信号脉冲,然后经过蜂鸣器驱动滤波电路分别进行小波放大和高频滤波后,就能够发出不同频率的音调。通过按下不同的键盘可发出不同的音调,从而可以达到音乐编曲的目的。根据系统的硬件设计,可将软件管理系统可划分为主程序、定时计数式中断程序、时间调节或者是定闹设置程序三个模块,并且在进行程序设计的过程中,增加了一些提高软件抗干扰能力的措施。4.2音乐的产生4.2.1音符与频率每一个音阶在一个单片机上都有自己所对应的频率,音阶不同相对应的频率也不同,所以一首由不同的音阶所构成的单片机音乐也可以说是由许多不同的频率信号共同组合在一起构成的。想要充分地利用单片机表达一首好的音乐,就必须需要使用其内部的定时计数器功能来产生各种频率方波信号,由于单片机产生各种频率方波信号十分便捷,因此我们只需把所有构成音乐的声道中各个音阶和频率所对应的关系都弄清楚即可。现在以单片机12MHz的晶振输出频率变化为例,首先给出了高、中、低音符和晶振频率之间的变化关系,具体见下面的表1。为声调相应的音符信息设置一个表格,有助于单片机检测时从表格中快速获取和分析处理相应的信息。表1音符与频率音符频率/Hz音符频率/Hz音符频率/Hz低音1(DO)262中音1(DO)523高音1(DO)1046低音1#(DO#)277中音1#(DO#)554高音1#(DO#)1109低音2(RE)低音2#(RE#)低音3(MI)低音4(FA)低音4#(FA#)低音5(SO)低音5#(SO#)低音6(LA)低音6#(LA#)低音7(SI)294311330349370392415440466494中音2(RE)中音2#(RE#)中音3(MI)中音4(FA)中音4#(FA#)中音5(SO)中音5#(SO#)中音6(LA)中音6#(LA#)中音7(SI)587622659698740784831880932988高音2(RE)高音2#(RE#)高音3(MI)高音4(FA)高音4#(FA#)高音5(SO)高音5#(SO#)高音6(LA)高音6#(LA#)高音7(SI)11751245131813971480156816611760186519764.2.2单片机如何产生音频脉冲想要使得能够精确地产生一个数字音频的脉冲,只需要通过计算得出某个数字音频的脉冲持续周期(1/频率),再将这个数字音频的脉冲持续周期除以2,就是半个数字音频周期的脉冲持续时间。每当一个计时工作停止后就把引脚进行一次反相,然后重复进行计时引脚再反相,这样就可以从引脚上获取这个特定频率的信号脉冲。利用特殊功能寄存器,通过编写的程序来控制一个单片机内部的定时器,使其能够正常地工作在一个计数器的模式下,可以通过改变计算得出的各种计数值信号来自动产生不同频率的信号,从而自动地产生不同的声音。假如频率是587Hz,其周期,所以只要让计数器计时次,每次计数满852次将I/O引脚反相,就能够得到中音RE的计数值[7]。计数脉冲值和频率之间的关系公式:(4-1)式中,N—计数值;fi—机器频率(晶振为12MHz时,频率为1MHz);fr—需要产生的频率。计数值T的计算结果如下:(4-2)例如:设fi=1MHz,求低音RE(294Hz)、中音RE(587Hz)、高音RE(1175Hz)的计数值T。(4-3)低音RE:(4-4)中音RE:(4-4)高音RE:(4-5)12MHz晶振的单片机,高、中、低频音符和计数器之间相应的计数值,详见下表2所示。
表2音符与计数值音符计数值音符计数值音符计数值低音1(DO)低音1#(DO#)低音2(RE)低音2#(RE#)低音3(MI)低音4(FA)低音4#(FA#)低音5(SO)低音5#(SO#)低音6(LA)低音6#(LA#)低音7(SI)636286373163835639286402164103641856426064331644006446364524中音1(DO)中音1#(DO#)中音2(RE)中音2#(RE#)中音3(MI)中音4(FA)中音4#(FA#)中音5(SO)中音5#(SO#)中音6(LA)中音6#(LA#)中音7(SI)643806463364684647326477764820648606489864934649686599465030高音1(DO)高音1#(DO#)高音2(RE)高音2#(RE#)高音3(MI)高音4(FA)高音4#(FA#)高音5(SO)高音5#(SO#)高音6(LA)高音6#(LA#)高音7(SI)6505865085651106513465157651786519865217652356525265268652834.2.3节拍的产生对于音调的自动控制:根据不同的按键,对定时器输出一个不同的初值,调节定时器的溢出时间,这样就能够实现对于不同的音调频率上的方波进行输出。不同声调下的各个音阶上的定时器。在此次程序中使用到两个定时/计数器进行操作是很简单的[2]。其中一个是用来确定产生声乐的音符频率,一个是用来确定产生声乐的节奏。音乐的节拍以c调一个的节拍作为计量单位,如下表3所示。表3曲调值表1/4节拍的时间1/8节拍的时间曲调值4/43/42/4DELAY125ms187ms250ms曲调值4/43/42/4DELAY62ms94ms125ms4.3系统程序设计按照设计的目标和要求,让CPU在编写好的程序中运行,然后将CPU执行的操作按照编程顺序写在方框里,并用带指向的直线把程序框连接起来,显示出CPU执行的工作过程,把这种用方框表示出CPU操作过程的图称为程序框图或程序流程图。(1)主程序流程。如图7。图7主程序流程图通过检测判断是否有按键被按下,是则继续识别该键的键值并跳转到功能程序;否则回到按键扫描继续检测。对被检测到的按键值进行判断,如果是音键就跳转到相应的音键处理程序;如果是功能键就跳转到功能处理程序。此次设计的功能程序有自动播放乐曲功能、暂停功能和重置功能。通过检测到的按键值,查找音符表然后给定时器赋值,再发出相应频率的声音。(2)弹奏音乐的流程1)按键识别和处理按键识别每个按键都有一个值,就是我们可以通过对按键值进行识别,然后再通过接口与cpu之间进行信号通讯。每个按键的工作状态都会被分别转化为两个相应的数字量"0"和"1",开关则是通过一个相应的电阻器来连接到vcc,而且它们的工作接地则都是通过在应用程序中所需要输入的两个数字"0"来进行实现。通过接口与cpu进行通信。每个按键的工作状态都会被分别转化为两个数字量"0"和"1",开关则通过一个电阻来连接vcc,而且它们的接地则是通过在应用程序中所输入的数字"0"来实现。按键处理程序的其中一个任务就是:首先确定哪个键被按下,判断什么时候才会被按下,键它的作用是什么;同时还需要要消除按键按下的时候和松开时的抖动情况。I/O口输出扫描,使按键逐行动态接地并输入按键状态,并且由扫描值和回馈信号共同去识别按键,通过软件程序获得按键的功能使用[8]。2)按键弹奏的流程.如下图8。图8弹奏的流程图(3)播放存储音乐的流程图9自动播放的流程图
第5章电路调试5.1PCB制作5.1.1原理图设计电路原理图的设计流程,如图10所示。图10原理图设计的基本流程5.1.2电路板设计1.PCB布局与布线基础元件的布局不但会影响PCB的美观,而且也会影响到电路的运行性能,所以在设计时要特别注意规划。电路板布线时也要遵循其基本原则。2.制作元件封装与创建封装库不同的元件之间可以共用一个或多个封装,也就是我们可以使用不同的单片机进行封装,因此画印制电路板时,不仅需要知道元件的名称,还需要知道它的封装形式。在软件AltiumDesigner自带的封装库中,包含了丰富多样的元件封装类型,但是由于各种新器件和特殊器件的出现,使得软件自带的封装库中也不能保证找到所有封装形式,所以需要自己制作元件封装。其封装库具体流程如图11。最后建立的封装图见附录1。图11元件封装制作流程5.2硬件调试5.2.1电路的检查硬件测试主要是对单片机部件进行调试。在进行通电前,确认各种电路中元器件按照电路图所示安装正确,并且不会出现短路或者断路等情况,这些都是进行通电操作的第一步,也可以说是很重要的一步。在对硬件电路测试进行通电前,首先要确认各种电路中元器件按照电路图所示安装正确,并且不会出现短路或者断路等情况,这些都是进行通电操作的第一步,也可以说是很重要的一步。该部分主要采用万用表进行测量,其可以检测出电路中的各种问题,主要体现在焊点与焊点之间的短接,焊点的美观度等,确保不会出现开路和短路的情况。如果检查电路无误后就可以通电。观察电路板上线路是否出线虚焊漏感等情况,在确认电路板焊接无误后进行下一步检测OLED发光器件显示部分及音频变换电路的软硬件进行调试。5.2.2测试显示模块对显示模块的测试,主要是为了验证显示模块是否能在按下自动播放按键后,蜂鸣器发出声音时,OLED能显示出相应的数字。具体测试的步骤如下:首先,检测所有焊接到电路板上的线路连接有无任何错误,有没有出现虚焊、漏焊等缺陷的地方,在确认了电路板的连接、焊缝都不存在任何问题后再开始进行下一步。然后,接通了电源后,电源指示灯点亮,按下任一个音阶的按键后扬声器会自动发出一个与对应的声音数码管会自动显示一个与对应声音的数字。系统正常运行,电子琴的通电状态良好。最后,按下自动播放按键,观察OLED是否可以显示出与蜂鸣器发声相对应的数字,如果可以显示出正确的数字就说明测试成功。如果没有成功,就需要检查编程中是否有错误。5.2.3测试播放模块对于播放模块进行测试,主要目的就是为了检查播放模块能够在按一个键之后就能够播放出与其相应的声音。测试步骤详细说明如下:首先,检测所有焊接到电路板上的线路连接都有无任何错误,有没有出现虚焊、漏焊等缺陷的地方,在确认了电路板的连接、焊缝都不存在任何问题后再开始进行下一步。然后,接通系统电源,打开开关,蜂鸣器就会发出DO到SI的音阶。最后,按下扬声器键盘上的任何一个音阶听取蜂鸣器器发出是否会有相应的声音阶,如果正确地发出这个声音阶将被认为说明测试成功。如果若未成功,需要在程序中检查是否存在错误进行修改完善。当按下任意音量键时,若蜂鸣器可以播放出对应音节则说明音节测试成功,如果没有成功,就需要检查编程是否存在错误,然后继续进行完善。5.3综合调试对各部分模块调试完成后,还需要再对硬件进行整体调试。在没有通电情况下,硬件电路的情况如图12所示。图12未通电情况下电子琴实物图然后接通电源,打开开关,电源指示灯亮起蓝光,按下自动播放的音键后,蜂鸣器发出相应的音阶,OLED显示出对应音阶的数字。在系统正常工作下,电子琴通电状态下的情况如图13。图13通电状态下电子琴实物经过测试,系统可以正常工作,任务书中需要的功能基本能够实现,电子琴符合设计的要求。
第6章总结与展望6.1总结本次毕业设计任务是设计一个多功能玩具电子琴。在设计的过程中,要学会元件的选择和使用,stm32单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产专项活动方案
- 供电公司反腐倡廉危险源点分析预控工作实施方案
- 2024届福建省宁德市第一中学高三第一次检测英语
- 上海市宝山区重点名校2026年普通高中毕业班综合测试(二)数学试题含解析
- 四川省绵阳市绵阳外国语校2026届初三下学期总复习质量调查(二)物理试题含解析
- 2026年浙江省台州玉环初三年级第二学期阶段测试英语试题含解析
- 甘肃省兰州市七里河区2025-2026学年初三下学期开学摸底(文理合卷)语文试题含解析
- 江西省赣州市南康区重点中学2025-2026学年全国初三模拟考三全国I卷英语试题含解析
- 陕西省西安市雁塔区电子科技中学2026届初三3月调研考试英语试题含解析
- 催产素点滴护理的持续改进
- 安踏内部审计制度
- 《工程总承包(EPC)项目审计操作指南(试行)》
- 2026年江苏省公务员考试《申论》试卷及参考答案
- 2026年宁夏石嘴山市单招职业适应性测试题库(含答案详解)
- 煤气管道动火作业施工方案
- 《慢性支气管炎诊断与治疗指南(2025年版)》
- 个体化胚胎移植临床实践指南2026
- 应急响应团队能力提升路径-洞察与解读
- 0-6岁儿童行为预警及早期干预手册
- 水运工程结构防腐蚀施工规范 JTS-T 209-2020
- 带状疱疹后遗神经痛的中医治疗
评论
0/150
提交评论