找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机C语言写了i=1后为什么那个灯常亮了?

[复制链接]
跳转到指定楼层
楼主
ID:921257 发表于 2021-5-14 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
unsigned char code table[8] ={ 0xfe, 0xfd, 0xfb,0xf7,0xef, 0xdf,
0xbf, 0x7f };
void mdelay(unsigned int delay)
{ unsigned int i;
   for(;delay>0;delay--)
    { for(i=0;i<54;i++);
        }
}

void main()
{unsigned char i=0;
unsigned char a=1;
while(1)
  {i=0;
  P1=table[ i];
   mdelay(500);
   i=i+1;
   if(i>7)
    {while(i>0)
    {i=i-1;
           P1=table[ i];
        mdelay(500);
        if(i==0)
{  while(1)
   {P1=box[ i];
    i=i+1;
        mdelay(1000);
   }        


        
         }
   }

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

使用道具 举报

沙发
ID:833444 发表于 2021-5-14 19:50 | 只看该作者
{i=0;   P1=table[ i];    mdelay(500);    i=i+1;    if(i>7)     {while(i>0)     {i=i-1;
回复

使用道具 举报

板凳
ID:833444 发表于 2021-5-14 19:55 | 只看该作者
你这个没进if循环吧,table[i]默认点亮那个灯,if(i>7)不运行,i=0初始化写死循环外面
回复

使用道具 举报

地板
ID:833444 发表于 2021-5-14 19:56 | 只看该作者
每次进行循环你i=0都被定义了
回复

使用道具 举报

5#
ID:101869 发表于 2021-5-15 21:39 来自手机 | 只看该作者
你若果想初始化i=0  就需要把他写在死循环的外边
回复

使用道具 举报

6#
ID:921257 发表于 2021-5-15 23:25 | 只看该作者
谢谢各位的回答,问题我解决了。
回复

使用道具 举报

7#
ID:420836 发表于 2021-5-16 08:09 | 只看该作者
i = 1始终处于无限循环中
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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