#include <mega328.h>
#include <delay.h>
#include <alcd.h>

unsigned int hour=1, min=35, sec=15;
int i, k, a=1, b=35, c=20;


void ht_clock ()
{
 
    lcd_gotoxy(8,1);  
    lcd_putchar(hour/10 +48);
    lcd_putchar(hour%10 +48); 
    lcd_putsf(":");
    
    lcd_putchar(min/10 +48);
    lcd_putchar(min%10 +48); 
    lcd_putsf(":"); 
    
    lcd_putchar(sec/10 +48);
    lcd_putchar(sec%10 +48);           
    
}


void main(void)
{

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif 

DDRC.3=1; PORTC.3=0;

lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("NHOM 4  01:35:20");



while(1)
{
     
     ht_clock();
     sec++;
     if (sec==60){
        sec=0;
        min +=1;   
        if (min == 60){
            min=0;
            hour+=1;
     }
            if(hour==24)
            hour=0; 
     }
     ht_clock();
     
     if (hour==a && min==b && sec==c){ 
        PORTC.3=1;  
        k=61;
              }       
     if (k>0){ 
        k-=1;
        if (k==0)
        PORTC.3=0;
     }     
     delay_ms(100);
}
}