Skip to content

Instantly share code, notes, and snippets.

Created April 16, 2014 19:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/10923478 to your computer and use it in GitHub Desktop.
Save anonymous/10923478 to your computer and use it in GitHub Desktop.
const int CLOCK_PIN = P1_5;
const int DATA_PIN = P1_4;
const int DATA_EN_PIN = P1_3;
const byte numbers[16] = {
0b11111100,
0b01100000,
0b11011010,
0b11110010,
0b01100110,
0b10110110,
0b10111110,
0b11100000,
0b11111110,
0b11100110,
0b11101110,
0b00111110,
0b10011100,
0b01111010,
0b10011110,
0b10001110
};
void loadLed(byte d1, byte d2, byte d3)
{
digitalWrite(DATA_EN_PIN, 0);
digitalWrite(DATA_PIN, 1);
digitalWrite(CLOCK_PIN, 1);
delayMicroseconds(5);
digitalWrite(CLOCK_PIN, 0);
delayMicroseconds(5);
for (int i=7; i >= 0; i--)
{
if(d1 & (1 << i))
digitalWrite(DATA_PIN, 1);
else
digitalWrite(DATA_PIN, 0);
digitalWrite(CLOCK_PIN, 1);
delayMicroseconds(5);
digitalWrite(CLOCK_PIN, 0);
delayMicroseconds(5);
}
for (int i=7; i >= 0; i--)
{
if(d2 & (1 << i))
digitalWrite(DATA_PIN, 1);
else
digitalWrite(DATA_PIN, 0);
digitalWrite(CLOCK_PIN, 1);
delayMicroseconds(5);
digitalWrite(CLOCK_PIN, 0);
delayMicroseconds(5);
}
for (int i=7; i >= 0; i--)
{
if(d3 & (1 << i))
digitalWrite(DATA_PIN, 1);
else
digitalWrite(DATA_PIN, 0);
digitalWrite(CLOCK_PIN, 1);
delayMicroseconds(5);
digitalWrite(CLOCK_PIN, 0);
delayMicroseconds(5);
}
for (int i=0; i <= 10; i++)
{
digitalWrite(DATA_PIN, 0);
digitalWrite(CLOCK_PIN, 1);
delayMicroseconds(5);
digitalWrite(CLOCK_PIN, 0);
delayMicroseconds(5);
}
digitalWrite(DATA_EN_PIN, 1);
}
void setup()
{
pinMode(CLOCK_PIN, OUTPUT);
pinMode(DATA_PIN, OUTPUT);
pinMode(DATA_EN_PIN, OUTPUT);
delay(100);
}
void loop()
{
loadLed(numbers[8], numbers[8], numbers[8]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment