from machine  import  Pin 
import  time    
#定义按键控制对象
key1=Pin(14,Pin.IN,Pin.PULL_UP) 
key2=Pin(27,Pin.IN,Pin.PULL_UP)  
key3=Pin(26,Pin.IN,Pin.PULL_UP)  
key4=Pin(25,Pin.IN,Pin.PULL_UP)

#定义LED控制对象
led1=Pin(15,Pin.OUT) 
led2=Pin(2,Pin.OUT)
led3=Pin(0,Pin.OUT) 
led4=Pin(4,Pin.OUT)
#定义按键键值
KEY1_PRESS,KEY2_PRESS,KEY3_PRESS,KEY4_PRESS=1,2,3,4 
key_en=1
#按键扫描函数
def key_scan():
    global  key_en  #全局变量
    if key_en==1 and (key1.value()==0 or key2.value()==0  or
                      key3.value()==0 or key4.value()==0 ):
        time.sleep_ms(10) # 消 斗 
        key_en=0
        if key1.value()==0:
            return KEY1_PRESS 
        elif key2.value()==0:  	
            return KEY2_PRESS 
        elif key3.value()==0:  	
            return KEY3_PRESS 
        elif key4.value()==0:
            return KEY4_PRESS
        elif key1.value()==1 and key2.value()==1 and key3.value()==1 and key4.value()==1:
            key_en=1
            return 0
# 程 序 入 口
if __name__ =="__main__":
    key= 0
    i_led1,i_led2,i_led3,i_led4=0,0,0,0   #定义变量,用于LED 状 态 翻 转
    led1.value(i_led1)# 初始化LED,熄灭状态
    led2.value(i_led2)
    led3.value(i_led3)
    led4.value(i_led4)
    while True:
        key=key_scan()# 按键扫描
        if key==KEY1_PRESS:#K1键 按 下
            i_led1=not i_led1
            led1.value(i_led1)
        elif key==KEY2_PRESS:#K2 键 按 下
            i_led2=not i_led2 
            led2.value(i_led2)
        elif key==KEY3_PRESS:#K3键按下
            i_led3=not i_led3 
            led3.value(i_led3)
        elif key==KEY4_PRESS:#K4 键按下
            i_led4=not i_led4
            led4.value(i_led4)