焊接资讯

您现在的位置是:首页 > led灯 > 正文

led灯

编程实现8个led灯循环点亮然后让八个灯全部点亮一秒,8个led灯左右循环点亮程序。

工品易达2022-10-07led灯20

本文目录一览:

让8个灯轮流点亮然后让8个灯全部点亮1s循环实现

给你个思路,按下I0.0,置位一个M0.0.同时用传送指令MOV-B传送一个二进制数1(就是给一盏灯亮起来).用M... 计时10.而常开t37就是一妙脉冲).用这个脉冲串联在循环左移指令前面.就可以实现循环亮。停止信号I0.1.按下后...

用循环移位指令控制彩灯循环单跳(8个灯,每个亮1s,熄1s,循环)

简单,你向一个寄存器写入数据时,数据总线的值会发生变化。8位的循环只需一个字节即可搞定。在一个时间循环里,加上句写入指令就行了,如:MOV

AX,1。然后后面接一个时间循环,里面一句写入0,如:MOV,BX,0.移位指令自己查吧。从数据总线连接输入指示灯,功率不足,可以在输入端接入两次非门(实际应用时常这么办);如果功率要求不高的话,可以采用灌电流负载,写入数据11111110(教学程序常用);当然如果能直接点亮LED灯,上面两项不用也可.时间控制调时间循环里次数,可以先写个大数,用秒表掐出来,然后估下一秒的值。

单片机控制8个led灯交替点亮的程序?

#include "reg51.h"

main()

{

unsigned int i,j;

while(1)

{

P1=0xfe; //点亮第一个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xfd; //点亮第二个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xfb; //点亮第三个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xf7; //点亮第四个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xef; //点亮第五个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xdf; //点亮第六个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0xbf; //点亮第七个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

P1=0x7f; //点亮第八个LED

for(i=200;i0;i--)

for(j=500;j0;j--);

}

}

或:

#include "reg51.h"

void delay(unsigned int t)

{

unsigned inti,j;

for(i=t;i0;i--)

for(j=110;j0;j--);

}

main()

{

unsigned char w,i;

while(1)

{

w=0xfe;

for (i=0;i8;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;i0;i--)

for(j=110;j0;j--);

}

main()

{

unsigned char temp;

temp=0xfe;

while(1)

{

P1=temp;

delay(500); //延时

temp=_crol_(temp,1); //点亮LED的位置循环左移一位

}

}

用汇编语言编流水灯,有8个LED灯,LED1~LED8 灯按顺序点亮,每个等亮一秒转到下个灯,一直循环亮

这个流水灯是很普通的一种花样,假设LED接P1口,程序如下:

ORG 0000H

LJMP MAIN

0RG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV TMOD,#01H

MOV TH0,#HIGH(65536-50000) ;50毫秒定时

MOV TL0,#LOW(65536-50000)

SETB TR0

SETB ET0

SETB EA

MOV A,#0FEH

MOV P1,A

MOV R2,#20

SJMP $

T0ISR:

CLR TR0

MOV TH0,#HIGH(65536-50000)

MOV TL0,#LOW(65536-50000)

SETB TR0

DJNZ R2,T0E ;1秒未到直接退出

MOV R2,#20

RL A

MOV P1,A ;1秒一变的花样流水灯。

T0E:

RETI

END

设计一个具有8个LED灯,要求从右向左依次点亮一秒后熄灭,循环往复的单片机程序。跪求

#include"reg52.h"//此文件中定义了单片机的一些特殊功能寄存器

typedef unsigned int u16;//对数据类型进行声明定义

typedef unsigned char u8;

//LED灯命名

sbit leda=P0;

sbit led1=P0^0;

sbit led2=P0^1;

sbit led3=P0^2;

sbit led4=P0^3;

sbit led5=P0^4;

sbit led6=P0^5;

sbit led7=P0^6;

sbit led8=P0^7;

void delay(u16 i)

{

while(i--);

}

void main()

{

while(1)

{

leda=1;//全部灯亮

//从左到右依次熄灭

led1=0;

delay(50000);//大约延时450ms

led2=0;

delay(50000);//大约延时450ms

led3=0;

delay(50000);//大约延时450ms

led4=0;

delay(50000);//大约延时450ms

led5=0;

delay(50000);//大约延时450ms

led6=0;

delay(50000);//大约延时450ms

led7=0;

delay(50000);//大约延时450ms

led8=0;

delay(100000);//大约延时900ms

//从右到左依次点亮

led8=1;

delay(50000);//大约延时450ms

led7=1;

delay(50000);//大约延时450ms

led6=1;

delay(50000);//大约延时450ms

led5=1;

delay(50000);//大约延时450ms

led4=1;

delay(50000);//大约延时450ms

led3=1;

delay(50000);//大约延时450ms

led2=1;

delay(50000);//大约延时450ms

led1=1;

delay(50000);//大约延时450ms

leda=1;//全部灯亮

}

}

扩展资料:

main()应用:

1、C++中的main函数

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,

但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。

虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。

C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

2、Java中的main函数

Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。

首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。

其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。

第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。

第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)

Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)

public class MainDemo{

public static void main(String[]args){

//TODO:在此处写入主函数的内容

}

}

Java Applet的运行机制与Java Application完全不同,因此不需要main函数

3、C#中的main函数

C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,

与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)

另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。

C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)

C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。

class Program{

static void Main(string[]args){

//TODO:在此处写入主函数的内容

}

}

单片机编程怎样让8个小灯泡循环亮完后全亮

这个很简单,可以一个一个点亮然后延时就可以了,还可以用for循环移位也是可以的。方法很多,资料也很多。加油吧

编程实现8个led灯循环点亮然后让八个灯全部点亮一秒的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于8个led灯左右循环点亮程序、编程实现8个led灯循环点亮然后让八个灯全部点亮一秒的信息别忘了在本站进行查找喔。微信号:ymsc_2016

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~