Bardzo dobrze kombinujesz i teraz widzę że już zaskoczyłeś dobrze o co chodzi ale ...
ale jedno ważne ALE ..... bo widzę, że w kodzie przerwania zaremowałeś bardzo WAŻNĄ linię
Kod:
//ANODY_PORT = (ANODY_PORT & 0xF0) | (~licznik & 0x0F);
A za to na początku przerwania zamiast wykasować wszystkie ANODY to ty tam sobie niefrasobliwie przypisujesz na cały port zanegowaną wartość licznika.
Przeczytaj sobie w książce z czym to się wiąże i jakie dwa babole popełniasz. Wprawdzie wyświetlanie niby ci działa ale:
1. będziesz miał zjawisko "duszków" na wyświetlaczu
2. niszczysz zawartości innych nie używanych pinów portu na którym są ANODY !!!! to już bardzo źle ...
a właśnie taki sposób jak w książce pokazałem - to nie na darmo - bo później ludzie piszą na różnych forach pytania typu:
"a od czego na moim wyświetlaczu w ciemności widać takie jakby duszki czy smużenie ???"
albo
"a dlaczego inne piny portu zmieniają swoje wartości - tam gdzie mam podłączone anody???"
jeszcze raz polecam - poczytaj o tym dokładnie - bo w tej linii gdzie ty sobie niefrasobliwie teraz przypisujesz licznik a nawet (o zgrozo komentarza nie zmieniłeś było tak)
Kod:
ANODY_PORT = (ANODY_PORT & 0xF0); // wygaszenie wszystkich wyświetlaczy
zresztą zawsze oryginał kodu źródłowego znajdziesz na DVD
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]