数码管是一种常用的显示器件,在使用时需对LED配以限流电阻,并在使用多位数码管时为其添加驱动电路。这里为了便于使用,选取了共阳极的数码管显示模块,见图1所示。
图1数码管显示模块
实现数字演示效果的程序如下:
import machine
import utime
la = machine.Pin(20, machine.Pin.OUT)
lb = machine.Pin(18, machine.Pin.OUT)
lc = machine.Pin(17, machine.Pin.OUT)
ld = machine.Pin(16, machine.Pin.OUT)
le = machine.Pin(15, machine.Pin.OUT)
lf = machine.Pin(14, machine.Pin.OUT)
lg = machine.Pin(13, machine.Pin.OUT)
lp = machine.Pin(12, machine.Pin.OUT)
la.value(1)
lb.value(1)
lc.value(1)
ld.value(1)
le.value(1)
lf.value(1)
lg.value(1)
lp.value(1)
while True:
la.value(1)
lb.value(1)
lc.value(1)
ld.value(1)
le.value(1)
lf.value(1)
lg.value(1)
lp.value(1)
utime.sleep_ms(1000)
#0
la.value(0)
lb.value(0)
lc.value(0)
ld.value(0)
le.value(0)
lf.value(0)
lg.value(1)
lp.value(1)
utime.sleep_ms(1000)
#1
la.value(1)
lb.value(0)
lc.value(0)
ld.value(1)
le.value(1)
lf.value(1)
lg.value(1)
lp.value(1)
utime.sleep_ms(1000)
#2
la.value(0)
lb.value(0)
lc.value(1)
ld.value(0)
le.value(0)
lf.value(1)
lg.value(0)
lp.value(1)
utime.sleep_ms(1000)
#3
la.value(0)
lb.value(0)
lc.value(0)
ld.value(0)
le.value(1)
lf.value(1)
lg.value(0)
lp.value(1)
utime.sleep_ms(1000)
#4
la.value(1)
lb.value(0)
lc.value(0)
ld.value(1)
le.value(1)
lf.value(0)
lg.value(0)
lp.value(1)
utime.sleep_ms(1000)
#5
la.value(0)
lb.value(1)
lc.value(0)
ld.value(0)
le.value(1)
lf.value(0)
lg.value(0)
lp.value(1)
utime.sleep_ms(1000)
#6
la.value(0)
lb.value(1)
lc.value(0)
ld.value(0)
le.value(0)
lf.value(0)
lg.value(0)
lp.value(1)
utime.sleep_ms(1000)
#7
la.value(0)
lb.value(0)
lc.value(0)
ld.value(1)
le.value(1)
lf.value(1)
lg.value(1)
lp.value(1)
utime.sleep_ms(1000)
#8
la.value(0)
lb.value(0)
lc.value(0)
ld.value(0)
le.value(0)
lf.value(0)
lg.value(0)
lp.value(1)
utime.sleep_ms(1000)
#9
la.value(0)
lb.value(0)
lc.value(0)
ld.value(0)
le.value(1)
lf.value(0)
lg.value(0)
lp.value(1)
utime.sleep_ms(1000)
图2 显示效果
动画效果: