导航:首页 > 操作系统 > 简单的51单片机花样流水灯

简单的51单片机花样流水灯

发布时间:2023-02-15 02:44:40

⑴ 51单片机实现流水灯,计数器显示灯亮的序号

51单片机实现流水灯,计数器显示灯亮的序号。程序中用的变量ledi和b重复了,只用b就行。把主程序第二行声明换成b,画红线的3行删掉,红箭头的是替换。强调,原来b不能在那里赋值为0,这样b永远为0,虽然有b++,下面还有b=0,又回0了。

⑵ 51单片机32个流水灯编程如何实现指定其中某一个灯亮,如何实现多种花样亮灯

要51单片机控制32个流水灯,关键是要解决电路设计,只要能设计出电路来,编程实现控制指定其中某一个灯亮,并实现多种花样亮灯,就容易了。如果只做32个流水灯,就用单片机的四个并行口,共32个IO引脚全部用上,正好控制32个流水灯。如果引脚还有其他应用,可用四片锁存器,也可以控制32个流水灯了。

⑶ 关于单片机C51做流水灯和花式的

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
uchar i,j,w =0xfe;
void delay()
{
for( i = z;i > 0;i++)
{
TH0 = (65536 - 50000)/256; //利用定时器0准确定时
TL0 = (65536 - 50000)%256;
TR0 = 1;
while(!TF0); //当TF0 = 1 时,关闭它。
TF0 = 0;
}
}
void main()
{
TMOD = 0x01; //设置定时器0工作方式1
while(1)
{
P1 = 0xff; //关闭所有二极管
P2 = 0xff;
delay(10); // 延时500ms;
P1 = 0x00;
P2 = 0x00;
delay(10);
for(j = 0;j < 8;j++)
{
P1 = w;
delay(10);
w = _crol_(w,1); // 做移动一位。
}
w = 0xfe;
for(j = 0;j < 8;j++)
{
P2 = w;
delay(10);
w = _crol_(w,1);
}
for(j = 0;j <3;j++) //左右两侧四只同时闪烁3次
{
P1 = 0xf0;
P2 = 0x0f;
delay(10);
P1 = 0xff;
P2 = 0xff;
}
delay(20); //延时1s.
}
}

⑷ 如何用单片机简单制作一个流水灯

  1. 工具:STC系列51单片机、串口转换器(USB转TTL 或232转TTL)

  2. 材料:实验板一块(可以买现成的,也可以买面包板自己搭建),电阻、LED灯 若干,5V电源等。

  3. 以下程序可以直接用Keil C 直接编译执行。

//可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。


//具体实现方法可以参考如下程序:


#include<reg51.h>

#include<intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

voiddelay(uinta);

voidmain()

{

P1=0xfe;

while(1)

{

//向左循环点亮LED

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

{

P1=_crol_(P1,1);//左移一位,点亮下一位LED

delay(55);

}

//向右循环点亮LED

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

{

P1=_cror_(P1,1);//右移一位,,点亮上一位LED

delay(55);

}

}

}

//延时函数,延时a毫秒

voiddelay(uinta)

{

uintx,y;

for(x=a;x>0;x--)

for(y=110;y>0;y--);

}

⑸ 51单片机 8盏花样流水灯

ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV R1,#7 ;
MOV A,#0FCH
LOOP1: MOV P1,A
RL A
CALL DELAY
DJNZ R1,LOOP1
MOV P1,00H
CALL DELAY
CALL DELAY
MOV R1,#7 ;
MOV A,#3FH
LOOP2: MOV P1,A
CALL DELAY
RR A
DJNZ R1,LOOP2
MOV P1,#00H
CALL DELAY
SJMP MAIN

DELAY: MOV R4,#4
MOV R5,#200
MOV R6,#248
DJNZ R6,$
DJNZ R5,$-2
DJNZ R4,$-4
RET
END
注:LED共阳接法

⑹ 51单片机流水灯原理

单片机流水灯控制原理就是将多个LED灯珠连接到不同的单片机输出端上,编程使单片机的这些输出端逐个的输出信号点亮LED,在设置好各个LED的通电时间和通电间隔时间后,就可以看到这些LED灯珠此起彼伏的亮起,如同流水一样.

⑺ 想用51单片机驱动led,做花样流水灯,有四五十多个,接口不够怎么办,需要哪些电子器件谢谢

1、扩并口,用8255或者74HC573锁存器。P0加另一个口可以简单扩出8个口,得到8*8=64个控制IO。足够用了。
2、用串口移位控制,74LS595,可以级联,理论上你可以扩充无限。

⑻ 51单片机流水灯程序

程序如下:

#include <reg52.h>

sbit led1 = P2^0;

sbit led2 = P2^1;

sbit led3 = P2^2;

sbit led4 = P2^3;

sbit led5 = P2^4;

sbit led6 = P2^5;

sbit led7 = P2^6;

sbit led8 = P2^7;


void main()

{

int i,j;

//点亮第一个灯

led1 = 1;

led2 = 0;

led3 = 0;

led4 = 0;

led5 = 0;

led6 = 0;

led7 = 0;

led8 = 0;

//延时1秒

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

{

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

{

;//什么也不做

}

}

//点亮第二个灯

led1 = 0;

led2 = 1;

led3 = 0;

led4 = 0;

led5 = 0;

led6 = 0;

led7 = 0;

led8 = 0;

//点亮剩余的灯

//省略……

while(1);

}

(8)简单的51单片机花样流水灯扩展阅读:

流水灯几点说明:

void:因为该延时函数不需要返回值,所以写为void

delay1s:该函数的函数名,命名需要符合C语言的标识符命名规则。

(): 不需要传入参数,所以括号中为空

至此我们可以把流水灯程序写为以下形式:

⑼ C语言C51单片机花样流水灯程序分析注释

和你说一句关键的(别告我你整个程序一句都看不懂):
P1=0xfe;

0xfe是十六进制表示的数,二进制就是1111 1110,通过你的程序和相关注释可以看出,硬件上你有8个led灯连接P1口,且这些led是低电平亮。P1=0xfe(1111 1110)也就是表示七个灯灭,一个灯亮。接下来的代码就是让P1数据0xfe左移且低位补1,移一次就是1111 1101,、两次就是1111 1011,三次是1111 0111。。。以此类推,可以看出它是0由最低位到最高位依次移过去的,而刚说了0表示led亮,这也就是led从一边到另一边依次点亮的效果。
后面的代码按我上面说的自己理解,完全对你解释太麻烦,对你也没多大好处,只有你自己理解了才能学好单片机

阅读全文

与简单的51单片机花样流水灯相关的资料

热点内容
c语言编程如何做标记 浏览:884
python数据分析实战pdf 浏览:983
u盘插入文件夹 浏览:916
华为amd云服务器 浏览:495
汉化编程卡是什么意思 浏览:126
python学习pdf 浏览:313
祝绪丹程序员那么可爱拍吻戏 浏览:198
asp源码会员消费系统 浏览:113
java反射设置 浏览:152
python一行文 浏览:439
排序算法优缺点 浏览:563
恶搞加密文件pdf 浏览:674
gif怎么压缩图片大小 浏览:217
命令选择当前不可用 浏览:158
欧几里得算法如何求逆元 浏览:506
男中学生上课解压神器 浏览:373
加密狗拔掉之后怎么办 浏览:27
云储存平台源码 浏览:847
解压文件苹果手机rar 浏览:149
centos开机命令行模式 浏览:697