TECHNIKA MIKROPROCESOROWA II

Podobne dokumenty
TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II

Programowanie w językach asemblera i C

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

Podstawy techniki mikroprocesorowej

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

TECHNIKA MIKROPROCESOROWA II

SYSTEMY CZASU RZECZYWISTEGO (SCR)

DOKUMENTACJA PROJEKTU

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

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

Electronic Infosystems

Zmiana rozdzielczości ekranu

Projektowanie Systemów Wbudowanych

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

MultiTool instrukcja użytkownika 2010 SFAR

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Instytut Teleinformatyki

Metody obsługi zdarzeń

Zmiana rozdzielczości ekranu

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. Wydział Informatyki, Elektroniki i Telekomunikacji LABORATORIUM.

Instrukcja nr 9. Zegarek cyfrowy. AGH Zespół Mikroelektroniki Układy Elektroniczne J. Ostrowski, P. Dorosz Lab 9.1

INSTRUKCJA PANEL STERUJĄCY MT-5

PRUS. projekt dokumentacja końcowa

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

Programowalne Układy Cyfrowe Laboratorium

Szkolenia specjalistyczne

Wprowadzenie i specyfikacja techniczna 2. Opis ogólny wyświetlacza i panelu sterującego 3. Sterowania w trybie ISOBAR 4. Sterowanie ręczne 5

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Konfiguracja pakietu CrossStudio for MSP

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Kod produktu: MP01611

Instytut Teleinformatyki

Instrukcja obsługi programatora AVR Prog USB v2

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

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

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

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

SYSTEMY CZASU RZECZYWISTEGO (SCR)

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Instytut Teleinformatyki

BLUETOOTH INSTRUKCJA PODŁĄCZENIA I KONFIGURACJI.

2. Architektura mikrokontrolerów PIC16F8x... 13

Instrukcja obsługi DHL KONWERTER 1.6

dokument DOK wersja 1.0

Wydział Mechaniczny. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 4. Laboratorium z przedmiotu: Technika cyfrowa i mikroprocesorowa

Instrukcja obsługi programatora AVR Prog USB v2

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Parametryzacja przetworników analogowocyfrowych

Instrukcja obsługi programatora AVR Prog USB v2

Politechnika Śląska w Gliwicach

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Programowanie mikrokontrolerów - laboratorium

d&d Labo Dekoder Ledv.4 Przeznaczenie, działanie: Montaż:

INSTRUKCJA OBSŁUGI PROGRAMU INSTAR 1.0

Przetwarzanie AC i CA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Laboratorium Procesorów Sygnałowych

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

LICZNIK IMPULSÓW Z WYŚWIETLACZEM LED NA SZYNĘ DIN LIMP-1 ZASILANY 230VAC

Wersja polska. Wstęp. Zawartość opakowania. Uwaga! WC030 Sweex Webcam 300K with Microphone USB

Politechnika Białostocka

Przerwania, polling, timery - wykład 9

SML3 październik

Kontroler Xelee Master DMX64/512 - Instrukcja obsługi. Kontroler Xelee Master DMX64/512 Firmware 1.1 Instrukcja Obsługi.

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

TECHNIKA MIKROPROCESOROWA II

Spis treści. Opis urządzenia. Pierwsze użycie

wersja 07 Instrukcja obsługi urządzenia sterującego do biologicznych przydomowych oczyszczalni ścieków ROTH MICRO-STEP

Przetwarzanie A/C i C/A

Instrukcja obsługi Multiconverter 2.0

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

ROGUE RF. Instrukcja obsługi (wersja poprawiona) Wireless Gamepad PC with headphones MT1503

Cisco SPA1xx (SPA112, SPA122)

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

LOW ENERGY TIMER, BURTC

INSTRUKCJA OBSŁUGI K3-3. Czytnik kart i zamek kodowy z kontrolerem dostępu i interfejsem Wiegand. Copyright Domster T. Szydłowski

PX 151. DMX-RS232 Interface INSTRUKCJA OBSŁUGI

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Site Installer v2.4.xx

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

Urządzenie do programowania głowic eq-3

Uniwersalny zestaw uruchomieniowy ZL4PIC

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

Transkrypt:

Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 2 Human-Machine Interface, czyli obsługa wyświetlacza slcd Sebastian Koryciak http://www.fpga.agh.edu.pl/tm2 14.10.2015

1 WSTĘP 1.1 CEL Niniejsze ćwiczenie ma na celu zapoznanie użytkowników ze sposobem obsługi wyświetlacza multipleksowanego. Za przykład posłuży wyświetlacz zamontowany na płytce ewaluacyjnej FRDM- KL46Z. 1.2 WYMAGANIA Sprzętowe: komputer klasy PC spełniający wymagania sprzętowe aplikacji KEIL v5, zestaw FRDM-KL46Z Programowe: system operacyjny Windows XP lub wyższy, środowisko Keil / uvision 5 Doświadczenie: podstawowa umiejętność obsługi komputera klasy PC, podstawowa znajomość systemów operacyjnych rodziny Windows, podstawowa znajomość zagadnień z Techniki Mikroprocesorowej 1, podstawowa znajomość zagadnień z Techniki Cyfrowej, wykonane ćwiczenie LAB 1

2 SEGMENT LCD CONTROLLER Mikrokontrolery z rodziny KL46 zostały wyposażone w wbudowany kontroler wyświetlaczy multipleksowanych numerycznych, alfanumerycznych ale także i niestandardowych. Obraz mogą tworzyć zarówno kropki (piksele), jak i symbole (specjalne obrazki lub część wyświetlacza 7 segmentowego). 2.1 ZADANIE Na podstawie dokumentu KL46 Reference Manual proszę dowiedzieć się jakie są podstawowe parametry kontrolera slcd, a na ich podstawie określić jaki największy wyświetlacz może być przez ten mikrokontroler obsługiwany. Na płytce FRDM-KL46Z mamy do dyspozycji wyświetlacz Lumex LCD-S401M16KR. Na podstawie jego dokumentacji możemy dowiedzieć się, że do jego sterowania wykorzystywane się następujące piny: Natomiast poszczególne elementy wyświetlacza to: Wyświetlacze tego typu podzielone są na dwie płaszczyzny (planes): przednią (frontplane) i tylną (backplane). W tym przypadku mamy do czynienia z 4 pinami służącymi za sygnały wspólne, oraz 8

sterującymi poszczególne segmenty (7 + kropka). Sterowanie będzie polegało na multipleksowaniu ze sobą poszczególnych płaszczyzn z odpowiednią częstotliwością. Przykładowo sygnał COM0 kontroluje zaznaczone powyżej segmenty. Oznacza to, że jeżeli COM0 będzie ustawione, możemy aktywować 8 segmentów w zależności od wartości stanów na 8 pinach sterujących tymi segmentami. Ponieważ mamy 4 fazy (4 piny COM), a każdy steruje 8 segmentami, mamy w sumie 32 segmenty, których wartości możemy ustawić. Należy również zwrócić uwagę na fakt, iż tego rodzaju wyświetlacz nie posiada zasilania. W związku z tym należy 4 fazy COM rozdzielić równomiernie, tak aby wszystkie segmenty były tak samo jasne. Natomiast patrząc na wyświetlacz z perspektywy poszczególnych segmentów mamy sytuację przedstawioną na następnej grafice. a a BP3 f b f b BP2 g g e c e c BP1 d FP0 FP1 d BP0

Podpięcie poszczególnych tylnych ścian (BP) do rejestrów przebiegów (zgodnie z pinami z FRDM- KL46Z) powinno wyglądać następująco: WF40 0 0 0 1 0 0 0 1 WF52 0 0 1 0 0 0 1 0 WF19 0 1 0 0 0 1 0 0 WF18 1 0 0 0 1 0 0 0 Biorą pod uwagę powyższe warunki, poszczególne segmenty będą aktywne w następujących przebiegach: WF8B[0] d e g f d e g f WF8B[1] dp c b a dp c b a Ściany BP są sterowane automatycznie, co ustawiamy w trakcie inicjalizacji. Pozostaje nam jedynie odpowiednie wysterowanie rejestrów WF8B. Przykładowo aby wyświetlić cyfrę 4 należy ustawić: WF8B[0] - - g f - - g f WF8B[1] - c b - - c b - 2.2 ZADANIE Ze strony laboratorium proszę ściągnąć projekt slcd_tutorial.zip i go rozpakować. Następnie proszę otworzyć projekt, a w nim plik slcd.c. Zaczynamy analizowanie funkcji inicjalizującej wyświetlacz. 2.3 ZADANIE Proszę otworzyć dokument FRDM-KL46Z_Schematics i na jego podstawie wypisać wszystkie piny, które będą brały udział w obsłudze wyświetlacza. Później w pliku slcd.c, w liniach kodu 24-35, po usunięciu z nich znaków komentarza, znaki XXX proszę zastąpić odpowiednimi wartościami. Proszę zwrócić szczególną uwagę na numerację portów. Następnie proszę otworzyć dokument KL46 Reference Manual. Należy w nim odnaleźć tzw. Listę Alternatyw (KL46 Signal Multiplexing and Pin Assignments) i na jej podstawie zastąpić znaki YYY takimi wartościami, aby wszystkie piny spełniały funkcję kontrolera slcd. 2.4 ZADANIE Proszę skonfrontować pozostałą część kodu inicjalizującego wyświetlacz z opisem z punktu 2.1. 2.5 ZADANIE Proszę wstępnie zbudować projekt, a następnie otworzyć plik nagłówkowy slcd.h. Znajdują się w nim definicje segmentów, z których skorzystamy przy wyświetlaniu znaków. Na ich podstawie proszę w pliku slcd.c w funkcjach slcderr() oraz slcdset() zastąpić znaki ZZZ odpowiednimi definicjami. Podpowiedzią są już przypisane znaki 0 oraz od 4 do F.

2.6 ZADANIE W następnym kroku proszę uruchomić w pliku main.c funkcję slcddemo(). Proszę wgrać program na płytkę ewaluacyjną, a następnie sprawdzić poprawność jego działania. Proszę zdiagnozować błąd w wyświetlaniu, a następnie go poprawić. 2.7 ZADANIE Proszę dopracować funkcję slcddisplay() znajdującą się w pliku slcd.c tak, aby służyła do wyświetlania dowolnej liczby w dowolnym formacie. Proszę zaprezentować prowadzącemu jej działanie z poziomu pliku main.c. 2.8 ZADANIE Proszę włączyć inicjalizację diod LED, oraz zapoznać się z funkcjami dostępnymi w pliku leds.c. Proszę zaproponować w pliku głównym projektu własną sekwencję powitalną z wykorzystaniem tych funkcji (może trwać maksymalnie 3s). 2.9 ZADANIE Proszę włączyć inicjalizację przycisków, oraz zapoznać się z funkcjami dostępnymi w pliku buttons.c. Należy zwrócić uwagę, że zgodnie ze schematem (FRDM-KL46Z_Schematics) przyciski są podpięte do masy, w związku z czym należy piny wyposażyć w wewnętrzne rezystory podciągające. Proszę na podstawie opisu rejestru PCR w dokumencie KL46 Reference Manual (Pin Control Register) ustawić w inicjalizacji odpowiednie maski. Następnie proszę przetestować działanie przycisków w pętli głównej w pliku main.c. Proszę zastosować tzw. odpytywanie (ang. polling), aby przyciśnięcie przycisku powodowało jednokrotne zapalenie się diody. Przyciskowi 1 proszę przypisać diodę zieloną, 3 czerwoną. 2.10 ZADANIA DOMOWE Proszę wykonać następujące czynności: 1. Proszę napisać funkcję do obsługi kropek na wyświetlaczu. Odpowiednie definicje i deklaracje proszę wpisać do pliku odpowiedzialnego za obsługę wyświetlacza. Proszę nie zapomnieć o uaktualnieniu pliku nagłówkowego. 2. Proszę napisać program, którego zadaniem będzie wyświetlanie aktualnej wartości licznika. Wartość ta ma być modyfikowana za pomocą przycisków (zmniejszana bądź zwiększana). Proszę pamiętać o zakresie wyświetlacza i przepełnieniu licznika. 3. Proszę napisać program, którego zadaniem będzie wyświetlanie wyniku meczu tenisowego. Wyświetlacz proszę podzielić na 2 części, po jednej dla każdego zawodnika. Za pomocą przycisków dodajemy punkty danemu zawodnikowi (0, 15, 30, 40). W przypadku rozstrzygania remisu (40:40) na wyświetlaczu przy danym zawodniku ma pojawiać się kod A0 (ang. advantage). Po rozstrzygnięciu stan liczników ma się wyzerować, a kropka po odpowiedniej stronie ma zasygnalizować wygranie poprzedniego gemu.