久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3175|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

激光豎琴怎么實現(xiàn)高中低音的音調(diào)調(diào)節(jié)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:210627 發(fā)表于 2017-9-6 15:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
激光豎琴怎么實現(xiàn)高中低音的音調(diào)調(diào)節(jié)?各位大神跪求指導(dǎo)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:123289 發(fā)表于 2017-9-6 19:42 | 只看該作者
能說說你的“激光豎琴”工作原理碼?
回復(fù)

使用道具 舉報

板凳
ID:164602 發(fā)表于 2017-9-7 08:17 | 只看該作者
從你說的情況看,你是不是只有七根激光弦?所以才要高中低單調(diào)調(diào)節(jié)。
由于不知道你的程序、硬件是什么樣的,也不好多說什么。
只說一點:音樂上的頻率表,其實你自己也是查得到的。
音階頻率表
音階      Octave0 Octave1  Octave2  Octave3
Do  C      262      523     1047     2093
    Db      277      554    1109     2217
Re  D       294      587     1175     2349
    Eb      311       622     1245     2489
Mi  E       330       659     1329     2637
Fa   F      349      698     1397     2794
    Gb      370      740     1480     2960
Sol  G      392       784     1568    3136
    Ab      415       831    1661     3322
La  A       440       880     1760     3520
    Bb      466       923    1865      3729
Si   B       494       988      1976     3951
根據(jù)這個頻率表,設(shè)計和編程,當(dāng)然,至少還得加一個按鍵什么的,就可以讓你的七弦,變成N弦了
回復(fù)

使用道具 舉報

地板
ID:210627 發(fā)表于 2017-9-8 11:32 | 只看該作者
yzwzfyz 發(fā)表于 2017-9-6 19:42
能說說你的“激光豎琴”工作原理碼?

通過對光敏電阻阻值的改變,用單片機(jī)產(chǎn)生不同的頻率,發(fā)出音樂的7種音調(diào)
回復(fù)

使用道具 舉報

5#
ID:210627 發(fā)表于 2017-9-8 11:35 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2017-9-7 08:17
從你說的情況看,你是不是只有七根激光弦?所以才要高中低單調(diào)調(diào)節(jié)。
由于不知道你的程序、硬件是什么樣的 ...

#include "reg52.h"
#include "intrins.h"

sbit SPK    = P3^4;
sbit LED_L  = P3^7;
sbit LED_M  = P3^6;
sbit LED_H  = P3^5;
sbit KEY    = P3^3;

#define KEYDELAY 20
#define KEY_PORT P2
#define LED_PORT P1

bit FT_1ms,FT_250ms;
bit F_PlaySong,F_PlayTone,F_KeyDelay,F_Tone,F_KeyUp,F_Music_Ide;
unsigned char Freq_H,Freq_L,SongLen,PlayIde,i;
unsigned char KeyBuf,KeySure,KeyDelay_Cnt,Timer1_Cnt,KeyDelay_Cnt1;
unsigned char k,Time,PortTemp;

                         //世上只有媽媽好數(shù)據(jù)表
code unsigned char MUSIC[]={6,2,6,     5,2,2,      3,2,4,    5,2,4,    1,3,4,    6,2,2,    5,2,2,
                            6,2,8,      3,2,4,      5,2,2,    6,2,2,    5,2,4,   3,2,4,    1,2,2,
                            6,1,2,      5,2,2,      3,2,2,    2,2,8,    2,2,6,   3,2,2,    5,2,4,
                            5,2,2,      6,2,2,      3,2,4,    2,2,4,    1,2,8,   5,2,6,    3,2,2,
                            2,2,2,      1,2,2,      6,1,2,   1,2,2,    5,1,12,   0,0,0
                            };
/***********************生日快樂**********************/
code unsigned char MUSIC1[]={
                                 5,1,2, 5,1,2, 6,1,4, 5,1,4, 1,2,4, 7,1,8,
                                 5,1,2, 5,1,2, 6,1,4, 5,1,4, 2,2,4, 1,2,8,
                                 5,1,2, 5,1,2, 5,2,4, 3,2,4, 1,2,4, 7,1,4,
                                 6,1,8, 4,2,2, 4,2,2, 3,2,4, 1,2,4, 2,2,4,
                                 1,2,12, 0,0,0};

                         // 音階頻率表 高八位
code unsigned char FREQH[]={
                                0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
                                0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
                                0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
                                0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,
                               } ;
                         // 音階頻率表 低八位
code unsigned char FREQL[]={
                                 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
                                 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
                                 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,
                                 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,
                                };

void TimerInit(void)
{   
    TMOD = 0x11;
    TH1  = (65536 - 1000) / 256;
    TL1  = (65536 - 1000) % 256;
    ET0  = 1;
    ET1  = 1;
    TR0 = 1;
    TR1  = 1;
    EA   = 1;
}
void ScanKey(void)
{
    if(F_KeyDelay)
    {
        KeyDelay_Cnt --;
        if(KeyDelay_Cnt == 0)
        {
            F_KeyDelay = 0;
            KeySure = KeyBuf;
            F_KeyUp = 1;
        }        
    }
    if(KeyBuf != KEY_PORT)
    {
        KeyBuf = KEY_PORT;
        KeyDelay_Cnt = KEYDELAY;
        F_KeyDelay = 1;
    }

    if(!KEY)
    {
        KeyDelay_Cnt1 --;
        if(KeyDelay_Cnt1 == 0)
        {
            if(F_PlaySong == 0)
                {
                F_Music_Ide = !F_Music_Ide;
                F_PlaySong = 1;
                i = 0;
                }
        }
    }
    else
    {
         KeyDelay_Cnt1 = KEYDELAY;
    }
    if(PlayIde == 1)
    {
        LED_L = 1;
        LED_M = 0;
        LED_H = 1;
    }
    if(PlayIde == 2)
    {
        LED_L = 1;
        LED_M = 1;
        LED_H = 0;
    }
    if(PlayIde == 0)
    {
        LED_L = 0;
        LED_M = 1;
        LED_H = 1;
    }
}
void main(void)
{
    TimerInit();
    F_PlayTone = 0;
    PortTemp = 0x7f;
    for(i = 0;i < 7;)
    {
        if(FT_250ms)
        {
            FT_250ms = 0;
            i++;
            PortTemp = _crol_(PortTemp,1);
            LED_PORT= PortTemp;
        }
    }
    for(i = 0;i < 7;)
    {
        if(FT_250ms)
        {
            FT_250ms = 0;
            i++;
            PortTemp = _cror_(PortTemp,1);
            LED_PORT= PortTemp;
        }
    }
    LED_PORT = 0xff;
    i = 0;
    while(1)
    {
        if(FT_1ms)
        {
            FT_1ms = 0;
            WDT_CONTR = 0x38;
            ScanKey();
            if(F_PlaySong)
                {
                if(FT_250ms)
                    {
                    FT_250ms = 0;
                    if(Time > 0)
                            {
                        Time --;
                            }
                    else
                            {
                        PortTemp = 0x01;
                        F_PlayTone = 1;
                        if(F_Music_Ide)
                                {
                            k = MUSIC + 7 * MUSIC[i + 1] - 1;//去音符振蕩頻率所需數(shù)據(jù)
                            PlayIde = MUSIC[i + 1] - 1;
                            PortTemp <<= (MUSIC-1);
                            Time = MUSIC[i+2] - 1;          //節(jié)拍時長           
                            if(! MUSIC)
                                        {
                                    i = 0;
                                F_PlaySong = 0;
                                LED_PORT = 0xff;
                                F_PlayTone = 0;
                                    SPK = 1;
                                PlayIde = 1;
                                Time = 4;
                                        }
                                }
                            else
                                {
                            k = MUSIC1 + 7 * MUSIC1[i + 1] - 1;//去音符振蕩頻率所需數(shù)據(jù)
                            PlayIde = MUSIC1[i + 1] - 1;
                            PortTemp <<= (MUSIC1-1);
                            Time = MUSIC1[i+2] - 1;          //節(jié)拍時長     
                            if(! MUSIC1)
                                        {
                                    i = 0;
                                F_PlaySong = 0;
                                LED_PORT = 0xff;
                                F_PlayTone = 0;
                                    SPK = 1;
                                PlayIde = 1;
                                Time = 4;
                                        }
                                }
                        PortTemp = ~PortTemp;
                        LED_PORT = PortTemp;
                        Freq_H = FREQH[k];
                        Freq_L = FREQL[k];
                        i = i + 3;
                    }                              
                    }
                }
            else
            {               
                switch(KeySure)
                    {
                           
                    case 0x81:  F_Tone = 0;F_PlayTone = 1;  Timer1_Cnt = 0;k=0; LED_PORT = 0xfe;
                        break;
                    case 0x41:  F_Tone = 0;F_PlayTone = 1;  Timer1_Cnt = 0;k=1; LED_PORT = 0xfd;
                        break;
                    case 0x21:  F_Tone = 0;F_PlayTone = 1;  Timer1_Cnt = 0;k=2; LED_PORT = 0xfb;
                        break;
                    case 0x11:  F_Tone = 0;F_PlayTone = 1;  Timer1_Cnt = 0;k=3; LED_PORT = 0xf7;
                        break;
                    case 0x09:  F_Tone = 0;F_PlayTone = 1;  Timer1_Cnt = 0;k=4; LED_PORT = 0xef;
                        break;
                    case 0x05:  F_Tone = 0;F_PlayTone = 1;  Timer1_Cnt = 0;k=5; LED_PORT = 0xdf;
                        break;
                    case 0x03:  F_Tone = 0;F_PlayTone = 1;  Timer1_Cnt = 0;k=6; LED_PORT = 0xbf;
                        break;
                    case 0x00:        
                                if(F_KeyUp)
                                            {
                                    F_KeyUp = 0;        
                                    PlayIde++;        
                                    if(PlayIde == 3)
                                                {               
                                        PlayIde = 0;
                                                    }
                                            }
                        break;
                    default:         
                        break;
                }         
                Freq_H = FREQH[(PlayIde * 7) + k];
                Freq_L = FREQL[(PlayIde * 7) + k];
                if(F_Tone)
                    {
                    F_Tone = 0;
                    F_PlayTone = 0;
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91精品亚洲 | 欧美综合一区二区三区 | 色橹橹欧美在线观看视频高清 | 久久久夜夜夜 | 日韩在线不卡 | 日韩在线观看网站 | 草久久久| аⅴ资源新版在线天堂 | 久草网站 | 国产精品一区二区三区在线 | 免费一级毛片 | 成人精品久久日伦片大全免费 | 欧美久久久电影 | 日韩不卡一区二区 | 国产精品久久久久久福利一牛影视 | 情侣酒店偷拍一区二区在线播放 | 欧美高清hd | av一区二区三区四区 | 日韩成人在线观看 | 在线日韩| 亚洲欧美中文日韩在线v日本 | 成人三级网址 | 中文字幕精品一区 | 国产欧美在线视频 | 99热播精品 | 亚洲91视频 | 欧美国产日韩一区 | 91久久精品日日躁夜夜躁欧美 | 中国大陆高清aⅴ毛片 | 久久久久久久久一区 | 国产欧美一级 | 欧美日韩精品在线一区 | 亚洲人成人一区二区在线观看 | 欧美一区中文字幕 | 欧美一区2区三区3区公司 | 精品久久久久久亚洲综合网 | 久久精品视频免费观看 | 精品国产乱码一区二区三 | 精品免费国产一区二区三区四区 | 欧美精品久久久 | 农夫在线精品视频免费观看 |