układy wyświetlania informacji z wyświetlaczami 7

Transkrypt

układy wyświetlania informacji z wyświetlaczami 7
Zachodniopomorski
Uniwersytet
Technologiczny
WYDZIAŁ ELEKTRYCZNY
Katedra Inżynierii Systemów, Sygnałów i Elektroniki
LABORATORIUM
TECHNIKA MIKROPROCESOROWA
UKŁADY WYŚWIETLANIA
INFORMACJI Z WYŚWIETLACZAMI
7-SEGMENTOWYMI LED
Opracował:
mgr inż. Andrzej Biedka
STATYCZNE WYŚWIETLANIE INFORMACJI
W trybie statycznym linie portu wykorzystane są do bezpośredniego sterowania prądem poszczególnych segmentów
wyświetlacza LED. Zatem wyświetlacz N-cyfrowy wymaga zastosowania N 8-bitowych portów mikrokontrolera.
Schemat ideowy układu przedstawia rysunek 4-1.
+Vcc
JP24
R20 - R27
a
a
b
c
b
c
d
e
f
g
d
e
f
g
h
W1
h
Rys. 4-1.
W układzie do sterowania segmentów wyświetlacza wykorzystany jest dowolny port mikrokontrolera.
Rezystory R20 – R27 ograniczają prąd segmentów. Poziom niski bitu portu mikrokontrolera powoduje świecenie
sterowanego segmentu, poziom wysoki wygasza segment.
Wspólna anoda wyświetlacza przyłączona jest trwale do źródła napięcia zasilania +5V. W tym celu konieczne jest
wymuszenie prądu bazy tranzystora pełniącego funkcję klucza anodowego wybranego wyświetlacza przez
przyłączenie odpowiedniego pinu złącza JP28 do masy.
DYNAMICZNE (MULTIPLEKSOWE) WYŚWIETLANIE INFORMACJI
Wyświetlanie statyczne, ze względu na konieczność stosowania osobnego dla każdej cyfry portu
sterującego oraz wynikającą stąd dużą ilość połączeń w praktyce stosuje się rzadko. Wyjątkiem jest
przypadek wyświetlacza jednocyfrowego.
Znacznie lepsze jest wyświetlanie dynamiczne zwane też multipleksowym. Schemat ideowy takiego
rodzaju wyświetlania możliwego do zaprezentowania w module ZL3AVR przedstawia rysunek 4-2.
T2
2k2
JP28
2k2
T3
2k2
T4
2k2
T5
cyfra 1
cyfra 2
cyfra 3
cyfra 4
W1
JP24
a
b
c
d
e
f
g
h
R20 - R27
W2
a
b
c
d
e
f
g
h
Rys. 4-2
2
W3
W4
+Vcc
Cykl pracy wyświetlacza przedstawiony jest na poniższych przebiegach czasowych:
T2
T3
T4
T5
znak 1
znak 2
znak 3
znak 4
znak 1
znak 2
Rys. 4-3
Sygnały sterujące kluczami anodowymi (tranzystorami Tx) są aktywne poziomem niskim. W każdym
kroku cyklu pracy tylko jeden klucz anodowy może być załączony i w tym kroku na liniach portu
sterującego segmentami wyświetlacza muszą być ustawione bity właściwe dla utworzenia świecącego
znaku na danej pozycji. Częstotliwość powtarzania cyklu należy dobrać tak, by utworzony obraz nie
migotał.
Znaki do wyświetlenia na poszczególnych pozycjach wyświetlacza najwygodniej jest zapisywać
w cztero-elementowej tablicy umieszczonej w pamięci RAM, w tzw. buforze znaków. Każdy z
elementów przyporządkowany jest poszczególnej pozycji wyświetlacza. Obrazy znaków, które mają być
wyświetlone należy umieścić w innej tablicy, w pamięci programu – ROM. Podobnie stan bitów
sterujących pracą kluczy anodowych najwygodniej zawrzeć w tablicy w pamięci ROM.
Ze względu na konieczność zachowania równych okresów wyświetlania poszczególnych znaków (dla
równej jasności znaków) proces wyświetlania znaków z bufora powinien być realizowany
w podprogramie obsługi przerwania czasowego od timera. Dodatkowo może być on wtedy niezależny od
programu umieszczającego dane w buforze.
Algorytm podprogramu obsługi przerwania obsługującego wyświetlanie dynamiczne przedstawia
rysunek 4-4.
Inicjalizacja timera, układu przerwań i zmiennych programu musi być wykonana na początku programu
głównego.
3
INT
timer
Ładowanie liczników
timera (tryb Normal)
Zwiększ licznik znaków
T
Czy ostatni
znak ?
Licznik znaków = 0
N
Wybierz następny klucz
anodowy
Odczytaj znak z bufora
danych
Pobierz wzorzec
znaku z tablicy znaków
Wyślij do portu segmentów
RETI
Rys. 4-4
ZADANIA:
1. Napisać program wyświetlania czterech znaków (cyfr z zakresu 0 - 9)
umieszczonych w czterobajtowym buforze w pamięci RAM od adresu 30H.
Przykładowe cyfry wpisać do pamięci w programie głównym.
2. Napisać program licznika sekund. Jako wzorzec czasu przyjąć sygnał przerwań
od wybranego timera. Program powinien wygaszać nieznaczące zera. Sygnał z
przycisku P1 wykorzystać do zerowania licznika.
3. Napisać program wyświetlający przesuwający się w lewo przykładowy tekst.
4