/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) Jay Enterprise All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Website: http://www.jenterprise.in
//  E-Mail : [email protected]
//  Date   : 3 JUNE 2024
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: Displays number on 2 digit 7 segment display
//***********************************************************************************************************


#define DATA_PIN  A0  // Pin connected to DS of 74HC595
#define LATCH_PIN A1  // Pin connected to STCP of 74HC595
#define CLOCK_PIN A2 // Pin connected to SHCP of 74HC595

const uint8_t digitTable[] = {
  0b11000000,
  0b11111001,
  0b10100100,
  0b10110000,
  0b10011001,
  0b10010010,
  0b10000010,
  0b11111000,
  0b10000000,
  0b10010000,
};

void sendDigit(uint8_t high, uint8_t low) {
  digitalWrite(LATCH_PIN, LOW);
  shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, low);
  shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, high);
  digitalWrite(LATCH_PIN, HIGH);
}

void displayDigit(int num) {
  int high = num % 100 / 10;
  int low = num % 10;
  sendDigit(high ? digitTable[high] : 0xff, digitTable[low]);
}
void clearDisplay(void)
{
sendDigit(0xff, 0xff);

}

void setup() {

  pinMode(DATA_PIN, OUTPUT);
  pinMode(CLOCK_PIN, OUTPUT);
  pinMode(LATCH_PIN, OUTPUT);

}


void loop() 
  {
    for(int i=0;i<100;i++)
    {
      displayDigit(i);
      delay(500);
    
    }
  }








74HC595
74HC595