LABORATORIUM UKŁADY WY Ś WIETLANIA INFORMACJI Z WY Ś WIETLACZAMI 7-SEGMENTOWYMI LED

Podobne dokumenty
SYSTEM PRZERWA Ń MCS 51

LABORATORIUM. TIMERY w mikrokontrolerach MCS 51

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

TECHNIKA MIKROPROCESOROWA

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51.

Przerwania w architekturze mikrokontrolera X51

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Instytut Teleinformatyki

Instytut Teleinformatyki

LABORATORIUM UKŁADY STYKOWE ZL3AVR

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

MIKROPROCESORY architektura i programowanie

Ćw. 5: Bramki logiczne

Ćwiczenie 7 Matryca RGB

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Pamięci EEPROM w systemach mikroprocesorowych, część 2

Pracownia elektryczno-elektroniczna klasa IV

Programowanie w językach asemblera i C

Politechnika Warszawska

LABORATORIUM STEROWANIE SILNIKA KROKOWEGO

Struktura programu w asemblerze mikrokontrolera 8051

architektura komputerów w 1 1

Przykładowe pytania DSP 1

Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Instytut Teleinformatyki

Spis procedur i programów

2. Architektura mikrokontrolerów PIC16F8x... 13

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

imei Instytut Metrologii, Elektroniki i Informatyki

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

START: ; start programu od adresu 0100H ; zerowanie komórek od 01H do 07FH ( 1 dec dec)

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Lista rozkazów mikrokontrolera 8051

SML3 październik 2008

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Programowanie mikrokontrolerów. 8 listopada 2007

Opis procedur asemblera AVR

Programowanie mikrokontrolera 8051

Hardware mikrokontrolera X51

TECHNIKA MIKROPROCESOROWA II

Programowanie mikrokontrolerów (CISC)

Instytut Teleinformatyki

400_74194x2 Moduł rejestrów przesuwnych

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

ASEMBLER MCS-51 Podstawowe informacje

Politechnika Wrocławska Wydział Elektroniki Instytut Cybernetyki Technicznej

Dokumentacja Licznika PLI-2

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Temat: System przerwań, liczniki i wyświetlacz w STRC51. Ćwiczenie 3.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

SML3 październik

LITEcomp aplikacje Zegar z układem PCF8583

Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny

Katedra Energetyki. Laboratorium Podstaw Elektrotechniki. Badanie silników skokowych. Temat ćwiczenia:

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Licznik obiektów. Model M-03. do Dydaktycznego Systemu Mikroprocesorowego DSM-51. Instrukcja uŝytkowania

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MIKROPROCESORY architektura i programowanie

ZL11ARM. Uniwersalna płyta bazowa

Badanie układów zewnętrznych mikrokontrolera 311[07].Z4.03

Moduł licznika położenia LP 2.

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

INSTRUKCJA OBS UGI

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

Opis układów wykorzystanych w aplikacji

Ćwiczenie 1 Wędrujące światełko

Programowanie mikrokontrolerów - laboratorium

Technika Mikroprocesorowa

Temat: System przerwań, liczniki i wyświetlacz w STRC51. Ćwiczenie 3.

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

KATEDRA ELEKTRONIKI AGH WYDZIAŁ EAIIE. Dydaktyczny model 4-bitowego przetwornika C/A z siecią rezystorów o wartościach wagowych

Wyjście do drukarki Centronix

Architektura mikrokontrolera MCS51

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

Instrukcja pomocnicza TELMATIK do licznika / timera H8DA

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Architektura mikrokontrolera MCS51

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

O autorze... 9 Wprowadzenie... 11

Komunikacja w mikrokontrolerach Laboratorium

Architektura systemów komputerowych Laboratorium 10 Symulator SMS32 Urządzenia wejścia i wyjścia

Mikroprocesorowy miernik czasu

Asembler - język maszynowy procesora

Architektura systemów komputerowych Laboratorium 7 Symulator SMS32 Stos, Tablice, Procedury

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Transkrypt:

Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Zakład Cybernetyki 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. uc 89S52 P0.0 R9 +5V P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 ULN 2803 R1 R8 h g f e d c b a Wsp. A Rys. 4-1. W układzie do sterowania segmentów wyś wietlacza wykorzystany jest port P2. Układ scalony ULN 2803 pełni funkcję wzmacniacza prą du segmentów, rezystory R1 R8 ograniczają prą d segmentów. Wspólna anoda wyś wietlacza przyłą czona jest trwale do ź ródła napię cia zasilania +5V. W tym celu w module ABC-03a konieczne jest przełą czenie modułu do pracy czterocyfrowej (w polach J1, J2 zwarte piny2-3) oraz ustwienie linii P0.0 w stan niski i ustawienie linii P0.1 P0.3 w stan wysoki. Algorytm programu wyś wietlania kolejnych cyfr od 0 do 9 przedstawiony jest na rysunku 4-2. START Inicjalizacja timera T0 i zmiennych programu Pobierz wzorzec znaku z tablicy Wyś wietl znak Czekaj 500ms Wybierz nastę pny Czy ostatni? N T Ustaw na pierwszy Rys. 4-2 2

ś 1: ; LISTING 4-1 2: ; Program wyś wietlania kolejnych cyfr od 0 do 9 metodą statyczną 3: ; z wykorzystaniem timera T0 w trybie 1 4: 5: ORG 0 6: 7: PODZIELNIK EQU 65535 46080 + 1 ; dla 50msek:65536-(50ms/1,085us) 8: ILOSC_ZNAKOW EQU 10 ; 10 cyfr do wyś wietlenia 9: 10: ; Inicjalizacja timera i zmiennych 11: MOV TMOD,#00000001B ; timer T0, tryb 1 12: MOV TL0,#LOW PODZIELNIK ; ładuj starszy bajt podzielnika 13: MOV TH0,#HIGH PODZIELNIK ; ładuj młodszy bajt podzielnika 14: 15: MOV DPTR,#TABLICA_ZNAKOW 16: MOV P0,#00001110B ; ustaw linie portu P0 dla właś ciwego 17: ; sterowania anod wyś wietlaczy 18: POCZATEK: 19: MOV R7,#0 ; zeruj licznik znaków 20: PETLA: 21: MOV A,R7 ; załaduj aktualny numer znaku 22: MOVC A,@A+DPTR ; pobierz z tablicy obraz znaku 23: MOV P2,A ; wyś lij do portu 24: 25: CALL CZAS_1SEK ; czekaj 1 sekundę 26: 27: INC R7 28: CJNE R7,#ILOSC_ZNAKOW,PETLA ; sprawdź czy koniec 29: SJMP POCZATEK 30: ;************************************************************** 31: ; pę tla opóź niają ca, 20 x 50msek. 32: CZAS_1SEK: 33: SETB RS0 ; ustaw bank rejestrów nr 1 34: MOV R7,#20 ; moŝ na wykorzystać rejestr R7 35: SETB TR0 ; startuj timer T0 36: CZAS_1: 37: JNB TF0,$ 38: CLR TF0 39: MOV TH0,#HIGH PODZIELNIK ; ładowanie starszego bajtu do timera 40: MOV TL0,#LOW PODZIELNIK ; ładowanie młodszego bajtu do timera 41: 42: DJNZ R7,CZAS_1 ; czy koniec odliczania 1 sekundy? 43: CLR TR0 ; zatrzymaj timer T0 44: CLR RS0 ; wróć do banku rejestrów nr 0 45: RET 46: ;************************************************************** 47: ; Tablica obrazów cyfr w kodzie 7-segmentowym, segment wieci dla sygnału HIGH 48: TABLICA_ZNAKOW: 49: ; hgfedcba - segmenty 50: DB 00111111B ; cyfra 0 51: DB 00000110B ; cyfra 1 52: DB 01011011B ; cyfra 2 53: DB 01001111B ; cyfra 3 54: DB 01100110B ; cyfra 4 55: DB 01101101B ; cyfra 5 56: DB 01111101B ; cyfra 6 57: DB 00000111B ; cyfra 7 58: DB 01111111B ; cyfra 8 59: DB 01101111B ; cyfra 9 60: 61: END 3

ZADANIA: 1. Wybór aktywnego wy ś wietlacza odbywa się przez wyzerowanie odpowiedniej linii portu P0. Pozostałe trzy spo ś ród czterech linii sterują cych anodami wy ś wietlaczy muszą być ustawione w stan wysoki. Napisać program wy ś wietlają cy metodą statyczną cyfry heksadecymalne (od 0 do F) kolejno na wy ś wietlaczach od pierwszego do czwartego: - krok 1: wy ś wietlacz 1, kolejne cyfry od 0 do F - krok 2: wy ś wietlacz 2, kolejne cyfry od 0 do F - krok 3: wy ś wietlacz 3, kolejne cyfry od 0 do F - krok 4: wy ś wietlacz 4, kolejne cyfry od 0 do F 2. Napisać program pełnią cy funkcje jak w zadaniu 1, z zastosowaniem przerwań od timera T0. Zmiany informacji na wy ś wietlaczach naleŝ y przenie ś ć do podprogramu obsługi przerwania. 4

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 ABC-03a przedstawia rysunek 4-3. T1 T2 T3 T4 +5V P0.0 P0.1 P0.2 P0.3 R9 R12 uc 89S52 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 ULN 2803 R1 R8 h g f e d c b a Rys. 4-3 Cykl pracy wyś wietlacza przedstawiony jest na poniŝ szych przebiegach czasowych: T1 T2 T3 T4 P2 znak 1 znak 2 znak 3 znak 4 znak 1 znak 2 Rys. 4-4 5

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 P2 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 kolejnych komórkach pamię ci RAM, w tzw. buforze znaków. Ze wzglę du na koniecznoś ć zachowania równych okresów wyś wietlania poszczgó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-5. Inicjalizacja timera, układu przerwań i zmiennych programu musi być wykonana na począ tku programu głównego. INT T0 Ładowanie liczników timera Czy ostatni znak? T N Licznik znaków = 0 Zwię ksz licznik znaków Wybierz nastę pny klucz anodowy Odczytaj znak z bufora danych Pobierz wzorzec znaku Wyś lij do portu segmentów RETI Rys. 4-5 6

ZADANIA: 3. Na podstawie schematu ideowego modułu wyś wietlacza ustalić pozycje zwór właś ciwe dla pracy czteropozycyjnej. 4. 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. 5. 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. 6. Napisać program licznika impulsów podawanych z przycisków P1 (zliczanie w dół) i P2 (zliczanie w górę ). 7

DYNAMICZNY WY Ś WIETLACZ DWUCYFROWY W urzą dzeniach elektronicznych czę sto stosowany jest wyś wietlacz dwucyfrowy. Sterowanie takiego wyś wietlacza jest moŝ liwe tylko z jednego 8-bitowego portu. Schemat ideowy takiego rozwią zania przedstawia rysunek 4-6. +5V R9 T1 T2 R10 uc 89S52 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 ULN 2803 R1 R8 h g f e d c b a Rys. 4-6 Przełą czanie wyś wietlaczy realizuje sygnał uzyskiwany z linii P2.7. Dodatkowy inwerter odwraca fazę sygnału wybierają cego wyswietlacz, dzię ki czemu klucze T1 i T2 są sterowane w przeciwfazie. Dla uzyskania takiego trybu pracy modułu ABC-03a naleŝ y ustawić połą czenia w polach J1, J2: zwarte piny 1-2. W tej metodzie nie moŝ na sterować programowo wyś wietlaniem punktu dziesię tnego (segment oznaczony h lub dp) wyś wietlacza. ZADANIA: 7. Napisać program wyś wietlania dwóch znaków (cyfr z zakresu 0-9) umieszczonych w dwubajtowym buforze w pamię ci RAM od adresu 30H. Przykładowe cyfry wpisać do pamię ci w programie głównym. 8. Napisać program dwucyfrowego 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. 9. Napisać program dwucyfrowego licznika impulsów podawanych z przycisków P1 (zliczanie w dół) i P2 (zliczanie w górę ). 8