急求:C51单片机,做一个流水线的小灯!

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:29:35
急求:C51单片机,做一个流水线的小灯!共七个小灯,要求每个灯亮一秒,程序和电路图都要,谢谢啦,急急急...
小灯是一个亮完另一个再亮的,最好是汇编语言和c语言的都有。谢谢啦...

C语言:
#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int

//延时子程序
void mDelay(uchar Delay)
{ uchar i;
for(;Delay>0;Delay--)
{
for(i=0;i<123;i++);

}
}

void main()
{
uchar i,d;
P0 = 0; //所以LED点亮。
mDelay(250);//延时250mS(12M晶振)
mDelay(250);//延时250mS(12M晶振)
while(1)
{
d = 0x01;
for(i=0;i<8;i++)
{
P0 = ~d; //数据取反。
d<<=1; //左移一位
mDelay(200);//延时200mS(12M晶振)
}
}
}

汇编:
ORG 0000H
DD1: CLR P0.2 ; 熄灭
CALL DELY
SETB P0.2 ; 点亮
CALL DELY
SJMP DD1
DELY: MOV R6,#00H ;延时
DELY1: MOV R7,#00H
DELY2: DJNZ R7,DELY2
DJNZ R6,DELY1
RET
END

电路图不知道怎么发~

那不是