{0: / / Dig1
{((mode!=1) | (flags & blink_bit == blink_bit))
{A=hour_H; goto LoadDig;}
{goto ExitDspl;}
}; 1: / / Dig2
{((mode!=2) | (flags & blink_bit == blink_bit))
{A=hour_L; goto LoadDig;}
{goto ExitDspl;}
}; 2: / / Dig3
{((mode!=3) | (flags & blink_bit == blink_bit))
{A=min_H; goto LoadDig;}
{goto ExitDspl;}
}; 3: / / Dig4
{((mode!=4) | (flags & blink_bit == blink_bit))
{A=min_L; goto LoadDig;}
{goto ExitDspl;}
}; 4: / / Dig5
{((mode!=5) | (flags & blink_bit == blink_bit))
{A=sec_H; goto LoadDig;}
{goto ExitDspl;}
}; 5: / / Dig6
{((mode!=6) | (flags & blink_bit == blink_bit))
{A=sec_L; goto LoadDig;}
{goto ExitDspl;}
};
}:
{_data (TBL_IMAGE [A], TBL_COM [cur_num] & value);
}: {}
} main (void)
{= 0; _H=0; _L=0; _H=0; _L=0; _H=0; _L=0; _2ms=0; _beep=0; &=~ fl_half_sec; DIR |=0x16;=WDTPW + WDTHOLD; _spi ();=NOT_DEFINE;
CCTL0=CCIE;// Дозвіл переривання від CCR0
TACTL=TASSEL_1 + MC_1 + TACLR;// Тактирование від ACLK, upmode, clear TAP
CCR0=TMR_2000MKS;// Start timer
_BIS_SR (LPM0_bits + GIE);// Дозвіл глобальних переривань і переклад в режим зниженого енергоспоживання
}
/ / обслуговування переривання по таймеру Timer A0
# pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{();// Запалюємо чергову цифру ();// Опитування клавіатури_Key (); _2ms + +; ((ct_2ms!=250) | (ct_2ms!=125))
{} / / ms250
{^=blink_bit; (ct_2ms == 250) / / ms500
{_2ms=0; ^=fl_half_sec; (flags & fl_half_sec == fl_half_sec)
{} / /
{(); ();
}
}
}
}