7089浏览
查看: 7089|回复: 16

[入门教程] [2020]Micro:bit 控制 MAX7219 8x8 点阵屏

[复制链接]
MAX7219 8x8 点阵屏是利用 SPI(Serial Peripheral Interface) ,即串行外设接口跟开发板进行通信。

原理:
MAX7219 通过不同寄存器的位址,接收数据,进而控制 8x8 点阵屏显示。

MAX7219:
寄存器名称                         位址(十六进制)
资料0(Digital 0)                 0x1
资料1(Digital 1)                 0x2
资料2(Digital 2)                 0x3
资料3(Digital 3)                 0x4
资料4(Digital 4)                 0x5
资料5(Digital 5)                 0x6
资料6(Digital 6)                 0x7
资料7(Digital 7)                 0x8
不运行(No-Op)                  0x0
解码模式(Decode Mode)   0x9
显示强度(Intensity)            0xA
扫描限制(Scan Limit)         0xB
关机(Shutdown)                0xC
显示器检测(Display Test)   0xF

说明:
不运行:串接多个MAX7219时,指定不运行的MAX7219。
解码模式:0 -- 不解码,用于驱动 LED点阵。
                 1 -- BCD解码,用于7段数码管。
显示强度:0 ~ 15(或十六进制 0~F),数字越小,亮度越低。
扫描限制:0 ~ 7,显示 1~ 8 个 LED 数码管,或者显示 LED 点阵屏的 1 ~ 8 行。
               (此处设置为 7,8x8 点阵屏全行显示)
关机:关闭 LED 电源,MAX7219依旧可以接收数据。
显示器检测:0 -- 一般模式。
                    1 -- 检测模式,所有 LED 均被点亮。

目标:
显示乐符图案
[2020]Micro:bit 控制 MAX7219 8x8 点阵屏图1


0 0 0 1 1 0 0 0
0 0 0 1 1 1 0 0
0 0 0 1 1 1 1 0
0 0 0 1 0 0 1 1
0 1 1 1 0 0 0 0
1 1 1 1 0 0 0 0
1 1 1 1 0 0 0 0
0 1 1 0 0 0 0 0

注意:竖向的数据从左到右构成寄存器资料 0 ~ 7 的数据

高位元-----              ----低位元
                 |             |              十六进制
资料0:0b01100000                0x60
资料1:0b11110000                0xF0
资料2:0b11110000                0xF0
资料3:0b01111111                0x7F
资料4:0b00000111                0x07
资料5:0b00000110                0x06
资料6:0b00001100                0x0C
资料7:0b00001000                0x08


接线:
max7219          micro:bit
VCC          ---    VCC            [电源线]
GND         ---     GND           [接地线]
DIN           ---     MOSI(P15) [主机发出从机接收]
CS            ---     P1               [从机选择线]
CLK          ---     SCK(P13)   [串行时钟信号]


代码:
[2020]Micro:bit 控制 MAX7219 8x8 点阵屏图2

spi.write(buff):将字节的 buff 写入总线
spi.write(bytearray([reg, data])):将 位址、数据 写入到 MAX7219 设备中。位址即寄存器位址,数据即寄存器对应的数据。

效果:
[2020]Micro:bit 控制 MAX7219 8x8 点阵屏图3

P.S. 参考资料:
1. Micro:bit SPI 串行外围设备接口
2. MAX7219 7-segment python microbit driver
3. 《超图解 Arduino 互动设计入门》(第3版)第8章 LED 矩阵与 SPI 介面控制

且歌且行  中级技师

发表于 2020-2-14 21:51:02

这个看起来好像一点都不简单~
回复

使用道具 举报

kylinpoet  初级技神

发表于 2020-2-18 04:51:59

这个好,必须支持。
回复

使用道具 举报

gada888  版主

发表于 2020-2-25 17:17:30

挺棒的
回复

使用道具 举报

啊啊啊1  学徒

发表于 2020-5-10 17:10:55

求问为什么我连接并且把程序刷进去了MAX7219没反应
回复

使用道具 举报

yywudao  高级技师
 楼主|

发表于 2020-5-17 21:29:09

啊啊啊1 发表于 2020-5-10 17:10
求问为什么我连接并且把程序刷进去了MAX7219没反应

优先检查下接线是否OK
回复

使用道具 举报

dlzxlsx  学徒 来自手机

发表于 2020-5-23 18:51:27

yywudao 发表于 2020-2-1 14:40
MAX7219 8x8 点阵屏是利用 SPI(Serial Peripheral Interface) ,即串行外设接口跟开发板进行通信。

原理: ...

老师,我尝试使用micropython(mu)串口命令控制dfplayer mini(mp3)模块,Microbit.uart不知如何使用,请赐教。
回复

使用道具 举报

jfMTScEaoh0s  见习技师

发表于 2022-1-18 20:35:12

DFRobot买不到MAX7219
回复

使用道具 举报

yywudao  高级技师
 楼主|

发表于 2022-1-22 18:03:30


淘宝上一堆
回复

使用道具 举报

jfMTScEaoh0s  见习技师

发表于 2022-2-12 14:43:19


……I dont like 淘宝 东特莱克桃宝
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-12 15:16:31

这个很棒!
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-12 15:17:32

看起来真的很难。
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-12 15:18:38

请问哪里有卖这个点阵屏呢?
回复

使用道具 举报

jfMTScEaoh0s  见习技师

发表于 2022-2-27 16:26:46

赤星三春牛! 发表于 2022-2-12 15:18
请问哪里有卖这个点阵屏呢?

淘宝上有
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-28 20:44:22


发个链接。
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-28 20:45:41

jfMTScEaoh0s 发表于 2022-2-12 14:43
……I dont like 淘宝 东特莱克桃宝

可以吗?
回复

使用道具 举报

jfMTScEaoh0s  见习技师

发表于 2024-1-25 21:23:36

。。。。。。。。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail