A. c语言流水灯程序 求具体代码

1灭)。编译器keil
C代码如下:
#include

#include

//包含循环左移函数
_cro_l头文件
unsigned
char
tmp;
//中间内变量
//////////////////////////////////////////////////////////////////////////////////////////////////
//
延时子程序
////////////////////////////////////////////////////////////////////////////////////////////////
void
delay(unsigned
int
cnt)
{
while(--cnt);
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//
主函容数
////////////////////////////////////////////////////////////////////////////////////////////////
main()
{
while(1)
//外层循环
{
tmp
=
0xfe;
P1
=
tmp;
while(1)
//内层循环,执行1、3、5、7亮灯循环
{
delay(30000);
//延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定
tmp
=
_crol_(tmp,2);
P1
=
tmp;
if(tmp
==
0xbf)
//判断是否已经点亮到第7灯。是,则退出进入2、4、6、8循环
{
break;
}
}
tmp
=
0xfd;
P1
=
tmp;
while(1)
//内层循环,执行2、4、6、8亮灯循环
{
delay(30000);
//延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定
tmp
=
_crol_(tmp,2);
P1
=
tmp;
if(tmp
==
0x7f)
//判断是否已经点亮到第8灯。是,则退出进入1、3、5、7循环
{
break;
}
}
}
}

B. 用c语言编写流水灯。

C语言流水灯程序是学习的基础,一定要搞懂!给你发两个!
(一)
#include<reg51.h> //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main()
{
uint i;
uchar temp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P2=~temp;
delay(500); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++) //8个流水灯反向逐个闪动
{
P2=~temp;
delay(500); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++) //8个流水灯依次全部点亮
{
P2=temp;
delay(500); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
{
P2=temp;
delay(500); //调用延时函数
temp>>=1;
}
}
}
void delay(uint a) //延时函数,毫秒级别
{
uint i;
while(--a!=0) //执行空操作循环,其中a为形参,由调用该函数的函数语句提供值
{
for(i=0;i<125;i++);//执行当0加到125时,大约会用掉1ms的时间
}
}

(二)
*****************************以下程序均采用12M晶振*****************************************************/
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
sbit p2=P2^0;
void main()
{
TMOD=0x01;
TR0=1;
ET0=1;
EA=1;
while(1)
{
;
}
}

timer0() interrupt 1
{
TH0=0x00;
TL0=0x06;
p2=!p2;
}

(三)
定时流水灯//
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
bit ldelay=0;
void main()
{
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};
uchar leda;
TMOD=0x00;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(ldelay)
{
ldelay=0;
P2=led[leda];
leda++;
if(leda==9)leda=0;
}
}
}
timer2() interrupt 1
{
static uchar t;
TF0=0;
t++;
if(t==10)
{
t=0;
ldelay=1;
}
}

(四)
变速流水灯//
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
bit ldelay=0;
uchar speed=100;
void main()
{
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};
uchar leda;
TMOD=0x00;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(ldelay)
{
ldelay=0;
P2=led[leda];
leda++;
if(leda==9)
{
leda=0;
speed-=10;
if(speed==0)speed=100;
}
}
}
}
timer2() interrupt 1
{
static uchar t;
TF0=0;
t++;
if(t==speed)
{
t=0;
ldelay=1;
}
}

(五)
//每2两圈改变一次亮度
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
bit ldelay=0;
uchar speeda=30;
uint k=0;
void main()
{
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};
uchar leda;
uchar speed[10]={5,80,70,60,50,40,30,20,10,5};
uint i;
uint k;
TMOD=0x00;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(ldelay)
{
ldelay=0;
P2=led[leda];
leda++;
if(leda==9)
{
leda=0;
k++;
if(k==2){
k=0;
speeda=speed[i];
i++;
if(i==9)i=0;
}
}
}
}
}
timer2() interrupt 1
{
static uchar t;
TF0=0;
t++;
if(t==speeda)
{
t=0;
ldelay=1;
}
}

(六)
//在上面基础上调灯的亮度(调占空比)
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
bit ldelay=0;
uchar speeda=30;
uint k=0;
uchar scale;
void main()
{
uchar led[9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff};
uchar leda;
uchar speed[10]={5,80,70,60,50,40,30,20,10,5};
uint i;
uint k;
TMOD=0x00;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(ldelay==1)
{
ldelay=0;
P2=led[leda];
leda++;
scale++;
if(scale==10)scale=0;
if(leda==9)
{
leda=0;
k++;
if(k==2){
k=0;
speeda=speed[i];
i++;
if(i==9)i=0;
}
}
}
}
}
timer2() interrupt 1
{
static uchar t;
TH0=0x1c;
TL0=0xbf;
TF0=0;
t++;
if(t==speeda)
{
t=0;
ldelay=1;
}
if(scale==10)P2=0;
if(scale==0)P2=1;
}

C. 单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序的源代码如下:

#include //51系列单片机定义文件

#define uchar unsigned char //定义无符号字符

#define uint unsigned int //定义无符号整数

void delay(uint); //声明延时函数

void main(void)

{

uint i;

uchar temp;

while(1)

{

temp=0x01;

for(i=0;i<8;i++) //8个流水灯逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++) //8个流水灯反向逐个闪动

{

P1=~temp;

delay(100); //调用延时函数

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++) //8个流水灯依次全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++) //8个流水灯依次反向全部点亮

{

P1=temp;

delay(100); //调用延时函数

temp>>=1;

}

void delay(uint t) //定义延时函数

{

register uint bt;

for(;t;t--)

for(bt=0;bt<255;bt++);

}

(3)c语言流水灯程序扩展阅读

51单片机流水灯的源代码如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

for(i=0;i<8;i++)

{

P0=_crol_(P0,1);

delay(500);

}

}

}

D. C语言按键流水灯程序

51单片机?

#include<reg51.h>
sbitbtn=P3^0;
voiddelay(intn);
voidmain(void)
{
charflag=0;
unsignedchartmp=0xFF;
while(1)
{
btn=1;
delay(10);//大约10ms
if(btn==0)
{
delay(10);//消抖
if(btn==0)
{
flag=1;
}
}

if(flag)
{
P1=tmp;
tmp>>=1;
delay(300);
flag=0;
}
}
}

voiddelay(intn)//延时函数,自己看晶振及现象调具体值
{
inti=0;
intj=0;
for(i=0;i<n;i++)
{
for(j=0;j<100;j++)
{
;//donothing
}
}
}

E. 用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)

#include<reg51.h>

voiddelay(void)

{

unsignedinti,j;

for(i=0;i<200;i++)

for(j=0;j<1000;j++)

;

}

voidmain(void)

{

while(1)

{

P3=0xfe;//第一个灯亮

delay();//延时

P3=0xfd;//第二个灯亮

delay();

P3=0xfb;//第三个灯亮

delay();

P3=0xf7;//第四个灯亮

delay();

P3=0xef;//第五个灯亮

delay();

P3=0xdf;//第六个灯亮

delay();

P3=0xbf;//第七个灯亮

delay();

P3=0x7f;//第八个灯亮

delay();

}

}

(5)c语言流水灯程序扩展阅读

单片机C语言16种方式流水灯

voidmain()

{

while(1)

{

P1=0xfe;//点亮第一个发光管

Delay(5000);

P1=0xfd;//点亮第二个发光管

Delay(5000);

P1=0xfb;

Delay(5000);

P1=0xf7;

Delay(5000);

P1=0xef;

Delay(5000);

P1=0xdf;

Delay(5000);

P1=0xbf;

Delay(5000);

P1=0x7f;//点亮第八个发光管

}

}

F. C语言编写的流水灯程序

#include<reg52.h>
#include <intrins.h>
void main()
{
unsigned int x,y;
P1=0xfe;
while(1)
{
P1=_crol_(P1,1);
for(x=500;x>0;x--)
for(y=113;y>0;y--);
}
}
P1接二极管(低电平有效)每隔x毫秒流动一下(可改变x的值)
震荡周期为11.0592MHz

把上面的P1=0xfe;改为P1=0x01;!!!
高电平也许要用上拉电阻!!

G. 用C语言编写C52单片机的流水灯程序

附上复流水灯程制序
#include<reg52.h>
#include<intrins.h>
unsigned char temp;
void delay(unsigned int x);
void main()
{
temp=0xfe; /*16进制的表示法,不能用:0eH这种形式了*/
while(1)
{
P1=temp;
delay(1000);
temp=_crol_(temp,1);

}
}
void delay(unsigned int x)
{
unsigned char j;
while(x--)
{
for(j=200;j>0;j--)
{
;
}
}
}

H. 用C语言编写按键控制流水灯的程序

1灭)。编译器keil
c代码如下:
#include<reg51.h>
#include<intrins.h>
//包含循环左移函数
_cro_l头文件
unsigned
char
tmp;
//中间变量
//////////////////////////////////////////////////////////////////////////////////////////////////
//
延时子程序
////////////////////////////////////////////////////////////////////////////////////////////////
void
delay(unsigned
int
cnt)
{
while(--cnt);
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//
主函数
////////////////////////////////////////////////////////////////////////////////////////////////
main()
{
while(1)
//外层循环
{
tmp
=
0xfe;
p1
=
tmp;
while(1)
//内层循环,执行1、3、5、7亮灯循环
{
delay(30000);
//延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定
tmp
=
_crol_(tmp,2);
p1
=
tmp;
if(tmp
==
0xbf)
//判断是否已经点亮到第7灯。是,则退出进入2、4、6、8循环
{
break;
}
}
tmp
=
0xfd;
p1
=
tmp;
while(1)
//内层循环,执行2、4、6、8亮灯循环
{
delay(30000);
//延时以便能观察到灯亮移动,自己可以调整时间,由晶振和实参决定
tmp
=
_crol_(tmp,2);
p1
=
tmp;
if(tmp
==
0x7f)
//判断是否已经点亮到第8灯。是,则退出进入1、3、5、7循环
{
break;
}
}
}
}

I. c语言流水灯编程

前面的Delay是对后面Delay函数的声明,告诉主函数要调用的函数在主函数后面,如果你把后面的Delay函数放到主函数前面,函数声明那部分就不需要了

J. 流水灯c语言程序

我是一名多年的单片机工程师,下面的程序你参考一下


效果图



程序如下:

#include<reg52.h>

#include<intrins.h>

#define uchar unsigned char

#define uint unsigned int

uint i;

uchar j;

void delay_ms(uint k) //延时子程序

{

for(i=0;i<k;i++)

{

for(j=0;j<230;j++)

{

;

}

}

}


main()

{

uchar a,b;

P1=0xfe;

delay_ms(1000);

b=P1;


while(1)

{

for(a=0;a<7;a++)

{

b=_crol_(b,1);

P1=b;

delay_ms(1000);

}



for(a=0;a<7;a++)

{

b=_cror_(b,1);

P1=b;

delay_ms(1000);

}


}

}

如果你想学习更多单片机和程序的知识,可以看看我整理好的“17个实验学会单片机”,网络一下“17个实验学会单片机”就可以看到在首页了。