|
因?yàn)榘存I第8次進(jìn)入流水燈期間按鍵無(wú)效,流水燈結(jié)束時(shí)按鍵難以及時(shí)操作,鍵值 i 沒(méi)有改變,所以繼續(xù)進(jìn)入流水燈。要在流水燈結(jié)束時(shí)鍵值清0。
- #include <stc8.h>
- sbit K=P5^5;
-
- void delay(unsigned int k) //@11.0592MHz
- {
- unsigned char i, j;
- while (--k)
- {
- i = 15;
- j = 90;
- do
- {
- while (--j);
- } while (--i);
- }
- }
- void port_mode()
- {
- P3M1=0X00;
- P3M0=0X00;
- P5M1=0X00;
- P5M0=0X00;
- }
- void main()
- {
- unsigned char i=0;
- port_mode();
- P5=0XE0;
- P3=0X00;
- while(1)
- {
- if(K==0)
- {
- delay(20);
- if(K==0)
- {
- if(++i==9)i=1;
- while(!K);
- }
- }
- switch(i)
- {
- case 1:P3=0x02;break;
- case 2:P3=0x04;break;
- case 3:P3=0x08;break;
- case 4:P3=0x06;break;
- case 5:P3=0x0a;break;
- case 6:P3=0x0c;break;
- case 7:P3=0x0e;break;
- case 8:
- P3=0x02;
- delay(1000);
- P3=0x04;
- delay(1000);
- P3=0x08;
- delay(1000);
- P3=0x06;
- delay(1000);
- P3=0x0a;
- delay(1000);
- P3=0x0c;
- delay(1000);
- P3=0x0e;
- delay(1000);
- i=0;break;
- default:P3=0X00;break;
- }
- }
- }
復(fù)制代碼
|
|