找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3267|回复: 2
打印 上一主题 下一主题
收起左侧

[求助]c51 编程

[复制链接]
跳转到指定楼层
楼主
ID:45212 发表于 2012-10-3 20:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 

#include<reg52.h》

#include<intrins.h>

#define uint unsigned int

#define uchar unsigned char

uchar aa;

uint i,j;

void delay(uint);

void main()

{

            for(i=0;i<=1;i++)
 { aa=0xfe;
       for(i=0;i<=7;i++)
       { P0=aa;
          delay(200);
          aa=_crol_(aa,1);
         delay(200);
        }
     aa=0x00;
       for(j=0;j<=7;j++)
         { P0=aa;
           delay(200);
           aa=_cror_(aa,1);
         delay(200);
         }
    }
     aa=0xff;

                  for(i=0;i<=4;i++)
    {
        P0=aa;
       delay(300);
       P0=~aa;
       delay(300);
    }

}

void delay(uint ms)
 {
  for(i=ms;i>0;i--)
      for(j=110;j>0;j--) ;
 }

 

 

 

 

题目如下。。

 

 

8个发光管间隔200ms由上至下,再由下至上,再重复一次

 

 

然后全部熄灭再以300ms间隔全部闪烁5次。tg此过程

 

 

 

 

为什么我运行的时候只有第一个for循环实现了。。其余都没有实现。

 

 

但keil并没有报错、、

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

使用道具 举报

沙发
ID:45216 发表于 2012-10-3 23:55 | 只看该作者

你的第一个for循环括号位置不对,建意将其改为while(1)的形式。

回复

使用道具 举报

板凳
ID:45212 发表于 2012-10-11 23:45 | 只看该作者
我的目的是重复两次。。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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