找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3094|回复: 8
收起左侧

求助帖,单片机怎么实现左移后右移?

[复制链接]
ID:725542 发表于 2020-4-12 10:59 | 显示全部楼层 |阅读模式
我的想法是,led依次左到右,然后最右灯又从又走到左。我的主程序是这样的,但测试的时候,只是在第一二个灯来回,这是什么问题?
void main()
{
        u8 i=0;
        led=0xfe;
        delay(50000);
        while(1)
        {
                for(i=0;i<7;i++);
                {
                led=_crol_(led,1);
                delay(50000);
                }
                for(i=7;i>0;i--);
                {
                led=_cror_(led,1);
                delay(50000);
                }
        }


}

回复

使用道具 举报

ID:591189 发表于 2020-4-13 10:49 | 显示全部楼层
不知道你的问题在哪,我用你的也不行,但把自己的改成你的样式依然可以。。。#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
uint temp1;
uchar i;
void delay(int a);
void main()
{
P2=0xfe;
temp1=0x7f;
while(1)
{

for(i=0;i<8;i++)
{
//P2=temp;
P2=_crol_(P2,1);
delay(50);
}
for(i=0;i<8;i++)
{
//P2=temp1;
P2=_cror_(P2,1);
delay(50);
//P2=temp;
}
}
}   
void delay(int a)
{
uint x,y;
for(x=a;x>0;x--)
for(y=100;y>0;y--);
}
回复

使用道具 举报

ID:280000 发表于 2020-4-14 21:28 | 显示全部楼层
用左移和右移的函数就行  很简单的
回复

使用道具 举报

ID:524818 发表于 2020-4-15 08:20 | 显示全部楼层
把  led=0xfe 放到while循环里面试试
回复

使用道具 举报

ID:332444 发表于 2020-4-15 08:54 | 显示全部楼层
回复

使用道具 举报

ID:725110 发表于 2020-4-15 10:14 | 显示全部楼层
把你for循环函数后面的分号去掉
回复

使用道具 举报

ID:673985 发表于 2020-4-15 10:32 来自触屏版 | 显示全部楼层
有专门的函数实现的
回复

使用道具 举报

ID:213173 发表于 2020-4-15 10:56 | 显示全部楼层
for(i=0;i<7;i++);多了分号
回复

使用道具 举报

ID:711951 发表于 2020-4-15 13:24 来自触屏版 | 显示全部楼层
看一下我的这个#include<reg52.h>  #include<intrins.h>  #define uchar unsigned char  #define uint unsigned int  void delay(uint z);  main()  {  uchar aa;  uint i=0;  while(1)  {  aa=0xfe;最右小灯亮  P0=aa;  delay(100);  while(1)  {  aa=crol(aa,1);左移一位  P0=aa;  delay(1000);  i++;  if(i>=7)  {  for(;i>0;)  {  aa=cror(aa,1);右移一位  P0=aa;  delay(1000);  i–;  }  break;  }  }  }  }  void delay(uint z)  {  uint x,y;  for(x=z;x>0;x–)  for(y=110;y>0;y–);  }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表