import machine
import time
led1=machine.Pin(5,machine.Pin.OUT,value=1)
led2=machine.Pin(18,machine.Pin.OUT,value=1)
led3=machine.Pin(19,machine.Pin.OUT,value=1)
led4=machine.Pin(21,machine.Pin.OUT,value=1)
a = machine.Pin(13, machine.Pin.OUT)
b = machine.Pin(12, machine.Pin.OUT)
c = machine.Pin(14, machine.Pin.OUT)
d = machine.Pin(27, machine.Pin.OUT)
e = machine.Pin(26, machine.Pin.OUT)
f = machine.Pin(25, machine.Pin.OUT)
g = machine.Pin(33, machine.Pin.OUT)
dot = machine.Pin(32, machine.Pin.OUT)
#将对应的引脚对象存放到链表中
number_led = [a, b, c, d, e, f, g]
led_list=[led1,led2,led3,led4]
number_dict = {
0: "1111110",
1: "0110000",
2: "1101101",
3: "1111001",
4: "0110011",
5: "1011011",
6: "1011111",
7: "1110000",
8: "1111111",
9: "1111011",
"open": "1111111",
"close": "0000000"
}
#数码管显示函数 number为数字 switch为小数点
def show_number(number,switch=False):
if number_dict.get(number): #判断number是否为字典中的key
i=0
for num in number_dict.get(number): #取出value 遍历字符串
if num=='1':
number_led[i].value(1)
else:
number_led[i].value(0)
i+=1
if switch:
dot.value(1)
else:
dot.value(0)
#数码管4位显示函数 number为数字 switch为小数点
def show_4_number(number,switch=False):
if 0<= number<=9999: #判断number是否为字典中的key
i=0
for num in "%04d" % number:
for led in led_list: #位选全部清空
led.value(1)
show_number(int(num)) #显示对应位的数
led_list[i].value(0) #选位 先显示对应位的数在选位 要不然会短暂的显示上一个数
i+=1
time.sleep_ms(10) #延迟10ms
def main():
while True:
show_4_number(6754)
if __name__ == "__main__":
main()