Hi Alex,

das Arbeiten mit Strings ist, wie churchi schon erläutert hat, für einen Anfänger in der C-Programmierung nicht so ganz einfach. So müsste es aber funktionieren:

Code:
#include <stdio.h>

#define preValue 57724

int volatile gSeconds = 0;

SIGNAL (SIG_OVERFLOW1)
{
  gSeconds++;
  TCNT1 = preValue;
}
 
 
int main (void)
{
  int seconds = 0;
  int minutes = 0;
  int hours   = 0;
  char mytime[] = "00:00:00";


  lcd_init (LCD_DISP_ON);

  TCCR1B = (1<<CS12) | (1<<CS10);
  TIMSK |= (1<<TOIE1);
  TCNT1 = preValue;
  sei ();
   
  lcd_puts ("Time: ");
  lcd_puts (mytime);
   
  while (1)
  {
    if (seconds != gSeconds)
    {
      seconds = gSeconds;
         
      if (seconds == 60)
      {
        seconds = 0;
        gSeconds = 0;
        minutes++;
      }
      if (minutes == 60)
      {
        minutes = 0;
        hours++;
      }
      if (hours == 24)
        hours = 0;

      /* Uhrzeit formatieren */
      sprintf (mytime, "%02d:%02d:%02d", hours, minutes, seconds);         

      /* und auf dem Display ausgeben */
      lcd_gotoxy (6,0);
      lcd_puts (mytime);
    }
  }
}
Die Funktion sprintf() aus der Standard-C-Library wird hier dazu benutzt, den String für die gewünschte Ausgabe zu formatieren.

Ich hoffe, das hilft Dir ein wenig.

Gruß, M@nni