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 | }
|
|