找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3152|回复: 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);
                }
        }


}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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循环里面试试
回复

使用道具 举报

5#
ID:332444 发表于 2020-4-15 08:54 | 只看该作者
回复

使用道具 举报

6#
ID:725110 发表于 2020-4-15 10:14 | 只看该作者
把你for循环函数后面的分号去掉
回复

使用道具 举报

7#
ID:673985 发表于 2020-4-15 10:32 来自触屏版 | 只看该作者
有专门的函数实现的
回复

使用道具 举报

8#
ID:213173 发表于 2020-4-15 10:56 | 只看该作者
for(i=0;i<7;i++);多了分号
回复

使用道具 举报

9#
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 单片机教程网

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