![](https://cos-cdn.shuashuati.com/pipixue-wap/2020-1230-1107-56/ti_inject-812ce.png)
用P3^0接的一只按键控制P1口接的8只 LED 的状态变化, 要求每按一次按键, 9 种 LED 的状态变换一次,实现以下的状态循环控制, 0 表示亮, 1 表示灭: 1111 1111 0000 0000 1111 0000 0000 1111 1010 1010 0101 0101 1100 0011 0011 1100 0001 0011 参考程序如下: (填空时请字母均用小写!) #include
sbit s1=P3^2; char num=0; // 定义字符型变量 num ,初值为 0 void delayms(unsigned char ms) { unsigned char i; while(ms--) { for(i = 0; i < 120; i++); } } void key() // 按键扫描程序 { if( ) // 判断按键 s1 是都按下 { delayms(50); // 消抖 if( ) // 再次判断按键 s1 是否按下 { ; // 等待松手 if(num>=9) // 如果变量超过 9 ,按键等于 0 ; else ; // 否则变量加 1 } } } void main() { while(1) { // 调用按键扫描程序 key(); switch( ) //switch 语句,给 P1 口赋值 { case 0:P1=0xff; break; case 1:P1= ; break; case 2:P1= ; break; case 3:P1= ; break; case 4:P1= ; break; case 5:P1= ; break; case 6:P1= ; break; case 7:P1= ; break; case 8:P1= ; break; } } }