Forum

Einloggen | Registrieren | RSS  

MichaelE(R)

14.06.2012,
19:23
 

ATmega16: Uhr mit Hilfe des Timers realisieren (Elektronik)

Hallo an alle!

Bin derzeit dabei, eine Uhr mit Hilfe des Timers zu programmieren. Nur leider bin ich wahrlich kein profi in Sachen µC Programmierung.

Könnte mir jemand Anregungen liefern, wie man den soetwas angehen könnte?

Matt

14.06.2012,
19:42

@ MichaelE

ATmega16: Uhr mit Hilfe des Timers realisieren

Servus!

Der Artikel ist - hoffe ich - genau das Richtige für Dich:

http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC

Überhaupt lohnt sich mikrocontroller.net sehr, wenn Du mit AVRs arbeiten willst. Ich persönlich finde die Tutorials, die Artikel und auch das Forum hervorragend.

MichaelE(R)

14.06.2012,
19:53

@ Matt

ATmega16: Uhr mit Hilfe des Timers realisieren

» Servus!
»
» Der Artikel ist - hoffe ich - genau das Richtige für Dich:
»
» http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC
»
» Überhaupt lohnt sich mikrocontroller.net sehr, wenn Du mit AVRs arbeiten
» willst. Ich persönlich finde die Tutorials, die Artikel und auch das Forum
» hervorragend.

Jep, dieses Forum ist wirklich hervorragend!
Habe jetzt aber schon einen Lösungsansatz gefunden und werde mit diesem auch weiterarbeiten :)

MichaelE(R)

20.06.2012,
13:47

@ MichaelE

ATmega16: Uhr mit Hilfe des Timers realisieren

Habe jetzt das Programm soweit, bekomme jedoch immer eine Fehlermeldung:

und zwar können die Register nicht gefunden werden:

OCR0A undeclared

Progmmiere mit dem avr studio und dem atmega16

#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>

volatile unsigned int sekunde;
volatile unsigned int minute;
volatile unsigned int stunde;

int main(void)
{
//lcd_init();
TCCR0A = (1<<WGM01);
TCCR0B |= (1<<CS01);
OCR0A = 125-1;

TIMSK |= (1<<OCIE0A);
sei();

while(1)
{
/*lcd_data(stunde);
lcd_data(minute);
lcd_data(sekunde);*/
}
}

ISR (TIMER0_COMPA_vect)
{


sekunde++;
if(sekunde == 60)
{
minute++;
sekunde = 0;
}

if(minute == 60)
{
stunde++;
minute = 0;
}

if(stunde == 24)
{
stunde = 0;
}

}