「雕爷学编程」Arduino动手做(22)——8X8 LED点阵MAX7219屏

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

实验二十二:MAX7219点阵显示模块(8X8 LED共阴屏幕)

MAX7219 

是美国MAXIM 公司推出的多位LED 显示驱动器,采用3 线串行接口传送数据,可直接与单片机接口连接,用户能方便修改其内部参数,以实现多位LED 显示。它内含硬件动态扫描电路、BCD译码器、段驱动器和位驱动器。此外,其内部还含有8X8 位静态RAM,用于存放8 个数字的显示数据。显然,它可直接驱动64 段LED点阵显示器。当多片MAX7219 级联时,可控制更多的LED 点阵显示器。显示的数据通过单片机数据处理后,送给MAX7219 显示。


串行输入/输出共阴极显示驱动器

MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。 只有一个外部寄存器用来设置各个LED的段电流。 MAX7221与SPI?、 QSPI?以及 MICROWIRE?相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。 一个方便的四线串行接口可以联接所有通用的微处理器。 每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。 整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。 


MAX7219内部结构图


作为一块专用的LED显示驱动芯片,MAX7219能够以动态形式驱动8位数码显示器。还可以用 n 片MAX7219进行级连,以驱动8 * n位数码显示。MAX7219与数码显示器的之间的电路极为简单,几乎连限流电阻都不用。MAX7219与单片机之间也仅仅需要连接3条引线。当单片机把数据送到MAX7219后,它就可以独立的进行动态扫描显示,无需单片机再进行干预。对于单片机来说,这些数码显示器,看起来似乎都是在进行静态显示,可以说是驱动多位数码显示器的最佳选择。


MAX7219各引脚的功能:

DIN:串行数据输入端

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

LOAD:装载数据输入

CLK:串行时钟输入

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

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

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


技术参数:

种类: LED显示驱动器

系列: MAX7219

数位数量: 8

片段数量: 64

安装风格: SMD/SMT

封装 / 箱体: SOIC-Wide-24

工作电源电压: 4 V to 5.5 V

电源电流— 大值: 330 mA

小工作温度: - 40 C

大工作温度: + 85 C

封装: Reel或Tube

高度: 2.35 mm

长度: 15.6 mm

产品: LED Display Drivers

宽度: 7.6 mm

高电平输出电流: - 2 mA

低电平输出电流: 5 mA

Pd-功率耗散: 941 mW

工厂包装数量: 1000

零件号别名: MAX7219

单位重量: 734.500 mg


功能特点:

1 10MHz连续串行口

2 独立的LED段控制

3 数字的译码与非译码选择

4 150μA的低功耗关闭模式

5 亮度的数字和模拟控制

6 高电压中断显示

7 共阴极LED显示驱动

8 限制回转电流的段驱动来减少EMI(MAX7221)

9 SPI, QSPI, MICROWIRE串行接口(MAX7221)

10 24脚的 DIP和 SO 封装


MAX7219的应用电路



MAX7219点阵显示模块(8X8 LED共阴屏幕)


模块参数:

1.单个模块可以驱动一个8*8共阴点阵

2.模块工作电压:5V

3.模块尺寸:长5厘米X宽3.2厘米X高1.5厘米

4.带4个固定螺丝孔,孔径3mm,可使用M3铜柱固定

5.模块带输入输出接口,支持多个模块级联

模块电原理图


8*8 发光管点阵 1088AS 

3mm共阴 8X8 高亮 红色

★ 能在低电压、小电流条件下驱动发光

★ 发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高

★ 体积小,重量轻,抗冲击性能好.固态封装,封装方式为灌胶型,稳定性高

★ 寿命长,使用寿命在5万小时以上

★ 可连续扫描驱动各字节

★ 良好的显示效果、视角宽

★ 推荐恒流使用,恒压会出现亮度不均匀现象

★ 表面有保护膜的产品,可以在使用前撕下来

★ 焊接温度: 260℃ 停留时间最长5秒

★ 当工作温度高于25℃时,Ifm,ifp和Id必须降低;电流降低率是-036mA/℃(直流驱动),或-0.86mA/℃(脉冲驱动)功耗率是-0.75mW/℃。产品的工作电流不能大于对应工作温度条件Ifm或Ifp的60%。

★ 蓝色,翠绿色,白色请采取防静电措施


接线方式:

(在IN方向的针脚)

Arduino Uno    ---     MAX7219

5V              <--->              VCC

GND           <--->              GND

12               <--->              DIN

11               <--->              CS

10               <--->              CLK



实验接线:

1.模块左边为输入端口,右边为输出端口。

2.控制单个模块时,只需要将输入端口接到单片机

3.多个模块级联时,第1个模块的输入端接单片机,输出端接第2个模块的输入端,第2个模块的输出端接第3个模块的输入端,以此类推...


/*

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

实验二十二:MAX7219点阵显示模块(8X8 LED共阴屏幕)

安装库:IDE--工具--管理库--搜索“LedControl”--安装

实验源代码

*/

#include <LedControl.h>

int DIN = 12;

int CS =  11;

int CLK = 10;

byte e[8]=    {0x7C,0x7C,0x60,0x7C,0x7C,0x60,0x7C,0x7C};  //E

byte d[8]=    {0x78,0x7C,0x66,0x66,0x66,0x66,0x7C,0x78};  //D

byte u[8]=    {0x66,0x66,0x66,0x66,0x66,0x66,0x7E,0x7E};  //U

byte c[8]=    {0x7E,0x7E,0x60,0x60,0x60,0x60,0x7E,0x7E};  //C

byte eight[8]= {0x7E,0x7E,0x66,0x7E,0x7E,0x66,0x7E,0x7E};  //8

byte s[8]=    {0x7E,0x7C,0x60,0x7C,0x3E,0x06,0x3E,0x7E};  //S

byte dot[8]=  {0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18};  //.

byte o[8]=    {0x7E,0x7E,0x66,0x66,0x66,0x66,0x7E,0x7E};  //O

byte m[8]=    {0xE7,0xFF,0xFF,0xDB,0xDB,0xDB,0xC3,0xC3};  //M

LedControl lc=LedControl(DIN,CLK,CS,4);

void setup(){

lc.shutdown(0,false);    //启动时,MAX72XX处于省电模式

lc.setIntensity(0,8);    //将亮度设置为最大值

lc.clearDisplay(0);      //清除显示

}

void loop(){

  byte smile[8]=  {0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C};//笑脸

  byte neutral[8]= {0x3C,0x42,0xA5,0x81,0xBD,0x81,0x42,0x3C};//标准脸  

  printByte(eight);//显示8

  delay(1000);//延时1秒

  printByte(neutral);//显示标准脸

  delay(1000);

}

//点阵显示函数

void printByte(byte character [])

{

  int i = 0;

  for(i=0;i<8;i++)

  {

  lc.setRow(0,i,character);

  }

}




©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341

推荐阅读更多精彩内容