|
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 |
|