void load_data(char seg1, char seg2, char seg3)
{
char i, temp;
char position = 0;
set_data_pin(1); // clock start bit in
set_clock_pin(1);
delay_us(5);
set_clock_pin(0);
delay_us(5);
temp = seg1;
while(i<8)
{
set_data_pin(temp & 0x80); // set data pin
set_clock_pin(1);
delay_us(5);
set_clock_pin(0);
delay_us(5);
i++;
temp = temp << i; // shift next bit out
}
temp = seg2;
while(i<8)
{
set_data_pin(temp & 0x80); // set data pin
set_clock_pin(1);
delay_us(5);
set_clock_pin(0);
delay_us(5);
i++;
temp = temp << i; // shift next bit out
}
temp = seg3;
while(i<8)
{
set_data_pin(temp & 0x80); // set data pin
set_clock_pin(1);
delay_us(5);
set_clock_pin(0);
delay_us(5);
i++;
temp = temp << i; // shift next bit out
}
// Last 11 bits - do something here if needed
while(i<11)
{
set_data_pin(0); // set data pin
set_clock_pin(1);
delay_us(5);
set_clock_pin(0);
delay_us(5);
i++;
}
}