нішнього навантаження
{DIR |=Power_On;
P1OUT |=Power_On;
}: {}
} Beep ()
{(ct_beep)
{0: break; 0x0FF: break;// Bp11: {ct_beep=0x0FF; P1DIR |=0x08; P1OUT |=0x08;} break;// Bp2: ct_beep--;// Bp3
}
} init_spi (void) {DIR |=0x72;// P1 output |=USIPE6 + USIPE5 + USIMST + USIOE;// Port, SPI Master amp;=~ USISWRST;// USI released for operation |=USI16B; |=USISSEL_2; OUT |=(REG_SHCP) | (REG_STCP) | (REG_DS) ;;
} send_data (char data1, char data2) {OUT amp;=~ REG_STCP;=data1;=data2;=16; (USICNT!=0); OUT |=REG_STCP ;;
} Display ()
{_ num ++; (cur_num gt; 5)
{_ num=0;
} (cur_num)//Dis2
{0://Dig1
{((mode!=1) | (flags amp; blink_bit == blink_bit))
{A=hour_H; goto LoadDig;}
{goto ExitDspl;}
}; 1://Dig2
{((mode!=2) | (flags amp; blink_bit == blink_bit))
{A=hour_L; goto LoadDig;}
{goto ExitDspl;}
}; 2://Dig3
{((mode!=3) | (flags amp; blink_bit == blink_bit))
{A=min_H; goto LoadDig;}
{goto ExitDspl;}
}; 3://Dig4
{((mode!=4) | (flags amp; blink_bit == blink_bit))
{A=min_L; goto LoadDig;}
{goto ExitDspl;}
}; 4://Dig5
{((mode!=5) | (flags amp; blink_bit == blink_bit))
{A=sec_H; goto LoadDig;}
{goto ExitDspl;}
}; 5://Dig6
{((mode!=6) | (flags amp; blink_bit == blink_bit))
{A=sec_L; goto LoadDig;}
{goto ExitDspl;}
};
}:
{_ data (TBL_IMAGE [A], TBL_COM [cur_num] amp; value);
}: {}
} main (void)
{= 0; _H=0; _L=0; _H=0; _L=0; _H=0; _L=0; _2ms=0; _beep=0; amp;=~ 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 amp; fl_half_sec == fl_half_sec)
{}//
{(); ();
}
}
}
}