《基于51单片机的激光竖琴设计》由会员分享,可在线阅读,更多相关《基于51单片机的激光竖琴设计(39页珍藏版)》请在金锄头文库上搜索。
1、基于51单片机的激光竖琴设计组长:赵唐橙组员:杜晨 杨霄 周凯龙2018年 07月 05 日目录基于51单片机的激光竖琴设计1背景与意义2设计要求3硬件电路设计与实现43.1 硬件设计方案43.2 相对应得模块电路的规划思路与实现方法53.2.1 单片机最小系统53.2.2 激光发射模块93.2.3 激光接收模块103.2.4 发声模块113.2.5 LED指示灯133.2.6 电源供电143.2.7 模式切换15软件设计与实现154.1 软件设计方案154.2 各模块程序设计与实现174.2.1 硬件资源配置174.2.2 端口信号检测2042.3 数据处理204.2.4音符输出214.2.
2、5 LED音符与音区指示214.2.6 播放音乐部分224.2.7模式切换234.3 软件开发工具介绍24测试与分析25程序部分25硬件部分26实物图27总结与展望29附录29附录A 主程序29附录B 整体电路图38背景与意义在这个时代,科学技术的飞速前进带动了人们的生活水平的提升,使人类生活更加精彩。电子琴可以称得上是这两者融合的体现。MCU(Micro Unit Unit),我们用汉语来说,可以称之为微控制单元,亦叫做单片机(单片微型计算机)或单片机。它运用的时期并不长,但发展的速度确是非常的快。 在1971年这个时间点,美国英特尔公司有史以来第一个推出了4位微处理器,在接下来的过程中,演
3、变通过了了以下五个进程:单片机开发的开端、低性能的单片机 、高性能的单片机,然后16位的面世。进而就是正在向更高的层次发展。单片机可构成单应用系统和多机应用系统。在现在的这个时期,它已广泛应用于测控系统、智能仪表、机电一体化产品、智能接口、智能化民用产品、功能分布式系统、并行多机控制系统、局域网络系统等方方面面。对于未来,我们始终相信随着MCU性能的不断提高,其应用将超出我们的想象。基于单片机的简易激光琴的设计与实现是可以帮助我们把我们所学的相关技术得意尝试和发挥。在整体设计规划中包括电路分析、数字电路、模拟电路、传感器原理及应用、C编程等。由此可以看出,大体上囊括了在现在学习水平上学到的主流
4、课程。该系统设计原理简明,但样式多彩。通过这样一个流程,可以帮助我们把理论与实际相结合,除了我们上面所说的,也能提高我们的动手能力,使我们勇于创新,知识面也得到了大幅提升, 第一步我们可以在过程中找到问题所在、第二步对这个问题进行思考,这样使我们在以后的学习过程中碰到问题能更得心应手的应对。该系统可以对于MCU的相关功能进行进一步的扩大,在我们现在所了解的情况基下,可以具体的地读出中间和八个音符。可以逐步将其设计为电子琴,儿童玩具,并慢慢渗透进我们的生活。设计要求虚拟琴弦选择激光来完成,当手触碰到琴弦的时候,这个音节就会出现,这样就能够完成对于竖琴演奏简易的曲子的模仿在硬件电路上要各个模块清晰
5、明确,对各模块进行具体分析,以及功能的说明。如激光发射以及接收,最小系统,还有发声模块,从而设计出整体的电路布局。在软件设计过程,要结合硬件电路具体分析,实现硬件资源的合理配置,端口信号的检测和数据的处理。实现手指拨动光束,就会发出对应音符,需要做到得心应手。这个过程要确保无误,有错误要及时发现改正,保证系统能够稳定地运行。程序的编写过程要注意细节,防止出现错误,影响系统的运行。硬件电路设计与实现3.1 硬件设计方案在实现设计的时候,我们必须得将外观的结构的尺寸标准融合来完成设计硬件电路,我们设计硬件系统的规划就是需要真实,有效、简易。对于运行整个系统的通过的关键一点就是可靠性,因此,在电路硬
6、件方面的设计的时候的各个环节都对于系统的平稳以及抗干扰性深入的考虑,系统的简易以及有效其实说的就是硬件系统于很大可靠性的前提下,对于这个硬件的电路进行简易,将这个硬件的性能给提升起来,这样可以完成简易有效的规划。在真实,简易以及有效的原则条件下,不但在选择元器件是便利的,对设计硬件电路也是有益的,还能够降低有些不需要的电路,确保系统稳定。由五个部分所组成的电路的硬件系统,详细查看图3.1.单片机最小系统激光发射部分激光接收部分音频驱动部分电源部分图3-1 结构图(关于这个硬件系统的组成)3.2 相对应得模块电路的规划思路与实现方法对于上一部份全部硬件电路系统的构架已经初步的进行概述,在这个章节
7、之中我们主要是对于构成硬件电路的各个子模块还有其性能以及PCB电路板设计进行详细的概述。接下来是对于整个系统的4部分来进行具体概述。3.2.1 单片机最小系统单片微型计算机其实又可以被简单的叫做单片机。是一个整体的微型计算机。创建一个单片机最小系统,在这个系统之中具有包括这四个层面:分别为STC89C51RC以及是复位电路,还有就是振荡电路I/O接口。图3-1 单片机最小系统构成图复位电路即让寄存器的值变回原始值,复位电路详细可以经有两个渠道,一个是上电复位,一个是外部复位。上电复位于单片机在将电源连接好的时候,复位单片机的功能可以自身达到,外部复位在这里说明,通俗来讲便是由外部手动来达成复位
8、的功能。总的来说此电路其实就是能够自身上电复位(在这地位时),还能够选择运用外部手动的方式来达到复位的目的。实际手动复位很少用到,所以我们把手动复位按键去掉,让电路更简洁。图3-2 复位电路振荡电路众所周知片内的时钟电路还有定时电路可以帮助我们实现所要的定时控制作用,在片内,我们有两种渠道可以达到时钟产生,便是我们大家所说的内部时钟方法以及外部时钟方法这两种,当然我们也可以称为内部振荡器以及外部振荡器这两种。在我们需要选择内部时钟方法的时候,反馈元件的片外晶体振荡器其实是片内的高增益反相放大器经过XTAL1、XTAL2外接来完成的,具体是配合并联谐振回路(这里指过我们的电容所构成的回路)由此来
9、帮助我们一起形成自激振荡器,从而为我们的内部时钟电路输送了一个重要条件。这个条件便是震荡时钟,我们知道震荡器的频率在极大程度上被我们的晶体振荡频率所决定,在通常的情况下,晶体能够在一点二到十二兆赫中选择,电容能够在五到三十pF间选取的,电容的大小其实是可以在一点的程度上小小的影响到振荡频率的,能够发挥频率微微调节的作用运用外部时钟方式时钟的时候,连接到内部时钟电路是经过XTAL2来完成外部振荡信号,这个时候关于我们的内部反相放大器中它的输入端,也就是所说的XTAL1端,它此刻的状态为接地。一般情况下外接振荡信号它的大小,也就是小于十二赫兹,而且信号是方波信号。此时,关于如何制定这个振荡电路,我
10、们应该通过内部时钟,此外对于外部晶体振荡器选择使用十二赫兹,电泳选择的是三十pF。图3-3 振荡电路单片机和I/O接口我们运用的单片机型号是STC89C51RC型的,这个设计的企业是宏晶,它是一个在8051内核的前提下设计的,运用了CMOS生产方式,这个单片机存在低功耗的特征,它存在四个八位的并行输入输出I/O接口:一个是P0,一个是P1,一个是P2,一个是P3(线是三十二个),专门运用对数据进行输入以及输出,另外,它的串行I/O接口数量是一个,这个定时器/计数器是两个十六位,中断系统是五级等。对此,我们需要的片机条件是:首先它得带有一个定时器/计数器,位数为十六。其次便是一个输入输出I/O口
11、,位数为八。在谈到定时器/计数器的时候,无论它是我们单个存在的定时器芯片,亦或是包括在单片机内部的那个所谓的定时器,一般都是存在这些突出点:关于我们的定时器/计数器,如果想要它的运行起来,是可以有多种渠道的,一方面可以是定时方法,另一方面可以是计数的方法。再者就是定时器/计数器的计算数值,毫无疑问它并不是死板的而是可变通,此外关于技术它的max值,自然而然是有限制的,这很大程度上是依靠级数器它的尾数的前提下明确的,计数的最高值将定时的最大值给限定了。能够根据要求的定时以及要求的计数值,在两种情况下,一是定时时间到,再者就是终止计数的这样一个时刻,给予中断这样一个申请指令,来达成我们的主要目的,
12、也就是定时控制。在我们利用到的STC89C51RC单片机中,大家都知道它的定时器是能够编程的,即运作渠道亦或是开启以及终止等等都是能够用于编程来进行控制的,需要经过对于寄存器TMOD、TCON、TH0、TL0、TH1进行设立,并且设立TL1就能过实现的,在对于定时器的工作方法进行设立之后,并且将这个定时器工作开启直呼,定时器是能够对于这个工作方式的独立进行设置的,不会对于CPU进行占用,若是计数器记载满之后,就能过主动的朝着CPU中断系统进行一个操作,也就是请求终止,中断这样一个指令一旦传达下去毫无疑问会那把我们的CPU资源给占用了。图3-4 定时器/计数器结构图3.2.2 激光发射模块关于光
13、敏电阻电路部分,当光线照到光敏电阻的光越强,电阻值就越小。通过给光敏电阻接一个10k的上拉电阻,两个引脚分别接到单片机io口与地。由于激光光束集中,激光照到光敏时,电阻值变小,流过的电流变大,超过上拉电阻,此时io口被拉低。信号为低电平0。图3-5图3-5 激光发射管 图3-6 激光发射电路电路原理图3.2.3 激光接收模块激光接收电路的效果是对我们的激光接收管来进行一个检查,看它是不是能够对于相应的激光束完成我们的接收这样一个操作,实质是经由这样的一个电路把高、低电平信号给我们的单片机P2口运送,这样就可以更好的对于这个蜂鸣器或小型的音响进行控制,完成对于相应频率音频信号这样的一个要求。因为
14、在运用点对点的方法的时候,确切的来说就是一个激光接收管仅仅只可以对于一个激光发射器射出的激光束进行接收,所以若是人体对于一个激光发射器射出的激光束进行阻断的时候,和其对应的极光由于无法接收这个激光束而让电平处于很低的状态,排除这样的状况一般都是属于高电平,这样就形成所要的控制信号,同叫低电平信号。图3-7为激光接收电路原理图,效果其实就是表示这个激光接收电路是不是对于这个激光束可以接收,若是能够接收,那么对应这个发光二极管就不会亮,反之就会发亮。简单说,就是手指遮挡某一个激光束,那个相应的LED就会亮起同时发出相应的音符。图3-7激光接收电路原理图3.2.4 发声模块我们选择了16无源蜂鸣器,
15、音频信号通过IO,经三极管放大后传到蜂鸣器,使蜂鸣器发出相对应的音符。同时在信号输出io口并接了一个3.5MM的音频座,可以由此连接到音箱,效果更佳。无源蜂鸣器图3-8 音频驱动及接口电路原理图如图3-8,J1代表3.5毫米音频接口。单片机P00按程序指令发出特定频率的方波信号,Q1三极管会按此频率导通或截止,将该方波信号传递到蜂鸣器或外接小型音箱带动小的音箱奏出音乐。 关于音区的切换,切换按键由轻触按键与上拉电阻组成。在没按下按键时由上拉电阻输入高电平信号,当按下按键时,电平信号被拉低,变为输入低电平信号。如图3-11所示:图3-113.2.5 LED指示灯 LED音符指示灯,我们在用于弹奏音符的7个激光的对应位置加入了LED作提示灯,当某一个“琴弦”被弹奏时,与之相对应的LED就会亮起。第8个激光作为音区切换功能,可以切换高、中、低三个音区,所以用三个LED分别显示当前处于的音区。”弹“一下就切换一个音区,哪一个LED亮起就说明当前处于哪一个音区。3.2.6 电源供电