单片机怎么写8路流水灯程序

要求1流到8后,8亮记起来,接着1亮到7,7亮起来,以此类推,谢谢... 要求1流到8后,8亮记起来,接着1亮到7,7亮起来,以此类推,谢谢 展开
 我来答
胖大海君
2012-08-18 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1436
采纳率:11%
帮助的人:643万
展开全部

参考程序:           

                  ORG       0000H

                   LJMP       MAIN

                   ORG       0100H

MAIN:          MOV       R7,#8            ;设置外循环次数

                   MOV       R5,#0FFH

LL0:            MOV       A,R7

                   MOV       R6,A             ;设置内循环次数

                   MOV       A,#0FFH

                   CLR        C

LL1:          RLC        A

                   ANL         A,R5

                   MOV       P1,A

                   LCALL     YS20MS     ;流水间隔时间为20毫秒

                   DJNZ       R6,LL1

                   MOV       R5,P1

                   DJNZ       R7, LL0

LEND:         SJMP      LEND           ;循环结束后   暂停

 

YS20MS:     MOV      R4,#67         ;延时子程序

YSLL1:        MOV      R3,#200

YSLL2:       NOP

                   NOP

                   DJNZ      R3,YSLL2

                   DJNZ      R4,YSLL1

                   RET

 

        呵呵       也没有加分啊    就给选一个满意回答吧         

                   

追问
有C语言的吗
追答
呵呵    C语言还是自己动手写吧   俺只提供一个算法    希望你会自己丰衣足食。
huangdianzai
2012-08-20
知道答主
回答量:26
采纳率:0%
帮助的人:7.4万
展开全部
#include <REGX51.H>
void delay();
void main() // (主函数)
{
while(1) //循环标志
{
P1=0xef;
delay();
P1=0xdf;
delay();
P1=0xbf;
delay();
P1=0x7f;
delay();
P1=0xfe;
delay();
P1=0xfd;
delay();
P1=0xfb;
delay();
P1=0xff;
}
}
void delay() //延时子函数
{
int i,j;
for(i=100;i>0;i--)
for(j=100;j>0;j--);
}

这是16进制的,1到8盏的亮法,后面的你先想吧···
追问
这种程序我会写  就是我写的程序流水灯亮到第8个就灭了  我要求第8个亮起来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式