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

unsigned char hour, min, sec;
int i;


void ht_sec (unsigned int thamso)
{
    unsigned char  chuc, donvi;
    donvi=thamso%10; chuc = thamso/10;  
    lcd_putchar(chuc +48);
    lcd_putchar(donvi +48);           
    lcd_putsf(":"); 
}


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");
lcd_gotoxy(8,0);
lcd_putsf("00:01:20");


while(1)
{
     
     for(i=0;i<60;i++){
        sec = i;
        if (sec==59) {
            sec=0;
            min+=1; 
            i=0; 
        }
        lcd_gotoxy(14,1);
        ht_sec(sec);
        lcd_gotoxy(11,1);
        ht_sec(min);
        lcd_gotoxy(8,1);
        ht_sec(hour);  
        if(min==59){
        min=0;
        hour+=1;       
     }          
        if(min==1 && sec==20){
            PORTC.3 = 1;
            lcd_gotoxy(0,1);
            lcd_putsf("1p OFF");
        }
        if(min==2 && sec==20)
            PORTC.3 = 0;
        delay_ms(100);
     }
}
}