OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7675|回复: 6

怎么能让数组的花样流水灯只运行一遍

[复制链接]

7

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
288
金钱
288
注册时间
2017-7-19
在线时间
85 小时
发表于 2021-2-11 11:14:21 | 显示全部楼层 |阅读模式
1金钱
试了很多次,用各种条件都没成功
#include<reg52.h>
unsigned char code LED[32]={0x7e,0xbd,0xdb,0xe7,
                                                  0x7f,0xbf,0xdf,0xef,
                                                  0xf7,0xfb,0xfd,0xfe,
                                                  0xfe,0xfd,0xfb,0xf7,
                                                  0xef,0xdf,0xbf,0x7f,
                                                  0xff,0xff,0x00,0x00,
                                                  0x55,0x55,0xaa,0xaa,
                                                  0xff,0xff,0x00,0x00
                                                  };//rom允许情况可以无限添加

void Delay(unsigned int t); //函数声明
/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{

unsigned char i,j;
j=2;
i=0;
             //定义一个无符号字符型
                                                                 //局部变量 i 取值范围 0~255
        while(j--)
        {       
          for(i=0;i<32;i++)
                  {
                           P1 = LED[i];
                        Delay(20000);
                       
                  }                                                        数组

        }
}

/*------------------------------------------------
延时函数,含有输入参数 unsigned int t,无返回值
unsigned int 是定义无符号整形变量,其值的范围是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}

最佳答案

查看完整内容[请看2#楼]

for后面加个死循环
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2019-9-24
在线时间
69 小时
发表于 2021-2-11 11:14:22 | 显示全部楼层
回复

使用道具 举报

0

主题

18

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2859
金钱
2859
注册时间
2020-4-20
在线时间
199 小时
发表于 2021-2-23 08:56:17 | 显示全部楼层
unsigned char i,j;
j=1;
i=0;
回复

使用道具 举报

0

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
162
金钱
162
注册时间
2019-7-5
在线时间
39 小时
发表于 2021-3-16 16:40:49 | 显示全部楼层
为什么公司不能用死循环,delay 而学校还一直教这个呢
回复

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2021-4-2 17:28:40 | 显示全部楼层
林木木 发表于 2021-3-16 16:40
为什么公司不能用死循环,delay 而学校还一直教这个呢

有的公司,比较装逼
回复

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2021-4-2 17:31:32 | 显示全部楼层
void main(void)
{
   unsigned char i,j=2;
    while(j--)
      {        
         for(i=0;i<32;i++)
                  {
                     P1 = LED[i];
                     Delay(20000);
                  }                                                        数组
   }
while(1);
}
回复

使用道具 举报

4

主题

76

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
483
金钱
483
注册时间
2020-10-10
在线时间
114 小时
发表于 2021-4-5 12:34:31 来自手机 | 显示全部楼层
林木木 发表于 2021-3-16 16:40
为什么公司不能用死循环,delay 而学校还一直教这个呢

当你使用的功能到了10个以上,如果用了delay,其它的功能器件就死掉了,运行效果超慢。要灵活使用switch
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-26 06:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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