单片机C语言编程:让8个LED流水灯以0.2s时间间隔从左到右依次点亮然后重复实现

 我来答
百度网友719eb7e
推荐于2018-03-08 · TA获得超过455个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:236万
展开全部
#include<reg52.h>
#include<intrins.h>
void delay(unsigned int z );
void main()
{
unsigned int a;
unsigned char b=0xfe;
for(a=0;a<8;a++)
{
P1=b;//P1口接8个LED灯
delay(200);
b=_crol_ (b,1);
}
}
void delay(unsigned int z)
{
unsigned int i;
for(;z>0;z--) //延迟时间自己算吧
for(i=110;i>0;i--);
}
用汇编写这个容易点
main: mov a,#0feh
mov r0,#8
loop: mov p1,a
acall delay
rl a
djnz r0,loop
delay:mov r6,#0ffh
loop1: mov r7,#01h
djnz r7,$
djnz r6,loop1
ret
end
好像是这样,延迟时间可能不太准,也是P1口接8个LED灯
撒康胜026
2011-03-17 · TA获得超过1693个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:37.3万
展开全部
void delay(int tick);//延时0.1*tick秒
void led8(unsigned char pat);//驱动8个LED,每个bit驱动1个.从bit7到bit0,从左到右排列.输出1表示点亮.
unsigned char pat = 0;

while (1)
{
pat = 0x00;
led8(pat);
delay(2);
for(i = 0; i < 7;i++)
{
pat |= (0x80 >> i);
led8(pat);
delay(2);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sllstt
2011-03-17 · 超过10用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:20.7万
展开全部
#include<reg51.h>
void delay(void)
{
unsigned int i,j;
for(i=0;i<200;i++)
for(j=0;j<1000;j++)
;
}

void main(void)
{
while(1)
{
P3=0xfe; //第一个灯亮
delay(); //延时
P3=0xfd; //第二个灯亮
delay();
P3=0xfb; //第三个灯亮
delay();
P3=0xf7; //第四个灯亮
delay();
P3=0xef; //第五个灯亮
delay();
P3=0xdf; //第六个灯亮
delay();
P3=0xbf; //第七个灯亮
delay();
P3=0x7f; //第八个灯亮
delay();
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大牙开心就好
2011-03-17 · 超过19用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:50.5万
展开全部
void delay(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
for(j=0;j<250;j++)
{;}
}
main()
{
unsigned char a=0xfe;
unsigned int k=0;
while(1)
for(k=0;k<8;k++)
{
P1=a;//假设LED连接的是P1口
delay(200);
a=~a;
a=a<<1;
a=~a;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-04-18 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
要求不高,就不用 C 语言。
    ORG 0
    MOV A, #127
LOOP:  MOV P1, A
    RL  A
DL:   DJNZ R7, $
    DJNZ R6, DL
    JMP LOOP
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式