keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)

最好不要用数组

#include "reg51.h"
main()
{
unsigned int i,j;
while(1)
{
P1=0xfe; //点亮第一个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xfd; //点亮第二个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xfb; //点亮第三个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xf7; //点亮第四个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xef; //点亮第五个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xdf; //点亮第六个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0xbf; //点亮第七个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
P1=0x7f; //点亮第八个LED
for(i=200;i>0;i--)
for(j=500;j>0;j--);
}
}

或:
#include "reg51.h"
void delay(unsigned int t)
{
unsigned inti,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
main()
{
unsigned char w,i;
while(1)
{
w=0xfe;
for (i=0;i<8;i++)
{
P1=w; //循环点亮LED
w<<=1; //点亮灯的位置移动,最低位补0
w=w|0x01; //将最低位置1
delay(500); //延时
}
}
}

或:
#include "reg51.h"
//程序中使用_crol_函数,所以要包含头文件"intrins.h"
#include "intrins.h"
void delay(unsigned int t)
{
unsigned int i,j;
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
main()
{
unsigned char temp;
temp=0xfe;
while(1)
{
P1=temp;
delay(500); //延时
temp=_crol_(temp,1); //点亮LED的位置循环左移一位
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-21
//==============================
//8个LED 闪烁
//-------------------------------------
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int

//--------------------------------
void DelayMS(uint ms)
{
uchar t;
while(ms--) for (t=0;t<120;t++);
}
//----------------------------------
void main()
{
P2= 0xfe;
while (1)
{

P2 =_crol_(P2,1);
DelayMS(200);
}
}追问

能给一份不用数组的吗?

追答

没数组啊...

本回答被提问者采纳

keil软件用单片机控制8个LED流水灯来回点亮(C语言程序)
while(1){ P1=0xfe; \/\/点亮第一个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xfd; \/\/点亮第二个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xfb; \/\/点亮第三个LED for(i=200;i>0;i--)for(j=500;j>0;j--);P1=0xf7; \/\/点亮第四个...

用keil写的来回流水灯程序,要求左右来回的
include <reg52.h> include <intrins.h> define uchar unsigned char define uint unsigned int void DelayMS(uint x){ uchar t;while(x--){ for(t=120;t>0;t--);} } void main(){ uchar i;P2=0x01;while(1){ for(i=7;i>0;i--){ P2=_crol_(P2,1);DelayMS(150);} for(i...

求at89c51 流水灯C语言代码。要求第一三五七个灯亮,另一个是二四六八...
假设P1口接8个LED灯,通过灌电流驱动(即0亮1灭)。编译器keil C代码如下:include<reg51.h> include<intrins.h> \/\/包含循环左移函数 _cro_l头文件 unsigned char tmp; \/\/中间变量 \/\/\/ \/\/ 延时子程序 \/\/\/

求问8个LED流水灯依次循环亮的C语言程序
不用while,不会 for你可以自己修改一下

用keil4弄一个流水灯,要求,8个灯,第一次,1号亮,第二次,1号3号亮_百 ...
include<reg51.h> define uchar unsigned char uchar led[]={0xfe,0xfa,0xea,0xaa,0xfd,0xf5,0xd5,0x55};void delay(unsigned char a){ while(a--);} main(){ uchar i;while(1){ for(i=0;i<8;i++){ P1=led[i];delay(50000);} } } ...

单片机 8个LED灯随机闪烁怎么做?
1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。3、接着创建延迟函数,如下图所示,输入以下代码。4、然后创建C语言主函数,如下图所示,输入以下代码。5、接着输入对输出取反,最后调用延迟函数,如下图所示就...

c语言编写程序,将led从左往右,再从右往左依次往返点亮
流水灯程序是keil的自带例子,你直接跑就是。void wait (void) { \/* wait function *\/ ; \/* only to delay for LED flashes *\/ } void main (void) { unsigned int i; \/* Delay var *\/ unsigned char j; \/* LED var *\/ while (1) { \/* Loop forever *\/ for...

单片机流水灯程序,烧到单片机里,8个灯全亮,是怎么回事,下面使程序...
2012-09-14 51单片机8个流水灯上下亮、下上亮、花样亮在一起的c程序函数 2013-03-21 keil软件用单片机控制8个LED流水灯来回点亮(C语言程序... 23 2011-08-13 单片机中流水灯程序出错 我想让它1~8~1的亮 结果只是1~...更多类似问题 > 流水灯的相关知识2010...

谁有这样的单片机流水灯程序:八个灯中有两个灯同时从两端相向点亮,交替...
for(i=1;i<5;i++)\/\/8个灯有2个同时运动,闪四次为一个周期 { led=0xff;\/\/变量清空,即默认全灭 led&=~(1<<i);\/\/第一个灯置位 led&=~(1<<(9-i));\/\/第二个灯置位 PORTA=led;\/\/送出显示 }

单片机考题 P2口8位流水灯:keil代码程序 急求!!!
:03000000020038C3 :0C003800787FE4F6D8FD75810802000313 :100003007508FE8508807F327E0012001FE50825F3 :0C001300E0F508E58070EC7508FE80E761 :10001F00D3EF9400EE9400400F7D267C82DCFEDD52 :08002F00FAEF1F70EB1E80E8E0 :0100370022A6 :00000001FF 格式为hex ...

相似回答