㈠ 单片机:如何将音乐程序和流水灯程序合起来,能让音乐的同时灯闪
这个是音乐程序:#include#defineuintunsignedint #defineucharunsignedchar sbitvoice=P1^6; ucharcodesound[]={0xff, 0x17,0x02,0x17,0x03,0x18,0x03,0x19,0x02,0x15,0x03, 0x16,0x03,0x17,0x03,0x17,0x03,0x17,0x03,0x18,0x03, 0x19,0x02,0x16,0x03,0x17,0x03,0x18,0x02,0x18,0x03, 0x17,0x03,0x15,0x02,0x18,0x03,0x17,0x03,0x18,0x02, 0x10,0x03,0x15,0x03,0x16,0x02,0x15,0x03,0x16,0x03, 0x17,0x02,0x17,0x03,0x18,0x03,0x19,0x02,0x1A,0x03, 0x1B,0x03,0x1F,0x03,0x1F,0x03,0x17,0x03,0x18,0x03,};ucharzdjs=0,jp;del(yj);voidmain(void){uintdpjs=0;ucharyj;TMOD=0x01,IE=0x82; TH0=0xd8,TL0=0xef;TR0=1;while(1){zdjs=0;dpjs++;yj=sound[dpjs]; dpjs++;jp=sound[dpjs]; while(zdjs!=jp){if(yj!=0xff){if(yj!=0){voice=!voice;del(yj);}else{dpjs=0;break;}}else{voice=0;del(jp);}}}}time0()interrupt1using1{TH0=0xd8,TL0=0xef;zdjs++;}del(yj){ucharyj2=2; while(yj!=0){while(yj2!=0){yj2--;}yj2=2;yj--;}}这个是流水灯程序: #include//51系列单片机定义文件 #defineucharunsignedchar//定义无符号字符 #defineuintunsignedint//定义无符号整数 voiddelay(uint);//声明延时函数 voidmain(void){uinti;uchartemp;while(1){temp=0x01;for(i=0;i<8;i++)//8个流水灯逐个闪动{P2=~temp;delay(50);//调用延时函数 temp<<=1;}temp=0x80;for(i=0;i<8;i++)//8个流水灯反向逐个闪动{P2=~temp;delay(100);//调用延时函数temp=1;}temp=0xFE;for(i=0;i<8;i++)//8个流水灯依次全部点亮{P2=temp;delay(10);//调用延时函数 temp<<=1;}temp=0x7F;for(i=0;i<8;i++)//8个流水灯依次反向全部点亮{P2=temp;delay(150);//调用延时函数temp=1;}}}voiddelay(uintt)//定义延时函数{registeruintbt;
㈡ 音乐彩灯如何用单片机实现
首先先把音乐翻译成数组,然后通过数组中数得不同,通过单片机进行控制发光的颜色和亮度
㈢ 怎样使单片机同时播放音乐和点亮流水灯
太笼统了,不太好回答。按我的直觉,既然两个分支的程序都已经完成,而且能正常工作,那么,不能同时工作,也就是说,这一部分的中断工作时,那一部分的中断没工作,感觉应该是中断优先级的问题
㈣ 在线等 求~单片机 音乐彩灯 程序
ORG 0000H
LJMP START
ORG 000BH ;中断入口
INC 20H ;中断服务程序,中断计数器加1
MOV TH0,#0D8H
MOV TL0,#0EFH ;12M晶振,形成10毫秒中断
RETI
START:
MOV SP,#50H
MOV TH0,#0D8H
MOV TL0,#0EFH
MOV TMOD,#01H
MOV IE,#82H
MUSIC0:
NOP
MOV DPTR,#DAT ;表头地址送DPTR
MOV 20H,#00H ;中断计数器清0
MOV B,#00H ;表序号清0
MUSIC1:
NOP
CLR A
MOVC A,@A+DPTR ;查表取代码
JZ END0 ;是00H,则结束
CJNE A,#0FFH,MUSIC5
LJMP MUSIC3
MUSIC5:
NOP
MOV R6,A
INC DPTR
MOV A,B
MOVC A,@A+DPTR ;取节拍代码送R7
MOV R7,A
SETB TR0 ;启动计数
MUSIC2:
NOP
CPL P2.4
MOV A,R6
MOV R3,A
CPL A
MOV P1,A ;显示(修改者加入的显示)
CPL A
LCALL DEL
MOV A,R7
CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?
;不等,则继续循环
MOV 20H,#00H ;等于,则取下一代码
INC DPTR
LJMP MUSIC1
MUSIC3:
NOP
CLR TR0 ;休止100毫秒
MOV R2,#0DH
MUSIC4:
NOP
MOV R3,#0FFH
LCALL DEL
DJNZ R2,MUSIC4
INC DPTR
LJMP MUSIC1
END0:
NOP
MOV R2,#64H ;歌曲结束,延时1秒后继续
MUSIC6:
MOV R3,#00H
LCALL DEL
DJNZ R2,MUSIC6
LJMP MUSIC0
DEL:
NOP
DEL3:
MOV R4,#05H
DEL4:
NOP
DJNZ R4,DEL4
NOP
DJNZ R3,DEL3
RET
DAT:
DB 18H, 30H, 1CH, 10H
DB 20H, 40H, 1CH, 10H
DB 18H, 10H, 20H, 10H
DB 1CH, 10H, 18H, 40H
DB 1CH, 20H, 20H, 20H
DB 1CH, 20H, 18H, 20H
DB 20H, 80H, 0FFH,20H
DB 30H, 1CH, 10H, 18H
DB 20H, 15H, 20H, 1CH
DB 20H, 20H, 20H, 26H
DB 40H, 20H, 20H, 2BH
DB 20H, 26H, 20H, 20H
DB 20H, 30H, 80H, 0FFH
DB 20H, 20H, 1CH, 10H
DB 18H, 10H, 20H, 20H
DB 26H, 20H, 2BH, 20H
DB 30H, 20H, 2BH, 40H
DB 20H, 20H, 1CH, 10H
DB 18H, 10H, 20H, 20H
DB 26H, 20H, 2BH, 20H
DB 30H, 20H, 2BH, 40H
DB 20H, 30H, 1CH, 10H
DB 18H, 20H, 15H, 20H
DB 1CH, 20H, 20H, 20H
DB 26H, 40H, 20H, 20H
DB 2BH, 20H, 26H, 20H
DB 20H, 20H, 30H, 80H
DB 20H, 30H, 1CH, 10H
DB 20H, 10H, 1CH, 10H
DB 20H, 20H, 26H, 20H
DB 2BH, 20H, 30H, 20H
DB 2BH, 40H, 20H, 15H
DB 1FH, 05H, 20H, 10H
DB 1CH, 10H, 20H, 20H
DB 26H, 20H, 2BH, 20H
DB 30H, 20H, 2BH, 40H
DB 20H, 30H, 1CH, 10H
DB 18H, 20H, 15H, 20H
DB 1CH, 20H, 20H, 20H
DB 26H, 40H, 20H, 20H
DB 2BH, 20H, 26H, 20H
DB 20H, 20H, 30H, 30H
DB 20H, 30H, 1CH, 10H
DB 18H, 40H, 1CH, 20H
DB 20H, 20H, 26H, 40H
DB 13H, 60H, 18H, 20H
DB 15H, 40H, 13H, 40H
DB 18H, 80H, 00H
end
㈤ 单片机LED灯和音乐同步
51单片机C语言教程
天空之城蜂鸣器乐谱
买一个单片机
㈥ 如何用单片机做出用音乐节奏来控制LED灯
LED随着音乐节奏闪烁吗?
用不着单片机来做,用简单的RC电路就可以了。
1、驱动信号来源于音乐声源,无论是前级还是后级都可以;
2、加入RC电路,形成音乐信号的包络线。换句话说,就是减低音乐频率,形成一个随幅度变化的信号。因为音频信号变化太快,LED无法快速反应。
3、用功率集成电路或者大功率三极管作为LED
驱动。将电路无音频信号时调节为LED临界导通状态,这样随着音频信号的强弱,LED就会随着节奏闪烁。
㈦ 利用单片机做一个让灯随着音乐节奏闪烁的系统
用模数转换做吧
㈧ 请教做单片机作音频电平指示灯的原理及程序
设计思路:将声音输出的信号处理后输入到单片机,使用AD/DA转换或者TWI(12C )都可以(具体多看看相关单片机的手册),经单片机输出控制你的LED等就行。还有就是建议一下:学单片机不是用花多少钱的问题(理论上200元也够啦),关键是学习实践的问题,一定要多做实践,多试验,是反复辛苦实践的过程,钱不是关键啊!
㈨ 如何使LED灯随着单片机播放的音乐闪烁是随着音乐闪烁
这个应该需要一个算法,把音乐的节奏和LED的亮灭频率结合起来,音乐缓LED就慢闪,音乐快LED就快闪。
㈩ 单片机制作音乐电平指示灯
可以的!
可以直接驱动,
不是太大功率就不需要单独驱动!