Nie wiem czy dobrze zrozumiałeś ideę wykożystania przepełnienia od licznika w tego typu wyświetlaniu, więc po kolei:
- napewno wiesz że przy wyświetlaniu multipleksowym w danej chwili świeci tylko jedna cyfra, aby uzyskac efekt świecenia wszystkich trzeba kilkadziesiąt razy na sekundę zapalac kolejne cyfry. Częstotliwośc przerwań od licznika dobierasz właśnie według tego, np masz 3 cyfry więc należałoby każdą zaświecac min 30 razy na sekundę (teoretycznie mówią 25 ale najlepiej 50 x ) a więc 3*30=90 czyli licznik powinien się przepełniac ok 90 razy na sekundę, zaokrąglmy to do 100

(co 10ms). Licznik w standardowym 8051 przy kwarcu 12MHz maksymalnie może odliczac odcinki ok. 65ms (cały zakres 65536, jedno zliczenie trwa 1µs) zatem potrzeba nam 10 000 cykli licznika, zatem wartośc jaką należy wpisac do licznika obliczamy T0=65536-10000 --> T0=55536. A dla jeszcze większego bezpieczeństwa żeby nie migało daje przepełnienie 200 razy na sekundę (ale to juz sam policz uwzględniając że to był przykład dla kwarcu 12MHz). W każdym razie jeśli tym samym licznikiem nie odmierzasz czasu to wartości nie muszą byc tak dokładnie obliczane. Wracając do sposobu wyświetlania, po zgłoszeniu przerwania od licznika zapalasz kolejną cyfrę i wychodzisz z przerwania, cyfra świeci śię do nastepnego zgłoszenia się licznika gdzie ją gasisz a zapalasz następną i tak w kółko
Natomiast licznik startujesz w programie głównym gdy już go skonfigórujesz na początku programu a tylko przeładowujesz tuż po zgłoszeniu się przerwania od tego licznika.
U mnie dla wyświetlacza cztero-cyfrowego wygląda to mniej więcej tak:
dl0 equ 20h
dl1 equ 21h
dl2 equ 22h
dl3 equ 23h ;deklaracje rejestrów z cyfrą do wyświetlenia
led equ 24h ;rejestr z aktualnie zaświeconą cyfrą
;--przerwanie od licznika
mov tl0,#wartosc_LOW
mov th0,#wartosc_HIGH ;przeładowanie licznika
push acc
push psw
;--wyświetlenie LED--
mov a,led
rr a
mov led,a
mov p2,#0ffh ;wyłączenie wszystkich segm.
jnb acc.0,nie0
mov p0,dl0
sjmp koniec
nie0:
jnb acc.1,nie1
mov p0,dl1
sjmp koniec
nie1:
jnb acc.2,nie2
mov p0,dl2
sjmp koniec
nie2:
jnb acc.3,koniec
mov p0,dl3
koniec:
mov p2,led ;załączenie aktualnej cyfry
;--koniec wyświetlania LED--
pop psw
pop acc
reti
;--koniec przerwania od licznika--
;----program główny----
;konfigóracje początkowe
;konfigóracja licznika
mov tl0,#wartosc_LOW
mov th0,#wartosc_HIGH
mov led,#10001000b ;jedynka aktywuje wyswietlacz
;start licznika
;dalsze instrukcje programu
pozdrawiam