⑴ 怎样令51单片机闪烁流水灯的同时播放音乐
流水灯和音乐播放都不会对时间有太严格要求,完全可以分别采用一个定时器中断来实现控制。
比如流水灯用T0中断,播放音乐用T1中断。
⑵ 怎么让单片机边响音乐边亮自己设计的流水灯
音乐用定时器控制,流水灯可以用延时来做,这样就可以实现。
⑶ 52单片机独立按键控制LED流水灯
怎么个控制法,按一下,流水灯停下,再按一下开始,
还是按一下对应亮一个或亮下一个
还是想知道怎么用按键
教你用按键的方法,功能你自己去实现。把io口拉高电平后,接按键,如果按键按下,会接地,读出的io口电平会变为低,这样就可以判断说法按下按键,但要一直重复读取io口数据,而且要防抖动。
{
unsignedinttemp,k=9;
P2=0xff;//用P2检测键盘
temp=P2;
temp=temp&0xff;
if(temp!=0xff)//接地了,有按下
{
delayxms(10);//等键盘稳定,以确认不是误按、抖动
temp=P2;//再次检测
temp=temp&0xff; //防抖,确认是按下
if(temp!=0xff)//确认不是误按、抖动
{
switch(temp)
{
case0xfe:k=0;break;
case0xfd:k=1;break;//不同情况做出不同处理,变为0的是按下的键
case0xfb:k=2;break;
case0xf7:k=3;break;
case0xef:k=4;break;
case0xdf:k=5;break;
case0xbf:k=6;break;
case0x7f:k=7;break;
}
}
}
}
⑷ 单片机如何控制流水灯的程序
灯的亮灭是通过控制IO口数据来实现的;
程序大体如下:
#define led0 P1^0
#define led1 P1^1
#define led2 P1^2
#define L 0 //亮
#define M 1 //灭
void init()
{
led0 = M;
led1 = M;
led2 = M;
}
main()
{
init();
while(1)
{
delay_S(1);
led0 = L;
delay_S(1);
led1 = L;
delay_S(1);
led2 = L;
delay_S(1);
led2 = M;
delay_S(1);
led1 = M;
delay_S(1);
led0 = M;
}
} //延时一秒函数需补充
⑸ 单片机C语言编程:控制流水灯
#include<reg52.h>
#include<intrins.h>
#define uintunsignedint
#define ucharunsignedchar
sbitk1=P1^0;//左循环按钮
sbitk2=P1^1;//右循环按钮
sbitk4=P1^2;//恢复暂停
sbitk3=P3^2;//暂停
voidinit();
voidshowLED();
voiddelay(uintxms);
uintdelayTime;
uintgoLeft=1;
uintgoRight=0;
uintsFlag=0;
voidmain()
{
init();
while(1)
{
if(k1==0)
{
delay(10);
if(k1==0)
{
while(k1==0);
goLeft=1;
goRight=0;
}
}
if(k2==0)
{
delay(10);
if(k2==0)
{
while(k2==0);
goLeft=0;
goRight=1;
}
}
}
}
voiddelay(uintxms)
{
uinti,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
voidinit()
{
P0=0xfe;
TMOD=0x02;//T0工作模式2自动装填8位 200us
TH0=0x38;
TL0=0x38;
EA=1;
ET0=1;
TR0=1;
EX0=1;
IT0=1;
}
voidshowLED()
{
if(goLeft==1)
P0=_crol_(P0,1);
if(goRight==1)
P0=_cror_(P0,1);
}
voidmoveDelay()interrupt1 //一次中断200us
{
if(delayTime==5000)
{
showLED();
delayTime=0;
}
else
delayTime++;
}
voidstopLED()interrupt0
{
while(1)
{
if(k4==0)
{
delay(10);
if(k4==0)
{
while(k4==0);
break;
}
}
}
}
⑹ 单片机流水灯的目的及意义
在如今这个科学技术发展迅猛的时代,传统的分立元件或逻辑电路构成的控制系统正以前所未有的速度被单片机智能控制系统所代替。在电子领域尤其是自动化智能控制领域,芯片技术取得了飞速发展,使单片机技术在各种民用和工业测控等领域得到了更为广泛的应用。
单片机凭其体积小、功能强、低成本、应用方面广等优点,已经成为微电脑控制的主力军。可以说,控制系统与自动控制的核心就是单片机。最能体现单片村应用价值之一的就是如今花样百出的流水灯了。
目前,国内外对于单片机流水灯的研究,大多数是利用AT89C51单片机,软硬件村结合,构造出最简单的流水灯,此举旨在抛砖引玉,广大用户又在此基础上扩展出更复杂的流水灯控制,比如键盘控制流水花样、控制流水灯显示数字或图案等等。
另外有关单片机音乐的研究,主要是针对单片机演奏音乐时音调和节拍的确定方法,以期产生更加纯正的音色来。由于这两个方面的研究比较成熟,因而就衍生出了单片机音乐流水灯的研究,详细了解并掌握音乐流水灯的理论基础和实践,对于单片机的学习将会产生可估量的作用。
简介
单片机也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。
由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。简单地说,单片机就是一块芯片,这块芯片组成了一个系统,通过集成电路技术的应用,将数据运算与处理能力集成到芯片中,实现对数据的高速化处理。
⑺ 怎样使单片机同时播放音乐和点亮流水灯
太笼统了,不太好回答。按我的直觉,既然两个分支的程序都已经完成,而且能正常工作,那么,不能同时工作,也就是说,这一部分的中断工作时,那一部分的中断没工作,感觉应该是中断优先级的问题
⑻ 51单片机流水灯原理
单片机流水灯控制原理就是将多个LED灯珠连接到不同的单片机输出端上,编程使单片机的这些输出端逐个的输出信号点亮LED,在设置好各个LED的通电时间和通电间隔时间后,就可以看到这些LED灯珠此起彼伏的亮起,如同流水一样.