流水灯1到8顺序点亮后再由8到1顺序熄灭如此循环
while下两个for,for里1点点亮。延时。二灯点亮延时,,,,第二个for里从8灯开始熄灭延时

如何用单片机实现流水灯,从一依次亮到八,再从八依次亮回一,一直循环?
有个想法, 放一个字节LED做标志位,可位寻址。 每一位代表一个灯。
对字节LED附初值1,做一个200mS的时钟,每200ms对字节LED值做左移1位指令(汇编可循环)。
主程序中位寻址判断字节LED的bit(0-7)点亮相应的灯。或者直接P0=LED
纯想法、还没试过,感觉好玩,呵呵。 好像上述灯流的方式不对,不过可以改。。。
plc流水灯梯形图(要求1--8号灯依次亮后,再8--1号灯依次亮,能循环的亮)
如图所示:
由于这里是个纯时序逻辑。可以用一个时钟和启动按钮作为触发条件,第一秒开启l1输出,第三秒l1关断,l2输出。以此类推,当运行完一轮之后重置。
不用时序可以使用标志位,定义16个内部触点。开机之后启动触点1,触点1开启l1,当触点1开启1秒之后,启动触点2,在启动触点2时复位触点1,触点2开启l2,然后以此类推。
扩展资料:
基于平面光波导技术解决方案的器件包括:分路器(Splitter)、星形耦合器(Star coupler)、可调光衰减器(Variable Optical Attenuator,VOA)。
光开关(Optical switch)、光梳(Interleaver)和阵列波导光栅(Array Waveguide Grating,AWG)等。
根据不同应用场合的需求(如响应时间、环境温度等),这些器件可以选择不同的材料体系以及加工工艺制作而成。值得一提的是,这些器件都是光无源器件,并且是独立的。他们之间可以相互组合,或者和其他有源器件相互组合,能构成各种不同功能的高端器件。
参考资料来源:百度百科-plc
如何用单片机实现流水灯,从一依次亮到八,再从八依次亮?
单片机流水灯C语言程序的源代码如下:
#include //51系列单片机定义文件。
#define uchar unsigned char //定义无符号字符。
#define uint unsigned int //定义无符号整数。
void delay(uint); //声明延时函数。
硬件特征
1、单片机的体积比较小, 内部芯片作为计算机系统,其结构简单,但是功能完善,使用起来十分方便,可以模块化应用。
2、单片机有着较高的集成度,可靠性比较强,即使单片机处于长时间的工作也不会存在故障问题。
3、单片机在应用时低电压、低能耗,是人们在日常生活中的首要选择, 为生产与研发提供便利。