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