
单片机控制流水灯的程序
3个回答
展开全部
#include <reg52.h>
void delay(unsigned int cnt)
{
while(--cnt);
}
main()
{
P1=0xfe;//给初始化值
while(1)
{
delay(30000);
P1<<=1;//左移一位
P1|=0x01;//最后一位补1
if(P1==0x7f)
{
delay(30000);
P1=0xfe;
}
}
}
void delay(unsigned int cnt)
{
while(--cnt);
}
main()
{
P1=0xfe;//给初始化值
while(1)
{
delay(30000);
P1<<=1;//左移一位
P1|=0x01;//最后一位补1
if(P1==0x7f)
{
delay(30000);
P1=0xfe;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
org 0000h
ajmp main
org 0030h
main:
mov a,#0FEH
LOOP :
MOV P1,A
ACALL DELAY
RL A
AJMP LOOP
DELAY:
MOV R7,#100
D_LOOP2 :
MOV R6,#255
D_LOOP1:
MOV R5,#255
DJNZ R5,$
DJNZ R6,D_LOOP1
DJNZ R7,D_LOOP2
RET
END
ajmp main
org 0030h
main:
mov a,#0FEH
LOOP :
MOV P1,A
ACALL DELAY
RL A
AJMP LOOP
DELAY:
MOV R7,#100
D_LOOP2 :
MOV R6,#255
D_LOOP1:
MOV R5,#255
DJNZ R5,$
DJNZ R6,D_LOOP1
DJNZ R7,D_LOOP2
RET
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
P1=0xfe;
temp=P1;
while(1)
{
temp=_crol_(temp,1);
P1=temp;
delay(50);
}
}
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
P1=0xfe;
temp=P1;
while(1)
{
temp=_crol_(temp,1);
P1=temp;
delay(50);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询