如何用单片机实现流水灯,从一依次亮到八,再从八依次亮回一,一直循环?

 我来答
hg200300
2013-04-26 · 超过24用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:57.5万
展开全部
有个想法, 放一个字节LED做标志位,可位寻址。 每一位代表一个灯。

对字节LED附初值1,做一个200mS的时钟,每200ms对字节LED值做左移1位指令(汇编可循环)。

主程序中位寻址判断字节LED的bit(0-7)点亮相应的灯。或者直接P0=LED

纯想法、还没试过,感觉好玩,呵呵。 好像上述灯流的方式不对,不过可以改。。。
追问
额,我是新学的,貌似,有点看不懂…
追答
饿。。今天有热心网友给出程序了,看程序吧。自已再加些申明就可以了
47okey
推荐于2017-09-01 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2381万
展开全部
//简单一点
#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);
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式