找回密码
 立即注册

QQ登录

只需一步,快速开始

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

帮忙看看这个程序有什么问题,为什么一直循环不停

  [复制链接]
跳转到指定楼层
楼主
ID:109391 发表于 2016-4-14 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 569221640 于 2016-4-14 21:23 编辑

#include<reg52.h>

sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;

void delay(unsigned int xms)
{
        unsigned int i,j;
        for(i=xms;i>0;i--);
                for(j=112;j>0;j--);
}

void main()
{
        unsigned char i;
                {
                        for(i=0;i<9;i++)
                        {
                                  led1=0;
                                    delay(10000);
                                   led1=1;
                                    delay(10000);
                        }
                }
}

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

使用道具 举报

沙发
ID:94827 发表于 2016-4-14 21:52 | 只看该作者
主函数没有死循环加个while(1)
回复

使用道具 举报

板凳
ID:114309 发表于 2016-4-14 23:13 | 只看该作者
哥们你这程序写的格式都不太对啊
回复

使用道具 举报

地板
ID:114312 发表于 2016-4-14 23:39 | 只看该作者
你这个程序是想干什么?
回复

使用道具 举报

5#
ID:110895 发表于 2016-4-15 00:24 | 只看该作者
delay函数的 for语句后面多了分号,应去掉。
回复

使用道具 举报

6#
ID:114314 发表于 2016-4-15 00:42 | 只看该作者
delay函数中 for语句后面多了分号.
回复

使用道具 举报

7#
ID:97438 发表于 2016-4-15 08:47 | 只看该作者
这样写错的。。。需要循环的话加while(1){ }
需要停下来的话 while(1);
回复

使用道具 举报

8#
ID:109391 发表于 2016-4-15 19:51 | 只看该作者
本帖最后由 569221640 于 2016-4-15 20:20 编辑

改成这样能实现了     谢谢大家


#include<reg52.h>

sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;

void delay(unsigned int xms)
{
        unsigned int i,j;
        for(i=xms;i>0;i--)
                for(j=112;j>0;j--);
}

void main()
{
        unsigned char i;
        {
                 for(i=0;i<9;i++)
                {                  
                           led1=0;
                              delay(200);
                                   led1=1;
                              delay(200);
                }       
        }
        while(1);
}
回复

使用道具 举报

9#
ID:109391 发表于 2016-4-15 20:23 | 只看该作者
改成这样能实现了    谢谢大家

#include<reg52.h>

sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;

void delay(unsigned int xms)
{
        unsigned int i,j;
        for(i=xms;i>0;i--)
                for(j=112;j>0;j--);
}

void main()
{
        unsigned char i;
        {
                 for(i=0;i<9;i++)
                {                
                                 led1=0;
                                    delay(200);
                                   led1=1;
                                    delay(200);
                }       
        }
        while(1);
}
回复

使用道具 举报

10#
ID:114450 发表于 2016-4-15 21:56 | 只看该作者
最好i 也不要重复用吧
回复

使用道具 举报

11#
ID:99938 发表于 2016-4-15 23:00 | 只看该作者
i是可以这样用的,因为不在一个函数里。
回复

使用道具 举报

12#
ID:114463 发表于 2016-4-15 23:11 | 只看该作者
你还是先把你程序里面的错误改掉吧,比如一些标点符号啊,你照着别人的程序看看
回复

使用道具 举报

13#
ID:99731 发表于 2016-4-15 23:16 | 只看该作者
下面加一个while(1);
回复

使用道具 举报

14#
ID:114467 发表于 2016-4-15 23:33 | 只看该作者
 主函数没有死循环加个while(1)
回复

使用道具 举报

15#
ID:110734 发表于 2016-4-16 07:41 | 只看该作者
主函数没有加while,这样写法不对滴
回复

使用道具 举报

16#
ID:97438 发表于 2016-4-16 09:15 | 只看该作者
a408264353 发表于 2016-4-15 21:56
最好i 也不要重复用吧

i这样用没问题,但是还是别这样用。。。到时候要查找什么的就麻烦了。
回复

使用道具 举报

17#
ID:114537 发表于 2016-4-16 13:45 | 只看该作者
for(i=xms;i>0;i--);改成for(i=xms;i>0;i--)
回复

使用道具 举报

18#
ID:114519 发表于 2016-4-16 14:02 | 只看该作者
本帖最后由 569221640 于 2016-4-14 21:23 编辑   #include<reg52.h>  sbit led1=P1^0; sbit led2=P1^1; sbit led3=P1^2;  void delay(unsigned int xms) {         unsigned int i,j;         for(i=xms;i>0;i--);                 for(j=112;j>0;j--); }  void main() {         unsigned char i;                 {                         for(i=0;i<9;i++)                         {                                   led1=0;                                     delay(10000);                                    led1=1;                                     delay(10000);                         }         while(1)        } }
回复

使用道具 举报

19#
ID:153199 发表于 2017-1-2 15:17 | 只看该作者
for语句有问题谢谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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