求你89C52单片机流水灯移动的程序 第一次一个LED左移8次,第二次二个LED

求你89C52单片机流水灯移动的程序第一次一个LED左移8次,第二次二个LED右移8次,第三次三个LED左移8次,以此类推....第八次LED闪烁8次。求程序,谢谢。... 求你89C52单片机流水灯移动的程序
第一次一个LED左移8次,第二次二个LED右移8次,第三次三个LED左移8次,以此类推....第八次LED闪烁8次。求程序,谢谢。
展开
 我来答
CCCCCCC丶cwc
2017-01-06 · 超过20用户采纳过TA的回答
知道答主
回答量:57
采纳率:66%
帮助的人:13.7万
展开全部
#include<reg52.h>
#include<intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;

sbit led=P2;//这里填你LED连接的端口(引脚),不一定是P2,也有可能是P3、P0

void delay(u16 i)
{
while(i--);
}

void shan1()
{
u8 i;
led=0x01;//我默认led输入高电平1是亮,具体按照你实际情况,低电平亮就0xfe;
for(i=0;i<7;i++)//已经点亮一个了,所以剩7个。
{
led=_crol_(led,1);//左移1位
}
led=0x00;
}

void shan2()
{
u8 i;
led=0xc0;//我默认led输入高电平1是亮,具体按照你实际情况
for(i=0;i<6;i++)已经点亮两个个了,所以剩6个。
{
led=_cror_(led,1);//右移一位
delay(1000);
}
led=0x00;
}
void shan2()
{
u8 i;
led=0xc0;//我默认led输入高电平1是亮,具体按照你实际情况
for(i=0;i<6;i++)
{
led=_cror_(led,1);
delay(1000);
}
led=0x00;
}

void main()
{
while(1)
{
shan1();
delay(1000);
shan2();
}
}
俟韦茹mQ
2017-01-06 · TA获得超过4819个赞
知道小有建树答主
回答量:3296
采纳率:28%
帮助的人:552万
展开全部
2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式