站内搜索
发作品签到
标准版

音乐与灯光共舞

工程标签

2.8k
0
0
5

简介

“倾听音乐的流动,感受光影的韵律——音乐与灯光共舞“ 基于51单片机实现音乐盒和流水灯的结合,LED灯可跟随音乐节奏进行闪烁,同时还具有一键切歌、音量可调等功能。

简介:“倾听音乐的流动,感受光影的韵律——音乐与灯光共舞“ 基于51单片机实现音乐盒和流水灯的结合,LED灯可跟随音乐节奏进行闪烁,同时还具有一键切歌、音量可调等功能。

开源协议

Public Domain

(未经作者授权,禁止转载)
创建时间:2024-02-17 19:19:21更新时间:2024-02-23 09:54:51

描述

基本功能

  1. 上电后默认流水灯状态,蜂鸣器不发声;
  2. 按下切换键后开始蜂鸣器演奏音乐,同时LED灯跟随音乐节奏进行交替闪烁;
  3. 播放过程中按下暂停键可实现音乐的暂停与播放;
  4. 按下切换键可以实现切歌。

原理图

PCB设计

 

 

部分代码

主函数:
unsigned char state;


void main()
{
    EX_Init();
    InitialSound();
    while(1)
    {
        switch(state)
        {
          case 0:
                    TR0 =0;
                    TR1 =0;    
                    LED1();
                    break;
            case 1:
                    P1 = 0xff;
                    Play(Music_QHC,4,2,185);
            break;
            case 2:
                    P1 = 0xff;
                    Play(Music_AT,4,2,480);
                    break;
            case 3:
                    P1 = 0xff;
                  Play(Music_GZQS,8,2,305);
                    break;
            default:
                    break;
        }
    }
}

外部中断:

sbit Pause = P3^2;        //定义输出管脚
sbit Shift = P3^3;        //定义输出管脚

void EX_Init()
{
    IT0 = 1;
    IT1 = 1;
    EX0 = 1;
    EX1 = 1;
}

 

void EX0_ISR() interrupt 0   //暂停按键功能
{   
    if(Pause == 0)
    {
        DelayXms(10);
        if(Pause == 0)
        {
            TR0 =~TR0;
            TR1 =~TR1;
        }while(Pause == 0);
    }
    
}

 

void EX1_ISR() interrupt 2   //切换按键功能
{
    DelayXms(10);
    if(Shift == 0)
    {
        state++;
        if(state == 4)
            state = 0;
    }    
}

 

LED跟随音乐:

unsigned int LED_Time;

void BeepTimer0(void) interrupt 1    //音符发生中断
{
    BeepIO = !BeepIO;
    TH0 = Sound_Temp_TH0;
    TL0 = Sound_Temp_TL0;
    LED_Time++;
    if(LED_Time == 200)
    {
        LED_Time = 0;
        P1 = ~P1;
        P1 = _irol_(P1, LED_Temp/100%10);
    }
}

实物展示说明

 

 

 

 

注意事项

  1. 需使用micro usb或type-c进行供电;
  2. 建议先焊接贴片的type-c座,避免被其他直插元器件挡住;
  3. 右侧多留出来的2.54排针为既为备用电源接口,又可配合P3.0和P3.1端子进行烧录;
  4. 旋转电位器可对音量进行调节,但音量过大时易产生刺耳的噪声;
  5. 代码中需进行按键消抖处理,虽然在proteus仿真中没问题,但在实际使用中仍有小概率会按键失灵。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
210ea8e45249e681995c75deddc603bd.mp4
176
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航