#define TLEDS 20//每个花样状态持续时间,以50mS为单位

#define NUM_OF_LED_S 4//每种模式LED花样数?

typedef unsigned char uchar;

typedef unsigned int uint;

data uchar led_array_num;//当前模式下,LED花样状态序号

data uchar music_array_num;//音符的序号

data uchar i;//模式号

data uchar t_count_led;//用于LED状态持续时间计时

data uint t_count_music;//

data uint t_yinfu;//音符持续时间

uchar code led_array_p0[4][NUM_OF_LED_S]={{0xc0,0xc0,0xc0,0xc0},{0x38,0x38,0x38,0x38},{0x05,0x07,0x02,0x07},{0xff,0x81,0xff,0xff}};

uchar code led_array_p2[4][NUM_OF_LED_S]={{0x07,0x0b,0x0d,0x0e},{0x07,0x09,0x0e,0x00},{0x06,0x09,0x06,0x00},{0x07,0x09,0x0e,0x00}};

uchar code music_array_h[4][128]={{0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfe,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,

0xfc,0xfc,0xfc,0xfc,0xfc,0xfd,0xfd,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfe,0xfd,0xfd,

0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc,0xfc,0xfd,0xfc},

{0xfc,0xfc,0xfd,0xfc,0xfc,0xfc,0xfd,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfd,

0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfd,0xfc,0xfc,0xfd,0xfc},

{0xfb,0xfb,0xfb,0xfb,0xfc,0xfc,0xfb,0xfb,0xfb,0xfb,0xfc,0xfc,0xfb,0xfb,0xfd,0xfd,0xfc,0xfc,0xfb,0xfd,0xfd,

0xfd,0xfc,0xfc,0xfc},

{0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,

0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfd,0xfc,0xfc,0xfc}};

uchar code music_array_l[4][128]={{0x43,0x43,0x43,0x08,0x81,0x81,0x81,0x81,0xc7,0xc7,0xc7,0x21,0x81,0x33,0x33,0x33,0xc7,0x08,0x08,0x08,0x81,0xb5,0xb5,0xb5,0xb5,0xb5,0x81,0x81,0x43,0x43,0x43,0x08,0x81,0x81,0x81,0x81,0xc7,0xc7,0xc7,0x21,0x81,0x33,0x33,0x33,0xc7,0x08,0x08,0x08,0x08,0x08,0x81,0xb5,0xb5,0xb5,0xb5,0x08,0x43},{0x43,0xb5,0x08,0x43,0x43,0xb5,0x08,0x43,0x08,0x33,0x81,0x08,0x33,0x81,0x81,0xc7,0x81,0x33,0x08,0x43,0x81,0xc7,0x81,0x33,0x08,0x43,0x43,0x81,0x43,0x43,0x81,0x43},{0x03,0x03,0x8f,0x03,0x43,0x0b,0x03,0x03,0x8f,0x03,0xb5,0x43,0x03,0x03,0x81,0x08,0x43,0x0b,0x8f,0x33,0x33,0x08,0x43,0xb5,0x43},{0x43,0x43,0x81,0x81,0xc7,0xc7,0x81,0x33,0x33,0x08,0x08,0xb5,0xb5,0x43,0x81,0x81,0x33,0x33,0x08,0x08,0xb5,0x81,0x81,0x33,0x33,0x08,0x08,0xb5,0x43,0x43,0x81,0x81,0xc7,0xc7,0x81,0x33,0x33,0x08,0x08,0xb5,0xb5,0x43}};

uint code music_array_t[4][128]={{523,523,523,658,784,784,784,784,880,880,880,1046,784,698,698,698,880,658,658,658,784,593,593,593,593,593,784,784,523,523

,523,658,784,784,784,784,880,880,880,1046,784,698,698,698,880,658,658,658,658,658,784,593,593,593,593,658,523,0},{523,593,658,523,523,593,658,523,658,698,3134,658,698,3134,391,440,391,698,658,523,391,568,391,698,658,523,523,784,1046,523,784,1046,0},{391,391,880,391,523,1486,391,391,880,391,593,1569,391,391,3134,658,523,988,440,698,698,1317,523,593,1569,0},{523,523,784,784,880,880,784,698,698,658,658,593,593,523,784,784,698,698,658,658,593,784,784,698,698,658,658,593,523,523,784,784,880,880,784,698,698,658,658,593,593,523,0}};

void delay(void)

{

uchar c_1;

uchar c_2;

uchar c_3;

for (c_1=0; c_1< 10;c_1++)

for(c_2 = 0;c_2< 10;c_2++)

for(c_3 = 0; c_3<55;c_3++)

;

}

void main(void)

{

led_array_num = 0;

music_array_num = 0;

t_yinfu = music_array_t[0][0];  //初始化

//delay();

i = 0;

TMOD = 0x11;  //定时器工作方式设置

TR0 = 0; //关定时器

TR1 = 0;

TH1 = 0x3c;

TL1 = 0xb0;

P0 = led_array_p0[0][0];//彩灯

P2 = led_array_p2[0][0];

t_count_led = 0;

TH0 = music_array_h[0][0];//音乐

TL0 = music_array_l[0][0];

t_yinfu = music_array_t[0][0];

t_count_music = 0;

IE = 0x8a;

TR0 = 1;

TR1 = 1;

//以下开始扫描按键

while(1)

{

P1_0 = 1;

if(P1_0 == 0)

{

delay();

if(P1_0 == 0)

{

TR0 = 0;

TR1 = 0;

i = 0;//去抖动

led_array_num = 0;

music_array_num = 0;

TH1 = 0x3c;

TL1 = 0xb0;

P0 = led_array_p0[0][0];//彩灯

P2 = led_array_p2[0][0];

t_count_led = 0;

TH0 = music_array_h[0][0];//音乐

TL0 = music_array_l[0][0];

t_yinfu = music_array_t[0][0];

t_count_music = 0;

while(P1_0 == 0)

{

while(P1_0 == 0)

t_count_music = 0;

delay();

}

TR0 = 1;

TR1 = 1;

}

}

if(P1_1 == 0)

{

delay();

if(P1_1 == 0)

{

TR0 = 0;

TR1 = 0;

i = 1;

led_array_num = 0;

music_array_num = 0;

TH1 = 0x3c;

TL1 = 0xb0;

P0 = led_array_p0[1][0];//彩灯

P2 = led_array_p2[1][0];

t_count_led = 0;

TH0 = music_array_h[1][0];//音乐

TL0 = music_array_l[1][0];

t_yinfu = music_array_t[1][0];

t_count_music = 0;

while(P1_1 == 0)

{

while(P1_1 == 0)

t_count_music = 0;

delay();

}

TR0 = 1;

TR1 = 1;

}

}

if(P1_2 == 0)

{

delay();

if(P1_2 == 0)

{

TR0 = 0;

TR1 = 0;

i = 2;

led_array_num = 0;

music_array_num = 0;

TH1 = 0x3c;

TL1 = 0xb0;

P0 = led_array_p0[2][0];//彩灯

P2 = led_array_p2[2][0];

t_count_led = 0;

TH0 = music_array_h[2][0];//音乐

TL0 = music_array_l[2][0];

t_yinfu = music_array_t[2][0];

t_count_music = 0;

while(P1_2 == 0)

{

while(P1_2 == 0)

t_count_music = 0;

delay();

}

TR0 = 1;

TR1 = 1;

}

}

if(P1_3 == 0)

{

delay();

if(P1_3 == 0)

{

TR0 = 0;

TR1 = 0;

i = 3;

led_array_num = 0;

music_array_num = 0;

TH1 = 0x3c;

TL1 = 0xb0;

P0 = led_array_p0[3][0];//彩灯

P2 = led_array_p2[3][0];

t_count_led = 0;

TH0 = music_array_h[3][0];//音乐

TL0 = music_array_l[3][0];

t_yinfu = music_array_t[3][0];

t_count_music = 0;

while(P1_3 == 0)

{

while(P1_3 == 0)

t_count_music = 0;

delay();

}

TR0 = 1;

TR1 = 1;

}

}

}

}

void Timer0IntRoute(void) interrupt 1

{

t_count_music++;

P1_4 = ~P1_4;

TH0 = music_array_h[i][music_array_num];//音乐

TL0 = music_array_l[i][music_array_num];

if(t_count_music >= t_yinfu)

{

t_yinfu = music_array_t[i][++music_array_num];

if(t_yinfu == 0)

{

music_array_num = 0;

t_yinfu = music_array_t[i][music_array_num];

}

TH0 = music_array_h[i][music_array_num];//音乐

TL0 = music_array_l[i][music_array_num];

t_count_music = 0;

}

}

void Timer1IntRoute(void) interrupt 3

{

t_count_led++;

TH1 = 0x3c;

TL1 = 0xb0;

if(t_count_led >= TLEDS)

{

t_count_led = 0;

led_array_num++;

if(led_array_num>=NUM_OF_LED_S)

led_array_num = 0;

P0 = led_array_p0[i][led_array_num];

P2 = led_array_p2[i][led_array_num];

}

}

单片机音频节奏灯_用C51写的单片机音乐彩灯程序相关推荐

  1. 单片机音频节奏灯_单片机在音乐节奏识别灯效系统中的智能控制

    0引言目前国内外市场上有一种音乐彩灯设备,它由音控多谐振荡器.时序脉冲产生器和可控硅控制电路组成.其中由555电路和电容电阻等组成无稳态多谐振荡器,使音乐信号经过耦合变压器检波,加至555的控制端,并 ...

  2. 单片机音频节奏灯_音乐节奏灯(十个LED显示)

    音乐节奏灯(十个LED显示) [复制链接] 本帖最后由 ginny 于 2017-3-9 18:43 编辑 网上大部分咪头节奏灯都只是控制LED灯的亮度,而且LED个数只有四个.这我打算做个更好玩的. ...

  3. 单片机音频节奏灯_使LED灯随音乐闪烁的控制方法及音乐节奏闪灯技术

    [技术实现步骤摘要] 使LED灯随音乐闪烁的控制方法及音乐节奏闪灯 本专利技术涉及灯光控制方法及设备领域,尤其涉及一种使LED灯随音乐闪烁的控制方法及音乐节奏闪灯. 技术介绍 随着科技的进步,科技的发 ...

  4. 单片机音频节奏灯_如何用单片机做出用音乐节奏来控制LED灯?

    我新安装了系统.驱动怎么办 如果你安装了操作系统,需要安装随机带的主板驱动,如果没有请安装下面的驱动.如果需要安装驱动,建议安装驱动精灵2008 ,安装之后,使用其自动更新驱动功能,它会自动下载并安装 ...

  5. 单片机音频谱曲软件_【自己写的小软件】CLY单片机音乐代码超级生成器

    我比较喜欢动漫歌曲,最近用它打了<东京泰迪熊>到单片机里面,用P0.0做蜂鸣器输出口,挺好听的,分享一下源代码应该没什么问题吧? /*--------------------------- ...

  6. 基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s

    基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s (程序+仿真+参考报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号J011 目录标题 基于5 ...

  7. 用java做一个简单记事本_用记事本写一个简单的java程序

    用记事本写一个简单的java程序 第一步: 安装好jdk,并设置好环境变量. 桌面-计算机(右键)-属性-高级系统设置-环境变量-path-在变量值后加上:和jdk安装路径加上(路径即为C:\Prog ...

  8. python123程序设计题说句心里话_用c++写一个简单的计算器程序

    // 050305.cpp : 定义控制台应用程序的入口点. // // 050304.cpp : 定义控制台应用程序的入口点. // //四则运算 #include "stdafx.h&q ...

  9. python测试抽奖脚本_使用 Python 写一个简易的抽奖程序

    不知道有多少人是被这个头图骗进来的:) 事情的起因是这样的,上周有同学问小编,看着小编的示例代码敲代码,感觉自己也会写了,如果不看的话,七七八八可能也写的出来,但是一旦自己独立写一段程序,感觉到无从下 ...

最新文章

  1. 重装php后网站无法,1、解决重装php后变量在下一个页面无法取到的问题:
  2. 你可能不需要固定词表:一种与词表无关的组合式词向量方法
  3. sql server 数据库改名
  4. charts 画饼图
  5. 事务处理与SQL查询
  6. 跟谁学上市未满1年遭4家机构6轮做空,市值一周缩水近20亿美元
  7. 【ES】es 冻结的索引如何查询
  8. mac android studio sdk配置,macOS安装Android Studio及配置环境变量
  9. 上交所、深交所证券代码编码规则
  10. excel学习-自定义图表颜色(QQ截图+colorpix取色器)
  11. 用python计算内部收益率
  12. Express Session的使用
  13. python图像降噪
  14. Java并发编程73道面试题及答案 —— 面试稳了 侵立删
  15. VMware拟收购云应用管理服务商Wavefront
  16. 雷电3菊链功能_别选错!笔记本的Type-C和雷电3接口区别可大了
  17. C++Primer阅读笔记
  18. 将url地址中的编码转汉字
  19. 参加2020全国大学生数学建模竞赛有感
  20. Windows 7 新功能 - BitLocker To Go

热门文章

  1. 网络安全工具:Wireshark
  2. pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())
  3. Python 字典(Dictionary) get()方法
  4. LeetCode简单题之单值二叉树
  5. TVM性能评估分析(三)
  6. NVIDIA深度架构
  7. Ubuntu 系统 下 AndroidStudio 工具 使用ctrl+z 回退上一步的方法
  8. Kotlin 函数的问题
  9. express+ejs搭建的留言
  10. MySQL 学习笔记(5)— 视图优缺点、创建视图、修改视图、删除视图