/*This software is provided in an “AS IS” condition,NO WARRANTIES in any form apply to this software. picmicrolab.com 10.17.2017 *************************************************************************************************************** //Arduino 7-Segment LED Display MAX7219 */ //2- Data Out //3- CLK //4 -Load int DataOUT = 2; int CLK = 3; int Load = 4; void setup() { // initialize I/O pins. pinMode(DataOUT, OUTPUT); // pinMode(CLK, OUTPUT); // pinMode(Load, OUTPUT); // SendDataMax7219(0xfc,0xff);//Normal Operation SendDataMax7219(0xf9,0xff);//Decode Mode - Code B Font //SendDataMax7219(0xff,0xff);//Display Test //SendDataMax7219(0xfa,0xf0);//Intensity } void loop() { SendDataMax7219(0xf1,0x00);// - Show 0 - Code B Font delay(1000); SendDataMax7219(0xf1,0x01);// - Show 1 delay(1000); SendDataMax7219(0xf1,0x02);// - Show 2 delay(1000); SendDataMax7219(0xf1,0x03);// - Show 3 delay(1000); SendDataMax7219(0xf1,0x04);// - Show 4 delay(1000); SendDataMax7219(0xf1,0x05);// - Show 5 delay(1000); SendDataMax7219(0xf1,0x06);// - Show 6 delay(1000); SendDataMax7219(0xf1,0x07);// - Show 7 delay(1000); SendDataMax7219(0xf1,0x08);// - Show 8 delay(1000); SendDataMax7219(0xf1,0x09);// - Show 9 delay(1000); } void SendDataMax7219(int HighByte,int LowByte) { //---------------Send High Byte-------------- for(int i=7;i>-1;i--) { if(bitRead(HighByte, i)== HIGH) { digitalWrite(DataOUT,HIGH); //delay(1); digitalWrite(CLK,HIGH); //delay(1); digitalWrite(CLK,LOW); //delay(1); } if(bitRead(HighByte, i)== LOW) { digitalWrite(DataOUT,LOW); //delay(1); digitalWrite(CLK,HIGH); //delay(1); digitalWrite(CLK,LOW); //delay(1); } } //------------------------------------------ //---------------Send Low Byte-------------- for(int i=7;i>-1;i--) { if(bitRead(LowByte, i)== HIGH) { digitalWrite(DataOUT,HIGH); //delay(1); digitalWrite(CLK,HIGH); //delay(1); digitalWrite(CLK,LOW); //delay(1); } if(bitRead(LowByte, i)== LOW) { digitalWrite(DataOUT,LOW); //delay(1); digitalWrite(CLK,HIGH); //delay(1); digitalWrite(CLK,LOW); //delay(1); } } //---------------------------------------- //--------Load 16 bit number in MAX7219--- //delay(1); digitalWrite(Load,HIGH); //delay(1); digitalWrite(Load,LOW); //delay(1); //---------------------------------------- }