找回密码
 注册
关于网站域名变更的通知
查看: 408|回复: 3
打印 上一主题 下一主题

求单片机流水灯使用Switch语句有难题!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-18 10:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 niubility 于 2022-10-18 13:29 编辑
) G8 K' E" r) M1 L0 D3 R, o, z, w$ h" d# w3 B! d- i$ t7 E
  • #include
  • ***it    S1=P0^0;
  • void  delay(unsigned int i)
  • {     unsigned int k;
  •       for(k=0;k
  • }
  • void main()
  • {    unsigned char i=0;
  •      P1=0xff;
  •          while(1)
  •         {   if(S1==0)
  •            {   delay(1200);
  •                   if(S1==0)
  •                  {         if(++i ==9)i=1; }
  •                 }
  •                 switch(i)
  •                 {
  •                          case  1:{P1=0x00;delay(10000); P1=0xff;delay(10000);} break;
  •                          case  2: P1=0x55;break;
  •                          case  3: P1=0xcc;break;
  •                          case  4: P1=0xf0;break;
  •                          case  5: P1=0x0f;break;
  •                          case  6: P1=0x81;break;
  •                          case  7: P1=0x7e;break;
  •                          case  8: P1=0x00;break;
  •                          default:break;
  •                   }
  •                   while(!S1);
  •                   delay(1200);
  •           }
  • }
    ; X: N9 q% `. ~5 a
8 k! W3 u7 N1 j( s  a
2 P8 L( I% s8 O$ w( N5 F
现在的问题是:Switch语句中case 1无法跳出继续执行case 2,但是在修改case 1中延时时间后可以跳出(原本是10000,修改后是1000),请问这是什么原因,为什么会跟时间扯上关系? 1 v5 L5 {8 l" q8 h

! W* y6 Y3 n- j, V8 F4 y$ M# j
7 v' H" s9 d* _5 v9 R$ a- p$ \( d6 t

该用户从未签到

2#
发表于 2022-10-18 13:24 | 只看该作者
你的break写错了啊,应该是switch跳出的时候用break啊 。

该用户从未签到

3#
发表于 2022-10-18 14:10 | 只看该作者
第一个delay(1200)去掉试试,另外贴上来的代码是不是少了一个大括号!

该用户从未签到

4#
发表于 2022-10-18 14:38 | 只看该作者
delay(10000)和delay(1000)都没有超出定义的数据类型范围/ L: d# \/ N) {8 S
测试方法是否有误,第一次按下按键时i=1,只有执行到while(!S1)后再次按下按键i才等于2,否则P1一直是0xff
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-29 18:07 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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