找回密码
 立即注册

QQ登录

只需一步,快速开始

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

低电平点亮LED P2.6 P2.2两LED循环闪烁,简单程序当while(0);才能循环,为什么?

  [复制链接]
跳转到指定楼层
楼主
ID:102056 发表于 2016-9-29 13:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"reg52.h"
int        i;                         
//主函数
void main(void)
{  
        P2 = 0xbf;          //点亮P2.6
           for(i=0;i<30000;i++);
        P2 = 0Xfb;        //点亮P2.2
        for(i=0;i<30000;i++);
        while(0);             
}

//while(0); 直到型循环,是不是可以解释当它为真的时候循环,当它为假的时候退出循环。

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

使用道具 举报

沙发
ID:140874 发表于 2016-9-29 14:22 | 只看该作者
你这个程序不具备循环的功能    更改如下

void main(void)
{
    while(1)
{        
  P2 = 0xbf;          //点亮P2.6            
  for(i=0;i<30000;i++);         
  P2 = 0Xfb;        //点亮P2.2         
  for(i=0;i<30000;i++);   
}               
}
回复

使用道具 举报

板凳
ID:137261 发表于 2016-9-29 15:40 | 只看该作者
为真的时候整个程序都处在while(1)中了
回复

使用道具 举报

地板
ID:140642 发表于 2016-9-29 17:00 | 只看该作者
所谓的while(1);循环语句,其实就是扫描语句,单片机进入程序有中断和扫描之分,其实一般理解的while就是扫描,满足条件就执行
回复

使用道具 举报

5#
ID:102056 发表于 2016-9-29 17:01 来自手机 | 只看该作者
CHEN.T 发表于 2016-9-29 14:22
你这个程序不具备循环的功能    更改如下

void main(void)

你这个程序我之前试过是满足循环要求的,但是我这个我同样也满足循环电亮要求,我也是试过把我这个改为while(1);的现象是P2.6先亮在熄灭,然后P2.2亮不熄灭。
回复

使用道具 举报

6#
ID:472242 发表于 2019-2-3 20:14 | 只看该作者
楼生应该自己试试,说多了你不试试也白搭

评分

参与人数 8黑币 +194 收起 理由
shuisheng + 35
刀刀见红 + 35
areyouok + 35
sheng7533967 + 12
zhengchong60 + 12
yoxi + 15
Trump1438 + 15
Sawardeakar + 35 很给力!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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