单片机数码管显示芯片MAX7219芯片指令详解

本文详细介绍了数码管显示芯片MAX7219,包括其芯片功能、SPI通信方式、16位数据包结构、寄存器与指令的使用,以及初始化过程。内容覆盖了DIN、DOUT、LOAD、CLK等引脚作用,解码模式、亮度设置、扫描范围等关键配置。

数码管显示芯片MAX7219


仿真在这篇blog

1.max7219芯片

img

各引脚的功能为:

DIN:串行数据输入端

DOUT:串行数据输出端,用于级连扩展

LOAD:装载数据输入

CLK:串行时钟输入

DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流

SEG A~SEG G DP 7段驱动和小数点驱动

ISET: 通过一个10k电阻和Vcc相连,设置段电流

2.数据及时序

​ 1.max7219通信方式为SPI,16bit 数据格式就是2字节 = 地址 + 数据 。先发高位,即先发地址再发数据。

16位数据包结构如下图:

在这里插入图片描述

​ 2.对AX719串行数据以16位包的形式从DIN引脚串行输人,在CLK的每一个上升沿一位行地送入芯片内部16位移位寄存器,而不管LOAD脚的状态如何,LOAD脚必须在第16CK上升沿出现的同时或之后,并在下一个 CLK上升沿之前变为高电平,否则移入的数据将丢失
在这里插入图片描述

3.寄存器及指令

下图就是寄存器表地址

在这里插入图片描述

​ 5个控制寄存器分别为:译码方式,亮度设置,扫描范围(选择扫描位数),停机方式,显示测试

功能概述

  • 解码模式(指令=X9+hex code)

是否支持BCD解码

  • 亮度设置(指令=XA+hex code)

选择亮度

在这里插入图片描述

  • 扫描限制(指令=XB+hex code)

选择使用几个数码管,数量小于等于三个时必须进行电流设置

在这里插入图片描述

  • 掉电模式 (指令=XC+hex code)

选择是否掉电

在这里插入图片描述

显示测试 (指令=XF+hex code)

正常显示=0;显示测试=1;

图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hzq2db5o-1632302078032)(C:\Users\86156\AppData\Roaming\Typora\typora-user-images\image-20210922163424981.png)]

4.初始化max7219

//寄存器宏定义
 
#define DECODE_MODE  0x09   //译码控制寄存器
 
#define INTENSITY    0x0A   //亮度控制寄存器
 
#define SCAN_LIMIT   0x0B   //扫描界限寄存器
 
#define SHUT_DOWN    0x0C   //掉电模式寄存器
 
#define DISPLAY_TEST 0x0F   //显示控制寄存器       

void Initial(void)                
 
{
 
    Write7219(SHUT_DOWN,0x01);         //开启正常工作模式(0xX1)
 
    Write7219(DISPLAY_TEST,0x00);      //选择正常工作模式(0xX0)
 
    Write7219(DECODE_MODE,0xff);       //选用全译码模式
 
    Write7219(SCAN_LIMIT,0x07);        //8只LED全用
 
    Write7219(INTENSITY,0x04);          //设置初始亮度9/32     
 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值