Po pierwsze to utworzyłeś cztery zmienne w pamięci Eeprom
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a potem odwołujesz się do nich jakby to były zwykłe zmienne w pamięci RAM. To tak nie działa. Do odczytu i zapisu tych zmiennych należy użyć funkcji do tego przeznaczonych np. eeprom_read_byte, eeprom_write_byte itd.
Po drugie źle wysyłasz dane na segmenty wyświetlacza.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Niepotrzebnie dałeś tam bitowe AND czyli
&. Przy takim zapisie raz wyświetlona liczba już pozostanie na wyświetlaczu a wyświetlanie kolejnych liczb spowoduje jedynie włączanie kolejnych segmentów. Co w efekcie końcowym spowoduje włączenie wszystkich segmentów czyli liczby 8. Jeśli wyświetlisz np. liczbę 1 a potem np. liczbę 6 to segment B włączony przy "jedynce" będzie nadal włączony przy wyświetlaniu "szóstki" i wyświetli ci się liczba 8.
Jednak po poprawieniu tych makr program i tak nie działa poprawnie (sprawdzone na ATB) a na wyświetlaczu oprócz wyświetlanych poprawnych liczb widać lekkie świecenie liczb z sąsiednich wyświetlaczy.
Ogólnie ten koci kod należało by cały zmienić a wyświetlanie liczb na wyświetlaczu zrobić za pomocą przerwania. W podpisie masz napisane, że posiadasz Bluebooka. Więc może na początek wykorzystaj sprawdzone rozwiązanie z lekcji 03_Multi_Led.