def write_byte(data):
“按位移入数据”
for i in range(8):
pin_clk.off()
pin_din.value(1 if ((data << i) & 0x80) else 0) # 从高位开始送数据
pin_clk.on()
def write_data(addr, data):
“向模块写入地址与数据”
pin_cs.off()
write_byte(addr)
write_byte(data)
time.sleep_us(5)
pin_cs.on()
def init_max7219(brightness):
“初始化模块”
write_data(0x0c, 0x00) #关断处于关闭状态
write_data(0x0f, 0x00) #不测试
write_data(0x0b, 0x07) #扫描所有位码
write_data(0x0a, brightness) #亮度0x00到0x0f
write_data(0x09, 0x00) #不译码
write_data(0x0c, 0x01) #关断处于显示状态
定义数据与初始模块
time.sleep_ms(50)
col = [0x00, 0x66, 0x99, 0x81, 0x42, 0x24, 0x18, 0x00] # 心形对应的LED
爱心灭到最亮,再从最亮到灭
def main():
while True:
for i in range(0x00,0x10,1):
init_max7219(i)
time.sleep(0.1)
# 写图案
for n in range(8):
write_