单片机C语言编程

我想写一个单片机控制流水灯的程序,主要是利用按键来控制流水灯的闪动模式。比如说,当按下第一个按键是一种闪灯模式,按下第二个按键是另外一个模式。以此类推!

第1个回答  2010-12-28
/*该程序流水灯有两种模式,顺序左移和顺序右移,独立开关控制*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar tmp,flag;
sbit key1=P3^4;
sbit key2=P3^5;
void delay(uint z);
void led();
void keyscan();
void main()
{
tmp=0xfe;
P1=tmp;
while(1)
{
keyscan();
led();
}
}
void keyscan()
{
if(key1==0)
{
delay(10);
if(key1==0)
{
flag=1;
while(key1==0);
}
}
if(key2==0)
{
delay(10);
if(key2==0)
{
flag=0;
while(key2==0);
}
}
}
void led()
{
switch(flag)
{
case 1: {tmp=_crol_(tmp,1);P1=tmp;delay(200);break;}
case 0: {tmp=_cror_(tmp,1);P1=tmp;delay(200);break;}
default: break;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}本回答被提问者采纳
第2个回答  2010-12-27
先编写好两个或多个流水等模式子程序,再用switch语句选择模式。本回答被网友采纳
第3个回答  2010-12-28
到我的 百度空间 看看,流水灯的解决方案,有十几种。