const int ledPin=9; //led接板子上的9端口, 注意:引脚必须具有PWM功能
const int buttonPin=3; //按键接板子上的3端口
int buttonState=0; //按键状态
void setup() {
// put your setup code here, to run once:
pinMode(buttonPin,INPUT);
pinMode(ledPin,OUTPUT);
}
void loop() {
keyScan();
switch(buttonState){
case 0:analogWrite(ledPin,0);
break;
case 1:analogWrite(ledPin,100);
break;
case 2:analogWrite(ledPin,255);
break;
}
}
void keyScan(){
if(digitalRead(buttonPin)==LOW){ //按键消抖
delay(10);
if(digitalRead(buttonPin)==LOW){
buttonState++;
if(buttonState==3) buttonState=0;
while(!digitalRead(buttonPin));
}
}
}