极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 32893|回复: 17

max7219 贴片级联

[复制链接]
发表于 2014-5-20 13:03:54 | 显示全部楼层 |阅读模式
本帖最后由 nds_shenzhen 于 2014-5-20 13:06 编辑

大家好,通过上次我的帖子 初来 免费送 MAX7219点阵PCB 每人限2个http://www.geek-workshop.com/thread-9645-1-1.html

收到了很多朋友的支持,同时也得到了很多网友的需求信息。我发现很多朋友玩max7219 一个不是很尽兴,都希望能够很多个点阵的级联。当然上次活动的插件max7219板子也是可以级联的,但是不太方便和美观。
为此 我觉得再次画出pcb 这次使用的是贴片 max7219CWG  板子也画小点,参考网上的样品做出了,贴片8*8点阵,方便级联。

这个功能和上次插件的一模一样,但是就是调整了贴片和结构,为了能够更好的配合,我没有急着发出去做小批量,而是花了50块钱去嘉立创打样品回来。

只打了10片样品


板子回来后 确实发现了问题 就是排针座的间隙太大了,需要移动下才行,其他没问题。




点亮后 是这样的



特别注意的是 我们这次选用了 如下相对比较特殊的插件,公母链接,很方便级联。


为了能够方便级联 后面点阵 电压压差一样,同时也取消了,防止反插的二极管,大家注意电源第一个的电源不要插错就是了。


其实我以前没有做过很多的级联,这次想玩下,也希望和大家分享,一起玩。
PCB 第二版已经修改好了,准备发出去小批量打样。板子回来后我在做些测试例子来和大家一起分享,当然如果需要PCB空板子的话我也可以提供,象征性的收取板材成本费 {:soso_e113:} 。

pcb第二版我已经发出去了,预计要5月28号才回来。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2014-5-20 13:07:58 | 显示全部楼层
沙发 我自己做了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-20 13:09:46 | 显示全部楼层
附上代码:
  1. unsigned char i;
  2. unsigned char j;
  3. /*Port Definitions*/

  4. #define count 6           //级联个数
  5. int Max7219_pinCLK = 10;
  6. int Max7219_pinCS = 9;
  7. int Max7219_pinDIN = 8;

  8. unsigned char disp1[38][8]={
  9. //{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//0
  10. {0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0
  11. //{0x10,0x18,0x14,0x10,0x10,0x10,0x10,0x10},//1
  12. {0x10,0x30,0x50,0x10,0x10,0x10,0x10,0x38},//1

  13. {0x7E,0x2,0x2,0x7E,0x40,0x40,0x40,0x7E},//2
  14. {0x3E,0x2,0x2,0x3E,0x2,0x2,0x3E,0x0},//3
  15. {0x8,0x18,0x28,0x48,0xFE,0x8,0x8,0x8},//4
  16. {0x3C,0x20,0x20,0x3C,0x4,0x4,0x3C,0x0},//5
  17. {0x3C,0x20,0x20,0x3C,0x24,0x24,0x3C,0x0},//6
  18. {0x3E,0x22,0x4,0x8,0x8,0x8,0x8,0x8},//7
  19. {0x0,0x3E,0x22,0x22,0x3E,0x22,0x22,0x3E},//8
  20. {0x3E,0x22,0x22,0x3E,0x2,0x2,0x2,0x3E},//9
  21. {0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22},//A
  22. {0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0},//B
  23. {0x3C,0x40,0x40,0x40,0x40,0x40,0x3C,0x0},//C
  24. {0x7C,0x42,0x42,0x42,0x42,0x42,0x7C,0x0},//D
  25. {0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C},//E
  26. {0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x40},//F
  27. {0x3C,0x40,0x40,0x40,0x40,0x44,0x44,0x3C},//G
  28. {0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44},//H
  29. {0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x7C},//I
  30. {0x3C,0x8,0x8,0x8,0x8,0x8,0x48,0x30},//J
  31. {0x0,0x24,0x28,0x30,0x20,0x30,0x28,0x24},//K
  32. {0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C},//L
  33. {0x81,0xC3,0xA5,0x99,0x81,0x81,0x81,0x81},//M
  34. {0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0},//N
  35. {0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//O
  36. {0x3C,0x22,0x22,0x22,0x3C,0x20,0x20,0x20},//P
  37. {0x1C,0x22,0x22,0x22,0x22,0x26,0x22,0x1D},//Q
  38. {0x3C,0x22,0x22,0x22,0x3C,0x24,0x22,0x21},//R
  39. {0x0,0x1E,0x20,0x20,0x3E,0x2,0x2,0x3C},//S
  40. {0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x8},//T
  41. {0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1C},//U
  42. {0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18},//V
  43. {0x0,0x49,0x49,0x49,0x49,0x2A,0x1C,0x0},//W
  44. {0x0,0x41,0x22,0x14,0x8,0x14,0x22,0x41},//X
  45. {0x41,0x22,0x14,0x8,0x8,0x8,0x8,0x8},//Y
  46. {0x0,0x7F,0x2,0x4,0x8,0x10,0x20,0x7F},//Z
  47. };

  48. void Write_Max7219_byte(unsigned char DATA)
  49. {   
  50.           unsigned char i;
  51.                 digitalWrite(Max7219_pinCS,LOW);               
  52.                 for(i=8;i>=1;i--)
  53.           {                  
  54.            digitalWrite(Max7219_pinCLK,LOW);
  55.            digitalWrite(Max7219_pinDIN,DATA&0x80);// Extracting a bit data
  56.            DATA = DATA<<1;
  57.            digitalWrite(Max7219_pinCLK,HIGH);
  58.          }                                 
  59. }


  60. void Write_Max7219(unsigned char address,unsigned char dat)
  61. {
  62.         digitalWrite(Max7219_pinCS,LOW);
  63.         Write_Max7219_byte(address);           //写入地址,即数码管编号
  64.         Write_Max7219_byte(dat);               //写入数据,即数码管显示数字
  65.         digitalWrite(Max7219_pinCS,HIGH);
  66. }

  67. void Init_MAX7219(void)
  68. {
  69. //     Write_Max7219(0x09, 0x00);       //译码方式:BCD码
  70. //     Write_Max7219(0x0a, 0x03);       //亮度
  71. //     Write_Max7219(0x0b, 0x07);       //扫描界限;8个数码管显示
  72. //     Write_Max7219(0x0c, 0x01);       //掉电模式:0,普通模式:1
  73. //     Write_Max7219(0x0f, 0x00);        //显示测试:1;测试结束,正常显示:0

  74.       unsigned char  i;
  75.       digitalWrite(Max7219_pinCS,LOW);
  76.       for(i=0;i<count;i++)
  77.       {
  78.         Write_Max7219_byte(0x09); //译码方式:BCD码      
  79.         Write_Max7219_byte(0x00);   
  80.       }
  81.       digitalWrite(Max7219_pinCS,HIGH);
  82.       delay(50);
  83.       digitalWrite(Max7219_pinCS,LOW);
  84.       for(i=0;i<count;i++)
  85.       {
  86.         Write_Max7219_byte(0x0a); //亮度   
  87.         Write_Max7219_byte(0x03);   
  88.       }
  89.       digitalWrite(Max7219_pinCS,HIGH);
  90.       delay(50);
  91.        digitalWrite(Max7219_pinCS,LOW);
  92.       for(i=0;i<count;i++)
  93.       {
  94.         Write_Max7219_byte(0x0b); // //扫描界限;8个数码管显示  
  95.         Write_Max7219_byte(0x07);   
  96.       }
  97.      digitalWrite(Max7219_pinCS,HIGH);
  98.      delay(50);
  99.       digitalWrite(Max7219_pinCS,LOW);
  100.       for(i=0;i<count;i++)
  101.       {
  102.         Write_Max7219_byte(0x0c); //   //掉电模式:0,普通模式:1
  103.         Write_Max7219_byte(0x01);   
  104.       }
  105.       digitalWrite(Max7219_pinCS,HIGH);
  106.       digitalWrite(Max7219_pinCS,LOW);
  107.       for(i=0;i<count;i++)
  108.       {
  109.         Write_Max7219_byte(0x0f); //显示测试:1;测试结束,正常显示:0
  110.         Write_Max7219_byte(0x00);   
  111.       }
  112.       digitalWrite(Max7219_pinCS,HIGH);
  113.       delay(50);
  114. }



  115. void setup()
  116. {

  117.   pinMode(Max7219_pinCLK,OUTPUT);
  118.   pinMode(Max7219_pinCS,OUTPUT);
  119.   pinMode(Max7219_pinDIN,OUTPUT);
  120.   delay(50);
  121.   Init_MAX7219();
  122. }


  123. void loop()
  124. {
  125.    for(i=1;i<9;i++)
  126.    {
  127.       digitalWrite(Max7219_pinCS,LOW);
  128.       for(j=0;j<count;j++)
  129.       {
  130.         Write_Max7219_byte(i);           //写入地址,即数码管编号
  131.         Write_Max7219_byte(disp1[count-1-j][i-1]);  //写入数据,即数码管显示数字
  132.        }
  133.       digitalWrite(Max7219_pinCS,HIGH);
  134.    }
  135.     delay(1000);
  136.        
  137. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2014-5-20 14:37:42 | 显示全部楼层
一看到有送东西的我就出现了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-20 16:05:05 | 显示全部楼层
tgyfish 发表于 2014-5-20 14:37
一看到有送东西的我就出现了

哈哈 谢谢支持
回复 支持 反对

使用道具 举报

发表于 2014-5-20 16:28:46 | 显示全部楼层
支持,很好
回复 支持 反对

使用道具 举报

发表于 2014-5-21 02:39:19 | 显示全部楼层
看图插好点阵间距很大啊,希望改进下间距最好没有间距更美观些
回复 支持 反对

使用道具 举报

发表于 2014-5-21 07:57:11 | 显示全部楼层
恩,座等5月28,更完美的产品出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-21 10:31:36 | 显示全部楼层
lmaq 发表于 2014-5-21 02:39
看图插好点阵间距很大啊,希望改进下间距最好没有间距更美观些

对啊 有2~3mm
新一版 改进调节了下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-21 10:33:43 | 显示全部楼层
Cupid 发表于 2014-5-21 07:57
恩,座等5月28,更完美的产品出来

最近在学习 怎么驱动 显示  更多的花样
回复 支持 反对

使用道具 举报

发表于 2014-5-21 11:41:04 | 显示全部楼层
期待新版上架!
回复 支持 反对

使用道具 举报

发表于 2014-5-22 17:42:37 | 显示全部楼层
期待5.28的新品,到时入手4至8个学习一下,也望楼主可以给个优惠价。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-22 18:38:17 | 显示全部楼层
sinkr 发表于 2014-5-22 17:42
期待5.28的新品,到时入手4至8个学习一下,也望楼主可以给个优惠价。

必须支持
回复 支持 反对

使用道具 举报

发表于 2014-5-24 12:02:11 | 显示全部楼层
佩服! 可是我卻自己做不出來... 版主交一下怎麼弄的 你那塊訂做PCB怎麼接線的好不好? 再問一下你那塊可以在級連起來後像跑馬燈一樣嗎? (就是連起來後等同於40*8的跑馬燈)

版主可以順便幫我回答這問題嗎?
http://www.geek-workshop.com/thread-9890-1-1.html

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-24 15:33:17 | 显示全部楼层
chris80124 发表于 2014-5-24 12:02
佩服! 可是我卻自己做不出來... 版主交一下怎麼弄的 你那塊訂做PCB怎麼接線的好不好? 再問一下你那塊可 ...

你可以看下我们的图片  我可以直公头和母头 链接 很简单的
我第二版 就会链接得很紧凑
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-13 23:44 , Processed in 0.067152 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表