Спасибо! вчера в час ночи меня тоже до этого доперло! получилось
Код
while (1){
buf=zg7[(bin2bcd(sec) & 0x0f)]; //получаем единицы sec
for (cnt=0;cnt<8;cnt++) {
buf = buf << 1; // делаем логический сдвиг значения из знакогенератора
bitc(PORTD,IND_DATA);
if (SREG&0x01) {bits(PORTD,IND_DATA);} //проверяем флаг сдвига, если установлен, в DATA пишем 1
bitc(PORTD,IND_CLK); //даем 0 на CLK
bits(PORTD,IND_CLK); //даем 1 на CLK
} //for
PORTB.3=0;
delay_ms(1);
PORTB.3=1;
buf=zg7[((bin2bcd(sec)>>4) & 0x0f)]; //получаем десятки sec
for (cnt=0;cnt<8;cnt++) {
buf = buf << 1; // делаем логический сдвиг значения из знакогенератора
bitc(PORTD,IND_DATA);
if (SREG&0x01) {bits(PORTD,IND_DATA);} //проверяем флаг сдвига, если установлен, в DATA пишем 1
bitc(PORTD,IND_CLK); //даем 0 на CLK
bits(PORTD,IND_CLK); //даем 1 на CLK
} //for
PORTB.2=0;
delay_ms(1);
PORTB.2=1;
}//while