【项目9-任务12-小组9】利用max7219点阵模块实现形状符号显示

max7219相关介绍

max7219采用串行接口方式,只需要LOAD,DIN,CLK三个管脚便可实现数据传送。DIN管脚上的16位串行数据包不受LOAD状态的影响,在每个aCLK的上升沿被移入到内部16位移位寄存器,在LOAD的上升沿数据被锁存到数字或控制寄存器中

�一个8*8的静态RAM用来存储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。

max7219的相关功能特性

1.10MHz连续串行口

2.独立的LED段控制

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

4.150μA的低功耗关闭模式

5.亮度的数字和模拟控制

6.高电压中断显示

7.共阴极LED显示驱动

8.24脚的 DIP和 SO 封装

数位数量:8

片段数量:7

封装 / 箱体: PDIP-24

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

最大电源电流:330 mA

最大功率耗散:1066 mW

高电平输出电流: 65 mA

最大工作温度:+

85 ℃

最小工作温度:-

40 ℃

封装: Tube

安装风格:Through Hole



max7219

max7219的管脚名称及功能

     1 DIN串行数据输入端口。在时钟上升沿时数据被载入内部的16位寄存器。

     2,3,5-8,10,11 DIG 0–DIG7八个数据驱动线路置显示器共阴极为低电平。关闭时7219此管脚输出高电平,7221呈现高阻抗。

    4,9 GND地线

(4脚和9脚必须同时接地)

    12 LOAD (MAX7219)载入数据。连续数据的后16位在LOAD端的上升沿时被锁定。

    13 CLK时钟序列输入端。最大速率为 10MHz.在时钟的上升沿, 数据移入内部移位寄存器。下降沿时, 数据从DOUT端输出。对MAX7221来说,只有当cs端为低电平时时钟输入才有效。

    14-17,20-23 SEG 7段和小数点驱动,为显示器提供电流。当一个段驱A–SEG

G, 动关闭时,7219的此端呈低电平.

    18 SET通过一个电阻连接到VDD来提高段电流。

    19 V+正极电压输入,+5V

    24 DOUT串行数据输出端口,从DIN输入的数据在16.5个时钟周期后在此端有效。当使用多个MAX7219/MAX7221时用此端方便扩展。


8*8点阵屏



8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;要实现显示图形或字体,只需考虑其显示方式。通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。


利用max7219点阵模块实现符号显示

电路连接

 

[if !vml]

[endif]

单个连接电路图示意

Arduino Uno    ---     MAX7219

5V               <--->              VCC

GND           <--->              GND

12               <--->              DIN

11               <--->              CS

10               <--->             CLK


 

多个连接的方式

程序及库文件

LedControl库使用说明

该库用于使用 MAX7219驱动的SPI总线8*8

LED显示屏及7段LED数码管。定义一个对象最多可以驱动8块8*8LED显示屏(每块64个LED总共512个)或8个7段数码管,需占用三个Arduino的IO口。如需驱动超过8个设备只能定义多个对象,但需要占用更多的IO口

把下载的库文件夹存放在Arduino 安装目录的libraries库文件夹

库函数:

LedControl(intdataPin,intclkPin,intcsPin,intnumDevices)

用途:初始化设备,设置DIN(dataPin)、CLK、CS的IO口及连接设备数量(既有多少块屏)并定义一个对象。参数:

      dataPin

             设置DIN口对应的Arduino上的IO口

      clockPin

            设置CLK口对应的Arduino上的IO口

      csPin

                 设置CS口对应的Arduino上的IO口

      numDevices

      设置最大设备连接数(也就是8*8LED屏的个数),只能设置1-8,如果需要连接超过8个设备,则需要定义另一个对象并使用另外的IO口

代码部分

#include

int DIN

= 12;

intCS=  11;

int CLK

= 10;//定义8*8点阵屏的三个针脚

LedControl lc=LedControl(DIN,CLK,CS,4);//LEDControl库函数

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 [])

{

 inti= 0;

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

 {

    lc.setRow(0,i,character[i]);

 }//点阵输出函数

}

取字模软件的相关使用


取字模软件的主界面

 


打开编辑菜单按钮,可以调节显示字符的点阵的规模


选择手动输入待取模软件,然后输入想显示的字符


点击工具,输出代码,就可以在窗口输出代码,代表的就是要显示的字符

心得体会

经历了本学期的学习,我们基本掌握了如何使用arduino进行简单的逻辑程序运行。在实现8*8点阵显示字符实验时,细心摸索,从网上查找资料,结合自身掌握的知识实现从零开始的探索。

在探索的过程中,我们自然也经历了来自硬件,软件两方面的考验,操作手法的不规范,代码知识的欠缺,都给我们带来了莫大的困扰,但是我们想起老师那循循善诱的温和形象,就下定决心一定要完成任务。终于,在全组同学的合作下,我们守得云开见月明,顺利完成了实验。

我们总结了两条注意事项

① 接线的时候,注意方向,在IN的方向接线(输入)

② LED的方向也要注意,如果显示不正常,请转变下安插的方向。

最后,一切重在坚持,当你感觉走投无路,快要放弃时,要相信,成功就在前方。

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