#include "io430.h"
#include <intrinsics.h>
#define B
P2IN_bit.P4
#define B1
P2IN_bit.P5
int
katot[10]={0x3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X67};
int saat=0,dakika=0;
void bas(int saat,int dakika);
int i=0,d[],s=0;
int main( void )
{
// Stop watchdog
timer to prevent time out reset
WDTCTL = WDTPW +
WDTHOLD;
int a;
P1DIR=0X7F;
P2DIR=0x0F;
TACCR0 = 32000; //
Upper limit of count for TAR
TACCTL0 = CCIE; // Enable interrupts on Compare 0
TACTL = MC_1|ID_0|TASSEL_1|TACLR;
__enable_interrupt();
for(;;)
{
if(B==1)
{
saat=saat+1;
for(a=0;a<30000;a++){}
}
if(B1==1)
{
dakika=dakika+1;
for(a=0;a<30000;a++){}
}
if(s>59){
s=0;
dakika++;
}
if(dakika>59){
dakika=0;
saat++;
}
if(saat>23)
saat=0;
bas(saat,dakika);
}
}
#pragma vector = TIMER0_A0_VECTOR
__interrupt void TA0_ISR (void)
{
s++;
}
void bas(int saat, int dakika){
int
a,saat1,saat2,dakika1,dakika2;
dakika1=dakika%10;
dakika2=dakika/10;
saat1=saat%10;
saat2=saat/10;
P2OUT=0x07;
P1OUT=katot[dakika1];
for(a=0;a<100;a++){}
P2OUT=0x0B;
P1OUT=katot[dakika2];
for(a=0;a<100;a++){}
P2OUT=0x0D;
P1OUT=katot[saat1];
for(a=0;a<100;a++){}
P2OUT=0x0E;
P1OUT=katot[saat2];
for(a=0;a<100;a++){}
}