8658|14

120

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

switch 语句困惑? [复制链接]

#include
sbit ENLED = P1^4;
sbit ADDR3 = P1^3;
sbit ADDR2 = P1^2;
sbit ADDR1 = P1^1;
sbit ADDR0 = P1^0;

unsigned char code Ledcode[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
unsigned char val=0;
// 延时
void delay(unsigned int i)
{
while (i--);
}

main()
{
unsigned int val=0, n=0;

while (1)
{
  n++;
  if (n >13)
  {
   n = 0;
   if (val >= 9)
    val = 0;
   else
    val++;
   P0 = Ledcode[val];
  }
  switch (n%6)
  {
   case 0:
    ADDR0 = 0;
    ADDR1 = 0;
    ADDR2 = 0;
    break;
   case 1:
    ADDR0 = 1;
    ADDR1 = 0;
    ADDR2 = 0;
    break;
   case 2:
    ADDR0 = 0;
    ADDR1 = 1;
    ADDR2 = 0;
    break;
   case 3:
    ADDR0 = 1;
    ADDR1 = 1;
    ADDR2 = 0;
    break;
   case 4:
    ADDR0 = 0;
    ADDR1 = 0;
    ADDR2 = 1;
    break;
   case 5:
    ADDR0 = 1;
    ADDR1 = 0;
    ADDR2 = 1;
    break;
  }
// delay(100);
}
}
以上程序运行没问题,仿真单步 case 0: case 2:中44,45,54,55几句不执行如图?哪里错误?请教!

问题.jpg (14.8 KB, 下载次数: 0)

问题.jpg
此帖出自51单片机论坛

最新回复

我也碰到类似的问题了  详情 回复 发表于 2016-4-16 13:35
点赞 关注
个人签名我来到
 

回复
举报

4005

帖子

0

TA的资源

版主

沙发
 
没看出来有问题

[ 本帖最后由 huo_hu 于 2012-9-7 12:08 编辑 ]
此帖出自51单片机论坛
 
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
我用kEILl调试单步就如上图,程序没看出错,问题在哪?
此帖出自51单片机论坛
 
个人签名我来到
 
 

回复

4005

帖子

0

TA的资源

版主

4
 
(n%6)成逻辑值了吧
此帖出自51单片机论坛
 
 
 

回复

1万

帖子

16

TA的资源

版主

5
 
这是因为你的case 0: case 2:永远也到达不了
此帖出自51单片机论坛

点评

他说的是44,45,54,55那几句被执行,case 0,case 2是去了的哦。  详情 回复 发表于 2012-9-8 07:57
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

471

帖子

0

TA的资源

一粒金砂(高级)

6
 

回复 5楼 ddllxxrr 的帖子

他说的是44,45,54,55那几句被执行,case 0,case 2是去了的哦。
此帖出自51单片机论坛
 
 
 

回复

6040

帖子

204

TA的资源

版主

7
 
楼主需要看看生成的汇编代码,是不是被优化了。
此帖出自51单片机论坛

点评

对,看看汇编代码,有可能是汇编代码的问题。  详情 回复 发表于 2012-9-8 14:48
 
 
 

回复

384

帖子

2

TA的资源

纯净的硅(初级)

8
 

回复 7楼 lcofjp 的帖子

对,看看汇编代码,有可能是汇编代码的问题。
此帖出自51单片机论坛
 
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

9
 
可惜我不会汇编,继续求解........
此帖出自51单片机论坛
 
个人签名我来到
 
 

回复

381

帖子

0

TA的资源

纯净的硅(高级)

10
 
你把优化设置成最低级就行了,基本是这个问题的了
此帖出自51单片机论坛

点评

感谢你的答案,佩服!!  详情 回复 发表于 2012-9-9 16:39
 
 
 

回复

135

帖子

0

TA的资源

纯净的硅(初级)

11
 
在keil下调试没有问题啊

123.JPG (28.2 KB, 下载次数: 0)

123.JPG
此帖出自51单片机论坛
 
 
 

回复

17

帖子

0

TA的资源

一粒金砂(初级)

12
 
我试过了 就是优化的问题
此帖出自51单片机论坛
 
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

13
 

回复 10楼 虚V界 的帖子

感谢你的答案,佩服!!
此帖出自51单片机论坛
 
个人签名我来到
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

14
 
感谢大家的帮助,是优化问题。
此帖出自51单片机论坛
 
个人签名我来到
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
我也碰到类似的问题了
此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表