单片机流水灯由两边向中间流再由中间向两边流的程序怎么写?

如题所述

如果你的点灯是低电平
那么编码如下:
0x7e,0xbd,0xdb,0xe7;这四个编码实现从两边向中间流
0xdb,0xbd,0x7e;由上面的四个编码加上下面的四个编码就达到了从中间向两边显示的效果了
循环显示这七个编码就OK
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-06-17
#include <reg52.h>

void main(){
int i=0;
unsigned char ledd[8]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xff};
//其实就是定义了一个亮灯状态表
while(1)
for(i=0;i<8;i++)
P1=ledd[i];
}

本回答被网友采纳
第2个回答  2011-11-21
直接调用数组比较简单。见下面程序:
char TAB[4]={0x81,0x42,0x24,0x18};
for(i=0;i<4;i++)
{ LED=TAB[i];
delay(20000);
}
for(j=3;j>0;j--)
{ LED=TAB[j-1];
delay(20000);
}
第3个回答  2011-11-21
for(i=0;i<8;i++)
{
P0 = (0x7e>>i)&(0x7e<<i)
delay();
}
或者查表方式。
第4个回答  2019-02-17
因为protues的时钟不是很准~与实际效果有点偏差,应该是慢于实际时间~

单片机流水灯由两边向中间流再由中间向两边流的程序怎么写?
如果你的点灯是低电平 那么编码如下:0x7e,0xbd,0xdb,0xe7;这四个编码实现从两边向中间流 0xdb,0xbd,0x7e;由上面的四个编码加上下面的四个编码就达到了从中间向两边显示的效果了 循环显示这七个编码就OK

单片机流水灯由两边向中间流再由中间向两边流的汇编语言怎么写?
while(P1!=0xff); \/\/等待按键释放,源程序有点错误需要加分号;return Key_NO;}

51单片机流水灯从两边向中间亮代码
向。51单片机流水灯从两边是向中间亮代码的。1、先从右到左逐个亮灭,再从左到右逐个亮灭。2、由两侧向中间,再中间向两侧亮灭。3、先右再左逐个亮起,不熄灭;再从左到右逐个熄灭。4、先左再右逐个亮起,不熄灭再从右到左逐个熄灭。

51单片机LED流水灯怎么实现从两边同时逐个点亮到中间,又从中间逐个熄灯...
回答:如果只用一个端口的话,你可以建一个表,如果LED是高电平点亮的话,里面存放数据0x81,0x42,0x24,0x18 如果LED是低电平点亮的话,里面存放数据 0x7e,0xbd,0xdb,0xe7 然后在循环里一直按照数组下标0到3递增3到0递减将数组里面的数赋给端口即可。 即一个大循环里面再加两个小循环即可,具体多少次...

51单片机从中间到两边逐个点亮再从两边到中间逐个点亮程序?
这个流水灯程序最好用数组定义8个状态的灯,这样用for循环就可以实现了。简洁明了,易读性强,也容易理解。include<reg51.h> define uchar unsigned char code uchar ledtab[10]= { 0xff,0xe7,0xc3,0x81,0x00,\/\/中间开始逐渐点亮 0xff,0x7e,0x3c,0x18,0x00\/\/两边开始逐渐点亮 } void ...

...个流水灯程序,要求如下(不能用数组,8个led指示灯从两边往中间...
\/\/流水灯#include "reg52.h"#define LED_PORT P3void delay(unsigned char time){ unsigned char i,j,k; for(i=0;i<time;i++) { for(j=0;j<200;j++) { for(k=0;k<200;k++); } }}void main(){ unsigned char i,halfbyteh=0x80,halfbytel=0x01; while(1) { ...

...改变流水灯的流水方向。设定流水方向为向中间流水以及向外侧流水...
流水灯方向1数组A1[8]={就是固定数据比如8个数据,每次只有一个灯亮,当然也可以用循环写在程序里} 流水灯方向2数组A2[8]={同上,数据可反过来写,} 流水灯方向3数组A3[8]={同上,数据可反过来写,} 外部中断设标志,比如一次B=1 第二次中断B=2 第三次 B=3 用这个来变灯状态 主程序...

设计8个流水灯灯从中间依次向两边闪烁的C语言程序,不胜感激
1.51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include<reg51.h> \/\/51单片机头文件#include <intrins.h> \/\/包含有左右循环移位子函数的库#define uint unsigned int \/\/宏定义#define uchar unsigned char \/\/宏定义sbit beep=P2^3;void delay(uint z) \/\/延时函数,z的...

流水灯单片机程序代码
#10;延时1s子程序开始DEL1:MOVR6,#200DEL2:MOVR5,#250DJNZR5,$DJNZR6,DEL2DJNZR7,DEL1RETEND1、流水灯是若干个灯泡依次点亮,视觉上感觉到灯光在流动就叫做流水灯。2、它是由无数个LED灯组成的,而LED就是发光二极管的简称,它有个特性:就是它只允许电流单一方向流过。如果让LED灯亮起来,他需要...

单片机流水灯从中间向两边点亮 51.H
参考上图,代码编写如下:include<reg51.h>unsigned char code ledCode={0xE7,0xC3,0x81,0x00};void Delayms(unsigned int x){ unsigned char t; while(x--) for(t=0;t<120;t++);}void main(){ unsigned char i; while(1) { P2=ledCode[i]; Delayms(1000...

相似回答