当前位置:首页 » 课程大全 » 8个led灯循环闪烁课程设计

8个led灯循环闪烁课程设计

发布时间: 2021-02-23 01:53:51

① 求单片机设计8个led灯同时闪烁的程序,

八个灯接在单片机的P1口(P0,P2,P3,P4都一样)
while(1)
{
delay(你想要延时的时间);专属
P1=0xff;
delay(你想要延时的时间);
P1=0;
}
注意led最好加驱动,不然单片机会坏的。

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

1:设置一个变量i,它可以从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);

(2)8个led灯循环闪烁课程设计扩展阅读:

注意事项:

#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;//所有的灯都亮着

③ 设计一个具有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;//全部灯亮

}

}

(3)8个led灯循环闪烁课程设计扩展阅读:

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个LED灯循环闪烁。

51单片机就能实现 数字电路的话 麻烦

⑤ 用单片机设计8个led灯同时闪烁的程序,

#includereg52.h

void LED_turnon()
{

}
void Delay1s()

{

}
void LED_turnoff()

{

}

void main()
{
while(1)
{
LED_turnon();

Delay1s();

LED_turnoff();

Delay1s();

}
}

⑥ 汇编语言编程 8 个LED 灯循环闪烁。

你的问题我帮你在半导体器件应用技术论坛发过帖子了,就等待那边的高手解答。如果问题比较急,你可以登录论坛然后搜索你的标题看别人的回答也行。

⑦ 8个LED灯怎么不能循环闪烁我用Proteus和Keil,图画的没问题,就是不知程序错在哪

#include "reg52.h"
#define uchar unsigned char;
uchar num,t;
void main()
{
num=0xfe;
t=0;
TMOD=0x10;
EA=1;
ET1=1;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
while(1)
{
if(t==7)
t=0;
}
}
void time0() interrupt 3
{
【 TH0=(65536-50000)/256;//请问,你到底是想用定时器1还是定时器0
TL0=(65536-50000)%256;】
t++;
【 num=num|0x01;
num=num<<1;】这两行调换位置

P1=num;
}
从你犯的这两个问题可以看出,你是一位初学者。遇到问题知道来网上进行求助,说明你懂得应用网络这个资源,但是,我建议在往后的学习中能够细心一点,这样能避免很多不必要的问题。建议多看一点别人写的比较正规的程序,注意格式,你的程序什么注释也没有。
要学会自己找问题,自己解决问题,我们要学习是方法,如何解决问题的方法。
说多了!个人之言,仅供参考!

⑧ 利用8个LED灯设计一组循环彩灯,要有多种花型自动变换(至少6种),并且自定义控制开关,

moleledwater(clk,led,s)
inputclk;
input[1:0]s;
output[7:0]led;

reg[7:0]led=0;
reg[1:0]olds=0;

always@(posedgeclk)olds<=s;
always@(posedgeclk)
if(olds^s)
case(s)
2'b00:led<=1;//*a
2'b01:led<=1;
2'b10:led<=8'b1010_1010;
2'b11:led<=8'b0000_0111;
endcase
else
case(s)
2'b00:led<={led[6:0],led[7]};//*b
2'b01:led<={led[0],led[7:1]};
2'b10:led<=~led;
2'b11:led<={led[6:0],led[7]};
endcase
endmole
//第一种:一个灯亮,从右往左逐个移动,并循环
//第二种:一个灯亮,从左往右逐个移动,并循环
//第三种:一个间一个灯亮,并交替循环
//第四种:三个灯亮,从右往左逐个移动,并循环
//当然可以再多一些花样:
//如:灯从右往左逐步点亮
//*a改为:led<=1;
//*b改为:led<=(&led)?1:{led[6:0],1'b1};

⑨ 用单片机设计8个led灯同时闪烁的程序!!

AT8951单片机控制8个发光二极管跑马灯课程设计程序。我给你

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919