【Proteus仿真】| 51单片机——MAX7219 驱动数码管

系列文章
todo:

前言

该文章目的:让大家快速上手——知道如何使用MAX7219。故MAX7219就不做详细介绍了(需要了解的话可以看其他博文及数据手册)。

1. 简单了解MAX7219

max7219是一个串行输入/输出共阴极数码管(点阵)驱动芯片。1个MAX7219最多可以驱动8位数码管。它具有自动扫描(切换位),BCD译码器(即 不用管数码管段码值 需要让其显示几直接填几就好)、内部8X8的静态RAM(可以存放显示数据 用作驱动8x8点阵)、亮度控制等功能。我们需要通过SPI总线驱动它。
注意:只能驱动共阴极的哦

1.1 引脚说明

在这里插入图片描述
可以看到 spi总线的3条控制线 DIN、LOAD(CS)、CLK

1.2 寄存器说明

主要有以下几个寄存器
在这里插入图片描述

1.2.1 选位寄存器

在这里插入图片描述
后面对应的地址 比如我要给 让第一位数码管显示1 那么 我先发 第一位选位寄存器地址 然后发内容

1.2.2 BCD译码器设置寄存器

在这里插入图片描述
配置是否使用 译码器 可按位设置

1.2.3 亮度寄存器

在这里插入图片描述
可以看到亮度设置范围 0x00-0x0F

1.2.4 扫描限制寄存器

在这里插入图片描述
配置要显示的位数

1.2.5 显示测试寄存器

在这里插入图片描述
测试模式 配置该寄存器为0X01 效果:所有都亮
即显示8.8.8.8.8.8.8.8.

1.2.6 关停寄存器

配置关闭显示/正常显示
在这里插入图片描述

1.3 spi总线通信时序

在这里插入图片描述

1.4 数据格式

如图 一共16位 其中 8-11 4位地址 0-7 8位数据内容
所以每次传16位的数据
在这里插入图片描述
后面驱动程序都是根据 时序图完成的 一个简单的spi写时序

2. 使用MAX7219驱动数码管

2.1 驱动数码管的原理图

在这里插入图片描述
级联时
在这里插入图片描述

2.2 MAX7219驱动程序

2.2.1 定义spi信号引脚和寄存器地址

根据原理图 接线定义
在这里插入图片描述
定义寄存器地址
在这里插入图片描述

在这里插入图片描述

2.2.2 根据时序图实现写字节

在这里插入图片描述

2.2.3 根据通信数据格式需要实现写数据(16bit)

在这里插入图片描述

2.2.4 初始化MAX7219

在这里插入图片描述

3. 仿真效果

在这里插入图片描述

  • 8
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值