五、代码
from machine import Pin
# import utime
# 准备数据引脚
pin_sclk = Pin(12, Pin.OUT); pin_sclk.off() # 上升跳变时锁存
pin_rlck = Pin(14, Pin.OUT); pin_rlck.off() # 上升跳变时数据位移
pin_dio = Pin(13, Pin.OUT); pin_dio.off() # 待移入数据位
mapper = { # 共阳方式段码对照
'0': 0xC0, '1': 0xF9, '2': 0xA4, '3': 0xB0,
'4': 0x99, '5': 0x92, '6': 0x82, '7': 0xF8,
'8': 0x80, '9': 0x90, 'A': 0x88, 'B': 0x83,
'C': 0xA7, 'D': 0xA1, 'E': 0x86, 'F': 0x8E,
}
def jump_up(pin):
pin.on() # 产生跳变
# utime.sleep_ms(1)
pin.off() # 保持一段时间后关闭
def send_data(num, is_position=False, has_point=False):
'向位称寄存器送数据'
if is_position: # 位码处理( 1~4位)
value = {1:0x01, 2:0x02, 3:0x04, 4:0x08}.get(num, 0)
else: # 段码处理
value = mapper.get(str(num), 0)
value = valu