From 75a61c57fb0402f777bfa828dd71818a97ed54a4 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Sun, 1 Apr 2012 00:20:25 +0200 Subject: original dcf77 C code --- clock.c | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 clock.c (limited to 'clock.c') diff --git a/clock.c b/clock.c new file mode 100644 index 0000000..e6fba14 --- /dev/null +++ b/clock.c @@ -0,0 +1,88 @@ +/************************************************************************/ +/* */ +/* Clock / Calendar */ +/* */ +/* Author: Peter Dannegger */ +/* danni@specs.de */ +/* */ +/************************************************************************/ + +#include "main.h" +#include "clock.h" +#include "max7219.h" +#include "timebase.h" +#include "dcf77.h" + +struct time data time; + + +void display_date( void ) +{ + displaymem[7] = time.day / 10; + displaymem[6] = time.day % 10 | ATTRIB_DP; + displaymem[5] = time.month / 10; + displaymem[4] = time.month % 10 | ATTRIB_DP; + displaymem[3] = 2; + displaymem[2] = 0; + displaymem[1] = time.year / 10; + displaymem[0] = time.year % 10; +} + + +void display_time(void) +{ + displaymem[7] = time.hour / 10; + displaymem[6] = time.hour % 10; + + displaymem[4] = time.minute / 10; + displaymem[3] = time.minute % 10; + + displaymem[1] = time.second / 10; + displaymem[0] = time.second % 10; +} + + +u8 code MDAYS[] = { + 29, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + + +void clock(void) +{ + u8 i; + + time.second++; + if( time.second == 60 ){ + time.second = 0; + timeflags = 1<