Wielkie dzięki!. przeoczyłem odświeżanie. troszkę powalczyłem w nocy z pisaniem kodu i wyszedł mi taki oto niedziałający zegarek:
Zaloguj się, aby zobaczyć kod
sam algorytm zliczania minut i godzin działa. nacisnięcie klawisza nie powoduje powrotu do głównej pętli programu - wyświetla się pojedyncza cyfra na wyświetlaczu, czyli tkwie w podprogramie. Poza tym mam duchy na wyświetlaczu, czyli odświeżany jest zbyt szybko, a gdy wpakuję opóxnienia rzędu 200µs na wyświetlaczu mam ledwo widoczne cyfry. Rozumiem, że program jest po prostu źle napisany. Zna ktoś jakiś "schemat blokowy" programu zegarka led?
Nie chcę gotowego rozwiązania, a jedynie np. kolejność wykonywania czynności.
Dodano po 15 [minuty]:
Poprawiłem program w zakresie powrotu z podprogramu. Miałem źle przypisane piny klawiatury w podprogramach. Nadal mam duchy, a naciskanie klawiszy powoduje okresowe przygasanie wyświetlacza, co rozumiem, bo mam pętle w podprogramach obsługi klawiszy.
Dodano po 38 [minuty]: Usunięcie duchów umożliwiła mi instrukcja waitus 100 tuż przed wygaszeniem danej cyfry. Pewnie nie jest to najszczęśliwsze rozwiązanie, ale już rozumiem mechanizm działania. Pozostaje mi zmiana obsługi klawiatury. W jaki sposób obsłużyć ją, by nie powodowała opóźnień w wyświetlaniu i jednocześnie nie powodowała narastania wartości inkrementowanej zmiennej o ileś tam setek w ciągu sekundy?
Dodano po 20 [minuty]: Bardzo dziękuję wszytkim za pomoc, temat zamykam, a sprawę klawiatury przedstawię w nowym temacie. Raz jeszcze dzięki!