digiWatch1.c


1
#include<avr/io.h>
2
#include<util/delay.h>
3
#include "lcd.c"
4
#include "lcd.h"
5
#include<avr/interrupt.h>
6
#define F_CPU1000000UL
7
8
// Project by http://www.code2impress.com for free .. 
9
// For more free projects and solution ... Logon to www.code2impress.com
10
int sec=0 ,count=0, min=0 ,hr=0;
11
char buffer[10];
12
13
void main()
14
{
15
TCNT0=0;
16
TCCR0=0B00000011;
17
TIMSK=0B00000001;
18
lcd_init(LCD_DISP_ON);
19
lcd_clrscr();
20
sei();
21
while (1);
22
}
23
ISR(TIMER0_OVF_vect)
24
{
25
lcd_gotoxy(0,0);
26
lcd_puts("hr:min:sec:");
27
28
if (count==61)
29
{
30
sec++;
31
lcd_clrscr();
32
lcd_gotoxy(0,0);
33
lcd_gotoxy(0,1);
34
sprintf(buffer,"%2d%4d%4d",hr,min,sec);
35
lcd_puts(buffer);
36
count=0;
37
38
if (sec==60)
39
{
40
sec=0;
41
min++;
42
lcd_gotoxy(0,0);
43
lcd_gotoxy(0,1);
44
sprintf(buffer,"%2d%4d%4d",hr,min,sec);
45
lcd_puts(buffer);
46
count=0;
47
48
if (min==60)
49
{
50
min=0;
51
hr++;
52
lcd_clrscr();
53
lcd_gotoxy(0,0);
54
lcd_gotoxy(0,2);
55
sprintf(buffer,"%2d%4d%4d",hr,min,sec);
56
lcd_puts(buffer);
57
count=0;
58
59
if (hr==24)
60
{
61
lcd_clrscr();
62
}
63
}
64
}
65
}
66
else 
67
{
68
count++;
69
}
70
}