8个LED指示灯循环闪烁的程序(单片机)

流水式的亮,有时间间隔

1:设置一个变量zhidaoi,它可以从0循环到3

2:检测一个已取消缓冲的键。按“+1”

3:当I值为每个值时,执行相应的模式。

水量灯参考程序

#include

#include

#定义uchar无符号字符

Ucharj,温度;

无效延迟(无符号整型ms)

Uchart;

(女士)

对于(t = 0;T < 123;T + +);

Voidmain()

P1=0XFF;

延迟(500);

Temp=0xfe;//奇怪,led连接在P2.3~P2.6

对于(j = 0;J < 4;J + +)

P1=temp;

延迟(500);

Temp=_crol_(Temp,1);

P1=0XFF;

(1);

扩展资料:

注意事项:

#include“reg52。这个文件为单片机定义了一些特殊的功能寄存器

Typedef无符号int在16以下;//以声明的方式定义数据类型

无符号charu8;

//LED灯

Sbitleda=P0;

Sbitled1=P0^0;

Sbitled2=P0^1;

Sbitled3=P0^2;

Sbitled4=P0^3;

Sbitled5=P0^4;

Sbitled6=P0^5;

Sbitled7=P0^6;

Sbitled8=P0^7;

无效延迟(16岁以下)

,(我);

Voidmain()

而(1)

勒达=1;//所有的灯都亮着

//从左到右熄灭

Led1=0;

延迟(50000);//延迟时间约为450毫秒

Led2=0;

延迟(50000);//延迟时间约为450毫秒

Led3=0;

延迟(50000);//延迟时间约为450毫秒

Led4=0;

延迟(50000);//延迟时间约为450毫秒

Led5=0;

延迟(50000);//延迟时间约为450毫秒

Led6=0;

延迟(50000);//延迟时间约为450毫秒

Led7=0;

延迟(50000);//延迟时间约为450毫秒

Led8=0;

延迟(100000);//延迟大约900毫秒

//从右到左照明

Led8=1;

延迟(50000);//延迟时间约为450毫秒

Led7=1;

延迟(50000);//延迟时间约为450毫秒

Led6=1;

延迟(50000);//延迟时间约为450毫秒

Led5=1;

延迟(50000);//延迟时间约为450毫秒

Led4=1;

延迟(50000);//延迟时间约为450毫秒

Led3=1;

延迟(50000);//延迟时间约为450毫秒

Led2=1;

延迟(50000);//延迟时间约为450毫秒

Led1=1;

延迟(50000);//延迟时间约为450毫秒

勒达=1;//所有的灯都亮着

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-06
ORG 0000H
JMP MAIN
ORG 0030H

;************************************************
MAIN:
MOV A,#0FEH ;赋初始值
LOOP:
MOV R0,#07H ;移动次数
LOOPL:
MOV P0,A ;A中的值送P0口
MOV P2,A ;A中的值送P2口
RL A ;左移
CALL DELAY;调用延时
DJNZ R0,LOOPL

MOV R0,#07H ;移动次数
LOOPR:
MOV P0,A
MOV P2,A
RR A ;右移
CALL DELAY
DJNZ R0,LOOPR
JMP LOOP

;************************************************
DELAY:
MOV R6,#0FFH
DEL:
MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,DEL
RET

;************************************************
END

该程序是P0 P2口的LED同时左移后再同时右移的流水灯程序。本回答被提问者和网友采纳
第2个回答  2008-06-03
我的博客上有,你可以去看看,有两个,延时的方法不一样.

8个LED指示灯循环闪烁的程序(单片机)
1:设置一个变量zhidaoi,它可以从0循环到3 2:检测一个已取消缓冲的键。按“+1”3:当I值为每个值时,执行相应的模式。水量灯参考程序 #include #include #定义uchar无符号字符 Ucharj,温度;无效延迟(无符号整型ms){ Uchart;(女士)对于(t = 0;T < 123;T + +);} Voidmain(...

51单片机开发板八个led灯依次点亮(就是流水灯)然后再全部
这段代码实现了8个LED灯的流水点亮效果,先点亮第一个LED,等待600毫秒后,再点亮第二个LED,依此类推,直到所有LED都点亮,然后循环重复。

单片机点亮八个led灯
void main() { P1 = 0xFF; \/\/ 将P1端口的所有引脚设置为高电平,点亮LED灯 while(1); \/\/ 程序进入无限循环,保持LED灯持续点亮状态 } ```这段代码通过直接对P1端口赋值的方式,实现了同时点亮连接在P1.0到P1.7引脚上的八个LED灯。注意,由于LED灯通常需要一定的电流才能点亮,且单片机的IO...

单片机控制8个灯依次亮,全亮了,再依次灭的c语言流程图,顺便加上解释...
1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。

单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部...
void DelayMS(uint x){ uchar i;while(x--){ for(i=0;i<120;i++);} } \/\/主程序 void main(){ uint s;while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); \/\/P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS(150);p0=0xff;DelayMS(150);...

求单片机设计8个led灯同时闪烁的程序,
请设计一个8个led同时全部闪烁的程序 include <reg51.h> main (){int i;while (1){for (i=0;i<=30000;i++);P1=~P1;} }

求单片机设计8个led灯同时闪烁,并且led灯亮的时候控制蜂鸣器发生,led...
8个led灯灭 RET ;--- PRG2:MOV P0, #255 ; 8个led灯不亮 MOV R2, #200 LP2:SETB P1.0 ; 蜂鸣器不响 DJNZ R6,DJNZ R7, $ - 2 DJNZ R2, LP2 MOV P0, #255 ; 8个led灯灭 RET ;--- END

用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)
\/\/第一个灯亮 delay();\/\/延时 P3=0xfd;\/\/第二个灯亮 delay();P3=0xfb;\/\/第三个灯亮 delay();P3=0xf7;\/\/第四个灯亮 delay();P3=0xef;\/\/第五个灯亮 delay();P3=0xdf;\/\/第六个灯亮 delay();P3=0xbf;\/\/第七个灯亮 delay();P3=0x7f;\/\/第八个灯亮 delay();} } ...

利用单片机控制8个发光二极管,实现8个灯同时闪烁的控制程序
以51位例,使用P1的八个IO口控制。先定义:sbit LED0=P1^0;sbit LED1=P1^1;...以此类推,定义八个。然后在主循环中:LED0=0;延时一段时间;LED0=1;就可以看到闪烁了。

用单片机设计8个led灯同时闪烁的程序!!
1:设定一个变量i,可以从0到3循环的变化 2:检测一个经过消抖处理的按键,按一下,i+1 3:当i值为各个值时,执行相应的花样。流水灯参考程序 include include define uchar unsigned char uchar j,temp;void delay(unsigned int ms){ uchar t;while(ms--)for(t=0;t<123;t++);} void ...

相似回答