2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 单片机数码管显示芯片MAX7219芯片指令详解

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

时间:2019-11-06 15:24:27

相关推荐

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

数码管显示芯片MAX7219

仿真在这篇blog里

1.max7219芯片

各引脚的功能为:

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;

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}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。