example for MAX7129 8x8 LED
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 3 May 2015 13:04:29 +0000 (15:04 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 3 May 2015 13:04:29 +0000 (15:04 +0200)
MAX7129_8x8_LED/MAX7129_8x8_LED.ino [new file with mode: 0644]

diff --git a/MAX7129_8x8_LED/MAX7129_8x8_LED.ino b/MAX7129_8x8_LED/MAX7129_8x8_LED.ino
new file mode 100644 (file)
index 0000000..5d882c7
--- /dev/null
@@ -0,0 +1,101 @@
+unsigned char i;
+ unsigned char j; 
+/*Port Definitions*/
+int Max7219_pinCLK = 10;
+int Max7219_pinCS = 9;
+int Max7219_pinDIN = 8;
+unsigned char disp1[38][8]={
+{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0
+{0x10,0x18,0x14,0x10,0x10,0x10,0x10,0x10},//1
+{0x7E,0x2,0x2,0x7E,0x40,0x40,0x40,0x7E},//2
+{0x3E,0x2,0x2,0x3E,0x2,0x2,0x3E,0x0},//3
+{0x8,0x18,0x28,0x48,0xFE,0x8,0x8,0x8},//4
+{0x3C,0x20,0x20,0x3C,0x4,0x4,0x3C,0x0},//5
+{0x3C,0x20,0x20,0x3C,0x24,0x24,0x3C,0x0},//6
+{0x3E,0x22,0x4,0x8,0x8,0x8,0x8,0x8},//7
+{0x0,0x3E,0x22,0x22,0x3E,0x22,0x22,0x3E},//8
+{0x3E,0x22,0x22,0x3E,0x2,0x2,0x2,0x3E},//9
+{0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22},//A
+{0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0},//B
+{0x3C,0x40,0x40,0x40,0x40,0x40,0x3C,0x0},//C
+{0x7C,0x42,0x42,0x42,0x42,0x42,0x7C,0x0},//D
+{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C},//E
+{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x40},//F
+{0x3C,0x40,0x40,0x40,0x40,0x44,0x44,0x3C},//G
+{0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44},//H
+{0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x7C},//I
+{0x3C,0x8,0x8,0x8,0x8,0x8,0x48,0x30},//J
+{0x0,0x24,0x28,0x30,0x20,0x30,0x28,0x24},//K
+{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C},//L
+{0x81,0xC3,0xA5,0x99,0x81,0x81,0x81,0x81},//M
+{0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0},//N
+{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//O
+{0x3C,0x22,0x22,0x22,0x3C,0x20,0x20,0x20},//P
+{0x1C,0x22,0x22,0x22,0x22,0x26,0x22,0x1D},//Q
+{0x3C,0x22,0x22,0x22,0x3C,0x24,0x22,0x21},//R
+{0x0,0x1E,0x20,0x20,0x3E,0x2,0x2,0x3C},//S
+{0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x8},//T
+{0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1C},//U
+{0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18},//V
+{0x0,0x49,0x49,0x49,0x49,0x2A,0x1C,0x0},//W
+{0x0,0x41,0x22,0x14,0x8,0x14,0x22,0x41},//X
+{0x41,0x22,0x14,0x8,0x8,0x8,0x8,0x8},//Y
+{0x0,0x7F,0x2,0x4,0x8,0x10,0x20,0x7F},//Z
+};
+void Write_Max7219_byte(unsigned char DATA) 
+{   
+            unsigned char i;
+           digitalWrite(Max7219_pinCS,LOW);            
+           for(i=8;i>=1;i--)
+          {              
+             digitalWrite(Max7219_pinCLK,LOW);
+             digitalWrite(Max7219_pinDIN,DATA&0x80);// Extracting a bit data
+             DATA = DATA<<1;
+             digitalWrite(Max7219_pinCLK,HIGH);
+           }                                 
+}
+void Write_Max7219(unsigned char address,unsigned char dat)
+{
+        digitalWrite(Max7219_pinCS,LOW);
+        Write_Max7219_byte(address);           //address,code of LED
+        Write_Max7219_byte(dat);               //data,figure on LED 
+        digitalWrite(Max7219_pinCS,HIGH);
+}
+void Init_MAX7219(void)
+{
+ Write_Max7219(0x09, 0x00);       //decoding :BCD
+ Write_Max7219(0x0a, 0x03);       //brightness 
+ Write_Max7219(0x0b, 0x07);       //scanlimit;8 LEDs
+ Write_Max7219(0x0c, 0x01);       //power-down mode:0,normal mode:1
+ Write_Max7219(0x0f, 0x00);       //test display:1;EOT,display:0
+}
+void setup()
+{
+  pinMode(Max7219_pinCLK,OUTPUT);
+  pinMode(Max7219_pinCS,OUTPUT);
+  pinMode(Max7219_pinDIN,OUTPUT);
+  delay(50);
+  Init_MAX7219();
+}
+void loop()
+{ 
+   for(j=0;j<38;j++)
+  {
+   for(i=1;i<9;i++)
+    Write_Max7219(i,disp1[j][i-1]);
+   delay(500);
+  }            
+}