К сталкера как минимум 2 ошибки №1:
Код: Выделить всё
void upper_point(char on_off)
{
char i;
LAMP_A=1;
LAMP_B=1;
LAMP_C=1;
LAMP_D=1;
LAMPH2=1;
LAMPM2=1;
при FF на ИД1 мы получаем засвет. Но как оказалось не всегда!! Я попался как ... ,хотел отключать лампу 0хFFом(сэкономить ключи), проверив на 1й ИД1 все заработало.Собрал все на плате , включил иииии... блот на 38 с другой ИД1. Ну ладно, у меня их 10 шт есть, может бракованная, проверил все.

только
одна(и попалась же она для проверки) из 10 гасит сегмент, в 3х загорается 7ка,в остальных бутор.
№2:
Спойлер
Код: Выделить всё
void lightoff(void)
{
// ������� ��� �����
if (USE_74141 == 1)
{
LAMP_A=0;
LAMP_B=0;
LAMP_C=0;
LAMP_D=0;
}else
{
D0=0;
D1=0;
D2=0;
D3=0;
D4=0;
D5=0;
D6=0;
D7=0;
D8=0;
D9=0;
}
NEON_1=0;
NEON_2=0;
LAMPS1=0;
LAMPS2=0;
LAMPM1=0;
LAMPM2=0;
LAMPH1=0;
LAMPH2=0;
}
Он сначала гасит катоды, затем аноды => засвет.
Надо искать кто пере соберет прошивку с исправлениями

.