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

系列文章
todo:

文章目录

  • 前言
  • 1. 简单了解MAX7219
    • 1.1 引脚说明
    • 1.2 寄存器说明
      • 1.2.1 选位寄存器
      • 1.2.2 BCD译码器设置寄存器
      • 1.2.3 亮度寄存器
      • 1.2.4 扫描限制寄存器
      • 1.2.5 显示测试寄存器
      • 1.2.6 关停寄存器
    • 1.3 spi总线通信时序
    • 1.4 数据格式
  • 2. 使用MAX7219驱动数码管
    • 2.1 驱动数码管的原理图
    • 2.2 MAX7219驱动程序
      • 2.2.1 定义spi信号引脚和寄存器地址
      • 2.2.2 根据时序图实现写字节
      • 2.2.3 根据通信数据格式需要实现写数据(16bit)
      • 2.2.4 初始化MAX7219
  • 3. 仿真效果

前言

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

1. 简单了解MAX7219

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

1.1 引脚说明

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第1张图片
可以看到 spi总线的3条控制线 DIN、LOAD(CS)、CLK

1.2 寄存器说明

主要有以下几个寄存器
【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第2张图片

1.2.1 选位寄存器

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第3张图片
后面对应的地址 比如我要给 让第一位数码管显示1 那么 我先发 第一位选位寄存器地址 然后发内容

1.2.2 BCD译码器设置寄存器

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第4张图片
配置是否使用 译码器 可按位设置

1.2.3 亮度寄存器

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第5张图片
可以看到亮度设置范围 0x00-0x0F

1.2.4 扫描限制寄存器

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第6张图片
配置要显示的位数

1.2.5 显示测试寄存器

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第7张图片
测试模式 配置该寄存器为0X01 效果:所有都亮
即显示8.8.8.8.8.8.8.8.

1.2.6 关停寄存器

配置关闭显示/正常显示
【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第8张图片

1.3 spi总线通信时序

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第9张图片

1.4 数据格式

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

2. 使用MAX7219驱动数码管

2.1 驱动数码管的原理图

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第10张图片
级联时
【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第11张图片

2.2 MAX7219驱动程序

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

根据原理图 接线定义
【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第12张图片
定义寄存器地址
【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第13张图片

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第14张图片

2.2.2 根据时序图实现写字节

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第15张图片

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

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第16张图片

2.2.4 初始化MAX7219

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第17张图片

3. 仿真效果

【Proteus仿真】| 51单片机——MAX7219 驱动数码管_第18张图片

你可能感兴趣的:(单片机MCU,proteus,51单片机,单片机,MAX7219数码管驱动)