Zegarek siedmio-segmentowy - jak go napisać?

0

Chce sobie zrobić zegarek na wyświetlaczy siedmio-segmentowym.
Ustawienia wyświetlacza se darujmy bo wszystko zrobiłem i dla LCD też.
Ale teraz mam problem bo nie wiem jak napisać taki zegarek.

mam tak 4 wyświetlacze, dla każdego jedna zmienna cy1, cy2, cy3, cy4

w while(1) { } muszę napisać kod jakis prosty kod który będzie odpowiednio zwiększał i zerował zmienne.
a na tym się wykładam.

a opużnienie to _delay_ms(a) gdzie a to wartość w mili sekundach

żeby nie było problemów tak wygląda sam licznik który źle działa

int main(void)
{

	inicjalizacja_lcd();
	lcd_str("Zegarek");	// napis z pamięci RAM
	lcd_locate(1,0);
	lcd_str("Godziny Minuty");	// napis z pamięci RAM

	inicjalizacja_led();

	seg7Config();

	sei();
	cy1 = cy2 = cy3 =cy4 = 0;
	while(1)
	{
		cy4++;
		if(cy1 == 10)
				{
					cy1 = 0;
					cy2 = 0;
					cy3 = 0;
					cy4 = 0;
				}
		else if(cy2 == 10)
				{
					cy2 = 0;
					cy3 = 0;
					cy4 = 0;
					cy1++;
				}
		else if(cy3 == 10)
				{
					cy3 = 0;
					cy4 = 0;
					cy2++;
				}

		else if(cy4 == 10)
		{
			cy4=0;
			cy3++;
		}
		_delay_ms(500);
	}
}
0
for(cy=0;;++cy)
  {
   cy4=cy%10;
   cy3=(cy/10)%6;
   cy2=(cy/60)%10;
   cy3=(cy/600)%6;
  }
while(1)
  {
   if(++cy4>9)
     {
      cy4=0;
      if(++cy3>6)
        {
         cy3=0;
         if(++cy2>9)
           {
            cy2=0;
            if(++cy1>6)
              {
               cy1=0;
              }
           }
        }
     }
  }
0

tam w tych w warunkach gdzie jest >6 zmieniłem na >5 po w tedy liczyło do 69 i przechodziło dalej a ma byc 59

i dopisałem se taki warunek

if(cy1 == 2 && cy2 == 4)
       cy1 = cy2 = cy3 =cy4 = 0;

żeby zliczało do 24 tak żeby były godziny i minuty, bo bez tego to jest typowy minutnik

1 użytkowników online, w tym zalogowanych: 0, gości: 1