找回密码
 注册
查看: 387|回复: 3
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 niubility 于 2022-10-18 13:29 编辑
+ c* k( [( h" X+ O& A( h1 F
4 Q1 D8 R# R3 U( I
  • #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);
  •           }
  • }+ u6 t- L' G9 S. j  x8 v" L* R

' @5 B3 Z/ N5 h* h6 K* G, ^
8 c. {1 N* k$ s: C; x* X* ]3 ~1 B7 A现在的问题是:Switch语句中case 1无法跳出继续执行case 2,但是在修改case 1中延时时间后可以跳出(原本是10000,修改后是1000),请问这是什么原因,为什么会跟时间扯上关系?
1 `" j' B4 u( @" d9 k3 l; d7 Y, ~% M% m5 N! B% w4 K4 E" _

& {! z! n4 q- D' H

该用户从未签到

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)都没有超出定义的数据类型范围
; I0 t" N4 P, C测试方法是否有误,第一次按下按键时i=1,只有执行到while(!S1)后再次按下按键i才等于2,否则P1一直是0xff
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-1 15:04 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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