Вы смотрели, что появляется на ноге PD0?
Конструкция
PORTD.0=bin_digits[dig] & 1<<i; //выводим "текущий бит" в линию DS
слишком сложная. CvAVR часто на таких спотыкается. Да и не только он. Я когда-то такими наворотами ухитрился и VC6 в ступор загнать. В итоге у меня простейший if вообще не отрабатывал - было вечно ложное условие. А ведь VC6 на порядки мощнее этого CvAVR....
Это раз.
Второе. Вы наверное имели в виду PORTD.0=bin_digits[dig] & (1<<i);
Не поленитесь, раздробите это, например, так:
unsigned char c, mask;
.......
mask=0x01<<i;
c=bin_digits[dig];
c&=mask;
if (c!=0)
PORTD.0=1;
else
PORTD.0=0;
Если заработает, группируйте операции.
И ещё.
Корявая она какая-то эта К155ИД1. Там надо сигналы инвертировать, и ещё какой-то элемент ИЛИ добавлять - см. вложение.
Это скан книжки Бирюкова 1991 года выпуска. Могу всю книжку дать, может ещё чего-то полезного найдёте.
Советские инженеры, видать плохо её ободрали с чего-то забугорного, либо не сумели её до ума довести, если сами разрабатывали

.
И даташиты не ищите, ну не было в СССР такого понятия ...
PS. Ну не работает у меня кнопка CodeBox -
Сведения об ошибке на веб-странице
Агент пользователя: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
штамп времени: Thu, 10 May 2012 07:56:33 UTC
Сообщение: Недопустимый аргумент.
Строка: 1225
Символ: 3
Код: 0
URI-код:
http://electronix.ru/forum/jscripts/ips_text_editor.jsСообщение: Недопустимый аргумент.
Строка: 1225
Символ: 3
Код: 0
URI-код:
http://electronix.ru/forum/jscripts/ips_text_editor.js
Сообщение отредактировал hd44780 - May 10 2012, 08:21
Эскизы прикрепленных изображений
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда