11智能在线
新记
如何用单片机实现流水灯,从一依次亮到八,再从八依次亮回一,一直循环?
如题所述
举报该文章
相关建议 2013-04-26
有个想法, 放一个字节LED做标志位,可位寻址。 每一位代表一个灯。
对字节LED附初值1,做一个200mS的时钟,每200ms对字节LED值做左移1位指令(汇编可循环)。
主程序中位寻址判断字节LED的bit(0-7)点亮相应的灯。或者直接P0=LED
纯想法、还没试过,感觉好玩,呵呵。 好像上述灯流的方式不对,不过可以改。。。
追问
额,我是新学的,貌似,有点看不懂…
追答
饿。。今天有热心网友给出程序了,看程序吧。自已再加些申明就可以了
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/2ss4v8mfs.html
其他看法
第1个回答 推荐于2017-09-01
//简单一点
#include<reg51.h>
#define uchar unsigned char
#define uint
unsigned int
void delay(uint ms)
{
uchar i;
while(ms--)
for(i=0;i<123;i++);
}
void main()
{
uchar j;
P1=0x00;
while(1)
{
uchar temp=0x01;
for(j=0;j<8;j++)
{
P1=temp;
temp=temp<<1;
delay(500);
}
temp=0x80;
for(j=0;j<8;j++)
{
P1=temp;
temp=temp>>1;
delay(500);
}
}
}
本回答被提问者和网友采纳
相似回答
大家正在搜
相关问题
C语言控制单片机,控制八个流水灯从左到右依次亮,最后又从右到...
用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点...
设计一个具有8个LED灯,要求从右向左依次点亮一秒后熄灭,循...
stm32f103单片机怎样实现流水灯从左向右依次亮灭后全灭...
单片机用三个开关控制八个流水灯一个全亮一个全灭一个循环点亮
51单片机流水灯依次点亮循环两次怎么实现?只循环两次!
单片机 亮灯:8个灯左右来回亮。既先按流水灯从左到右亮,再从...
单片机c51用指针实现8个流水灯往复循环跑动如何实现