基于单片机的音乐喷泉 联系客服

发布时间 : 星期三 文章基于单片机的音乐喷泉更新完毕开始阅读

第三章 喷泉控制系统软件设计

晶闸管L,这个时候,在潜水泵的低速转速下还可以获得额外6档更低的转速。那么相同的原理,我们在中速调速时,如果在调速的周期内电源 全部接通晶闸管TL,则潜水泵低速运转,电源全部接通晶闸管TM,那么则潜水泵以中速运转,那如果在6个电源周期内有N个周期内电源接通晶闸管TM,剩下的(6-N)个周期内电源接通TL,在这样的情况下潜水泵就可以在低速和中速之间来获得6个档为的转速。以此类推,潜水泵在在中速和高速之间又可获得6档转速。由此可知在分时调控接通晶闸管来控制调速的原理下,潜水泵可以获得18档的调速能力。

3.3.2潜水泵开关调速的软件设计

单相潜水泵采用单片机AT89C51控制,单片机的输出端口P2.0、P2.1、P2.2经分别经过反相器与晶闸管的TL、TM、TH端口的控制极连接,当单片机的 控制端口为以是,输出端口触发使得潜水泵开始运转,哪个端口为1时,哪个端口开始工作吗此时其他端口截止停止工作,当P2.0为1时,潜水泵开始低速运转,同理当P2.1为1时,潜水泵开始中速运转,当P2.3为1时,潜水泵开始高速运转。由音乐采集器采集得到的音乐电信号,需要经过傅里叶变换,然后再通过表格查询,找出相对应的幅值所对的分贝数,得到音乐音频信号所应输出的转速的代码,这样潜水泵就开始工作,就会得到根据音乐的频率高低不同而产生喷泉水柱的高低变化。由此我们就可以是潜水泵的转速得到控制,产生相应的变化,已达到我们想要的效果。那么在这里我们也只是再此用生日快乐的音乐程序做为例在,那么在这样的背景音乐下需要控制的潜水泵不同的转速方法如下所示:

我们在设计时希望潜水泵的转速快慢是通过音乐音符频率的高低来控制其变化的,那么我们让每一个音符去对应一种转速代码。

b7b6b5 不使用

在调速程序中,潜水泵电机的转速代码我们用的时候8位数据来表示。分别为低速转速档,中速转速当和告诉转速档,我们用b4b3={00B,01B,10B,11B}来表示,当接通档次为00B时,在转速代码设定的接通比例内接通晶闸管TL,接通比例外不接通晶闸管;由此可知,转速代码的取值范围为00H-06H,09H-0EH,11H-16H总共十八个代码,其中00H-06H为低速档代码,09H-0EH为中速档代码,11H-16H为高速档代码。所以潜水泵除零速外共有十八档转速。

上面所阐述的方法虽然可以试试是潜水泵拥有十八当的调速能力,但毕竟不仅是万能的,也是存在一些不走之处,也有一些的缺点的。这些缺点就在于:

6

b4b3 接通档次 b2b1b0 接通比例N 第三章 喷泉控制系统软件设计

① 由于潜水泵的转矩它是脉动,从而使得潜水泵在工作的时候会产生非常大的吵闹的噪声,那么在这种情况之下我们为了减少噪音的发出,可以吧潜水泵和水管经行固定,这样可以有效的减少噪声,因为讲转子轴向固定以后就会减少其轴向震动,那么噪声自然就减少了。

② 如果潜水泵接通低速档调速是,若接通的低档比例较低是,潜水泵主轴出现蠕行,而造成无法正常的工作,所以我们采取的措施是要适当的去掉一些最低接通比例的代码,来限制最低调速。然后必须要保留下来转速较高的十五档转速。采用改进的控制位波形和限制最小转速代码两个方法以后,潜水泵在喷泉的应用当中,就可以发挥其良好的性能,得到稳定的调速一节调节水柱高低的景观效果。

3.4控制电磁阀软件设计模块

控制阀主要是控制喷池花型

控制电磁阀子程序模块

DIAN: MOV A,31H; 求出花型数据 ADD A,32H ADDC A,33H

MOV 34H,A; 保存起来

MOV DPTR, #0F700H;指向1#8155命令口 MOV A, #3H; 设置命令字 MOVX @DPTR, A

INC DPTR; 指向1#PA口

MOV A,34H

MOVX @DPTR,A; 高电平口使电磁阀有电 INC DPTR; 指向1#PB口 MOV A,R7 MOVX @DPTR, A RET

7

第三章 喷泉控制系统软件设计

3.5 歌曲存储模块

3.5.1音频脉冲的产生

首先要计算出一个音频的二分之一个周期是多少,然后通过定时器去计量这半个周期的时常,每次计时结束以后将I/O反相,然后重新开始循环往复在反向。这样就可以得到音频的脉冲。只要令计数器计时956μs/1μs=956,每956次将I/O反相一次,就可得到中音DO(523Hz)。

音符 低1DO #DO# 低2RE #2RE# 低3M 低4FA #4FA# 低5SO #5SO# 低6LA #6 低7SI 中1DO #1DO# 中2RE #2RE# 中3M 中4FA 频率Hz 262 277 294 311 330 349 370 392 415 440 466 494 523 554 587 622 659 698 简谱码(T值) 63628 63731 63835 63928 64021 64103 64185 64260 64331 64400 64463 64524 64580 64633 64684 64732 64777 64820 #4FA# 中5SO #5SO# 中6LA #6 中7SI 高1DO #1DO# 高2RE #2RE# 高3M 高4FA #4FA# 高5SO #5SO# 高6LA #6 高7SI 740 784 831 880 932 988 1046 1109 1175 1245 1318 1397 1480 1568 1661 1760 1865 1967 音符 频率Hz 简谱码(T值) 64860 64898 64934 64968 64994 65030 65058 65085 65110 65134 65157 65178 65198 65217 65235 65252 65268 65283 表3.1 C调各音符频率与计数值T的对照表

一个字节代表了一个音符,高四位是音符音调高低,第四位则是音符的节拍。表3.2节拍与节拍码的对照。假设1/4节拍是0.1秒, 1/4拍的节拍时间为DELAY,那么1拍应为4DELAY。其余的节拍就是1/4拍的倍数,如表3.3为1/4和1/8节拍的时间设定。

8

第三章 喷泉控制系统软件设计

表3.2 节拍与节拍码的对照

表3.3 各调1/4节拍的时间设定

简谱 5 6 7 1 2 3 4 5 发音 低音 低音 低音 中音 中音 中音 中音 中音 T值 64260 64400 64524 64580 64684 64777 64820 64898 简谱码 1 2 3 4 5 6 7 8 简谱 6 7 1 2 3 4 5 发音 中音 中音 高音 高音 高音 高音 高音 高音 简谱码 9 A B C D E F 0 T值 64968 65030 65058 65110 65157 65178 65217 表3.4简谱对应的简谱码、T值

3.5.2音乐程序

首先根据表中所给的数据来建立一个T值表,然后根据这个表来建立一个TABLE1,得到一个发音表的基数值然后放在表中;简谱码(音符,参照表3.4)

9