Ćwiczenie 7 Matryca RGB

Podobne dokumenty
Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

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

Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Programowalne Układy Cyfrowe Laboratorium

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.

LABORATORIUM PODSTAWY ELEKTRONIKI REJESTRY

Szkolenia specjalistyczne

Mikroprocesory i Mikrosterowniki Laboratorium

Opis układów wykorzystanych w aplikacji

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

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Ćw. 7: Układy sekwencyjne

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

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

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

SML3 październik

TECHNIKA CYFROWA ELEKTRONIKA ANALOGOWA I CYFROWA. Badanie rejestrów

Proste układy sekwencyjne

Instytut Teleinformatyki

Programowanie w językach asemblera i C

Komunikacja w mikrokontrolerach Laboratorium

TECHNIKA MIKROPROCESOROWA

Instytut Teleinformatyki

Instytut Teleinformatyki

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Hardware mikrokontrolera X51

Ćwiczenie D2 Przerzutniki. Wydział Fizyki UW

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Instytut Teleinformatyki

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

Dodatek D. Układ współpracy z klawiaturą i wyświetlaczem 8279

MIKROPROCESORY architektura i programowanie

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

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Układy czasowo-licznikowe w systemach mikroprocesorowych

Technika Mikroprocesorowa

Parametryzacja przetworników analogowocyfrowych

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

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Programowany układ czasowy

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.

Ćwiczenie 27C. Techniki mikroprocesorowe Badania laboratoryjne wybranych układów synchronicznych

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Wstęp działanie i budowa nadajnika

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Energoelektroniki i Maszyn Elektrycznych REJESTRY

MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Automatyzacja i robotyzacja procesów produkcyjnych

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

SML3 październik 2008

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

WFiIS CEL ĆWICZENIA WSTĘP TEORETYCZNY

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

Liczniki, rejestry lab. 07 Układy sekwencyjne cz. 1

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

Statyczne badanie przerzutników - ćwiczenie 3

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Pracownia elektryczno-elektroniczna klasa IV

Instrukcja do oprogramowania ENAP DEC-1

Programowany układ czasowy APSC

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

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

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

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

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

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

interfejs szeregowy wyświetlaczy do systemów PLC

Przetworniki analogowo - cyfrowe CELE ĆWICZEŃ PODSTAWY TEORETYCZNE Zasada pracy przetwornika A/C

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

1 Badanie aplikacji timera 555

Technika mikroprocesorowa. Konsola do gier

Podział układów cyfrowych. rkijanka

Przerwania w architekturze mikrokontrolera X51

Pomysłowe diody LED RGB

Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01

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-"

Ćwiczenie MMLogic 002 Układy sekwencyjne cz. 2

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

SML3 październik

Architektura systemów komputerowych

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

Problematyka sieci miejscowej LIN

Karta katalogowa JAZZ OPLC JZ20-T40/JZ20-J-T wejść cyfrowych, 2 wejścia analogowe/cyfrowe, 2 wejścia analogowe. 20 wyjść tranzystorowych

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

LICZNIKI Liczniki scalone serii 749x

HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Badanie właściwości skramblera samosynchronizującego

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Transkrypt:

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -1- Ćwiczenie 7 Matryca RGB

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z inną oprócz RS - 232 formą szeregowej transmisji danych. Podczas ćwiczenia obsługiwać będziemy rejestr przesuwny, który steruje matrycą diod LED RGB. 2. Wstęp Rejestr przesuwny (ang. shift register) jest rejestrem zbudowanym z przerzutników połączonych ze sobą w taki sposób, iż w takt impulsów zegarowych przechowywana informacja bitowa przemieszcza się (przesuwa) do kolejnych przerzutników. Rys. 1. 4-bitowy rejestr przesuwny. Dane z wejścia są wprowadzane do rejestru przy dodatnim zboczu sygnału zegarowego CLK. Jednocześnie dane z wyjść Q A do Q D zostają przesunięte o jeden bit w prawo. Na zwolnionym wyjściu Q A pojawią się dane wprowadzone z wejścia S. Wejście sterujące CLR umożliwia wyzerowanie rejestru. Układ scalony sterujący diodami RGB ma budowę przedstawioną na rys. 2. Rejestr przesuwny zamienia dane z postaci szeregowej na równoległą i przekazuje je do rejestru pamiętającego. Rejestr ten przekazuje dane do trójstanowego bufora wyjściowego, który steruje matrycą diod RGB. Rys. 2. Schemat blokowy wykorzystywanego rejestru. 4. Ramka danych Rejestr przesuwny jest jedną z prostszych form na zwielokrotnianie liczby wyjść mikrokontrolera. W naszym przypadku służy on do sterowania matrycy 5 7 diod LED RGB. Daje to w sumie konieczności sterowania 5 7 3 = 105 diodami. Aby zmniejszyć liczbę niezbędnych wyjść stosujemy multipleksowanie kolumn, co daje (7 3) + 5 = 26 linii. Dzięki takiemu rozwiązaniu uzyskanie stabilnego obrazu, wymaga wysłania 5 ramek (oddzielnie dla każdej kolumny) po 26 bitów. Przykładową transmisję danych niezbędnych do uzyskania stabilnego obrazu przedstawiono na rys. 3a, a pojedynczą ramkę - 3b. Do transmisji wykorzystujemy trzy linie mikrokontrolera:

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -3- RGB_DATA P6.4, to linia służąca do transmisji danych; RGB_CLK P6.5, służy do przesuwania danych przy zboczu narastającym; RGB_LATCH P1.3, przepisuje dane wpisane do rej. przesuwnego na jego wyjście, przy zboczu narastającym. a) b) Rys. 3. a). 5 ramek składających się na stabilny obraz wyświetlacza, b). oraz ramka danych. Do sterowania matrycy LED RGB użyto czterech 8-bitowych rejestrów przesuwnych (rys. 9, załącznik B), dlatego, zgodnie z rys. 4, należy wpisać 4 x 8 = 32 bity (a nie jak wcześniej pisano 26). Należy jednak pamiętać, że 6 pierwszych bitów nie ma znaczenia (fizycznie nie są nigdzie dołączone). Następnie wpisujemy 26 bitów ramki danych, zgodnie z rys.4. Bity COL5 COL1 służą do wyboru kolumny, natomiast: B X, R X, G X, służą do włączenia poszczególnych kolorów diod w kolumnie, przy czym X oznacza numer wiersza (1-7). MSB LSB MSB LSB MSB LSB MSB LSB Bajt 1 Bajt 2 Bajt 3 Bajt 4 kierunek przesuwu Rys. 4. Ramka danych sterujących. Bajt 1: MSB LSB x x x x X x COL5 COL4 Bajt 2: MSB LSB COL3 COL2 COL1 B 1 R 1 G 1 R 2 B 2 Bajt 3: MSB LSB G 2 B 3 R 3 G 3 B 4 R 4 G 4 B 5 Bajt 4: MSB LSB R 5 G 5 B 6 R 6 G 6 B 7 R 7 G 7 Rys. 5. Przeznaczenie poszczególnych bitów ramki danych. gdzie: COLx - nr. kolumny aktywne 1 ; R X - czerwona dioda LEDw wierszu X, aktywne 0 ; G X - zielona dioda LED w wierszu X, aktywne 0 ; B X - niebieska dioda LED w wierszu X, aktywne 0.

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -4- UWAGA Kolejność linii sterujących kolorami diod: B X, R X, w wierszu nr 2 została zamieniona na: R X, B X. Aby uzyskać prawidłowy obraz (bez przekłamań kolorów) należy przestawić kolejność bitów sterujących w wierszu 2 (tak jak na rys. 4). Sposób numerowania matrycy przedstawiono na rys. 5. wiersz - 1 kolumna - 1 wiersz - 1 kolumna - 5 wiersz - 7 kolumna - 1 Rys. 5. Widok matrycy LED RGB. wiersz - 7 kolumna - 5 6. Konfiguracja zestawu dydaktycznego EXTB-060/02 Na potrzeby niniejszego ćwiczenia należy zadbać, aby zwora JP6 była w położeniu takim, jak na rys. 6. JP6 założona Rys. 6. Konfiguracja płyty EXTB-060/02.

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -5-7. Program sterujący Przez rozpoczęciem pracy nad programem należy odpowiednio skonfigurować mikrokontroler, w tym celu należy dołączyć listing 1. Podstawową częścią programu sterującego matrycą LED RGB jest prosta procedura przepisująca zadaną liczbę bitów do rejestrów. Listing 1: LCD_LED equ P5.3 RGB_DATA equ P6.4 RGB_CLK equ P6.5 RGB_LATCH equ P1.3 mov WDTCN, #0DEh mov WDTCN, #0ADh mov SFRPAGE, #CONFIG_PAGE mov XBR2, #040h mov P5MDOUT, #0ffh clr LCD_LED mov P6MDOUT, #0ffh mov P1MDIN, #0F8H ;enable input mov P1MDOUT, #08h Przykładową procedura przepisująca z ACC (akumulatora) do rejestrów przesuwnych ilość bitów określoną w R2 zamieszczono na listingu 2. Listing 2: GO_RGB: clr c GO_RGB1: rrc a mov RGB_DATA,C ;wystawienie bitu danych setb RGB_CLK ;impuls zegara nop nop clr RGB_CLK djnz R2,GO_RGB1 ;pętla ret Aby dane wpisane do rejestrów przesuwnych pojawiły się na wyjściach tychże rejestrów należy załączyć listing 3. listing 3: setb RGB_LATCH ;przepisanie nop nop clr RGB_LATCH UWAGA Aby uzyskać stabilny obraz należy wysłać 5 ramek, każda to 4 bajty w kolejności: 6 bitów nieznaczących, 5 bitów wybór kolumny (aktywne 1 ) oraz 21 bitów wybory koloru w poszczególnych wierszach (aktywne 0 ). Do sterowania matrycą LED RGB służą 3 linie mikrokontrolera: - RGB_DATA - P6.4. wysyła dane do rejestrów (dane ważne podczas zbocza narastającego na linii RGB_CLK); - RGB_CLK - P6.5. przesuwa dane (aktywne zbocze narastające: 0 1); - RGB_LATCH - P1.3. przepisuje dane wysłane do rejestrów na ich wyjścia (aktywne zbocze narastające: 0 1).

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -6-8. Zadania do wykonania A. Sprawdzian wejściowy ( 2pkt ) Przed przystąpieniem do realizacji ćwiczenia przeprowadzony zostanie krótki (ok. 10 min.) sprawdzian wejściowy ze znajomości asemblera. Podczas pisania dopuszczalne jest korzystanie z listy instrukcji asemblera. B. Zadanie A (4pkt) Napisać prosty program, którego zadanie polega na uzyskaniu stabilnego obrazu na matrycy LED RGB. Obraz musi zawierać dowolną cyfrę w jednym kolorze na tle innego koloru, zgodnie z przykładami na rys. 7. Dane sterujące matrycą powinny znajdować się w tablicy danych. C. Zadanie B ( 6 pkt ) Napisać program łączący klawiaturę i matryce LED RGB. Za pomocą klawiatury można będzie wybierać 1 z 4 symboli uprzednio zdefiniowanych przez programistę. Obraz musi zawierać dowolną cyfrę w jednym kolorze na tle w innym kolorze, zgodnie z przykładami na rys. 7. D. Zadanie C ( 8 pkt ) Napisać program łączący klawiaturę z matrycą LED RGB. Za pomocą klawiatury możliwe będzie wyświetlenie 16 symboli (zgodnie z symbolami poszczególnych klawiszy). Dane sterujące matrycą LED RGB muszą być przygotowane w tablicy zgodnie z listingiem 4. Kolorom w jakich świecić będą poszczególne diody RGB odpowiadają liczby: 0 - piksel zgaszony 1 - B 2 - R 4 - G Przed ćwiczeniem należy przygotować odpowiednie tablice danych, zgodnie z przykładem listing 4. Rys. 7. i dane w tablicach TAB_1, TAB_2 i TAB_3 przedstawiają dane wejściowe i wynik działania programu. Listing 4: TAB_1: db '1121112' db '1211112' db '2222222' db '1111112' db '1111112' TAB_2: db '1211112' db '2111122' db '2111212' db '2112112' db '1221112' TAB_3: db '2444424' db '2444442' db '2424442' db '2242442' db '2444224'

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -7- Rys. 8. Wynik pracy programu.

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -8- Załącznik A Zestawienie definicji stron rejestrów specjalnych SFRPAGE, umieszczonych w pliku nagłówkowym: C8051F060.INC. CONFIG_PAGE EQU 0FH ; SYSTEM AND PORT CONFIGURATION PAGE LEGACY_PAGE EQU 00H ; LEGACY SFR PAGE TIMER01_PAGE EQU 00H ; TIMER 0 AND TIMER 1 CPT0_PAGE EQU 01H ; COMPARATOR 0 CPT1_PAGE EQU 02H ; COMPARATOR 1 CPT2_PAGE EQU 03H ; COMPARATOR 2 UART0_PAGE EQU 00H ; UART 0 UART1_PAGE EQU 01H ; UART 1 SPI0_PAGE EQU 00H ; SPI 0 EMI0_PAGE EQU 00H ; EXTERNAL MEMORY INTERFACE ADC0_PAGE EQU 00H ; ADC 0 ADC1_PAGE EQU 01H ; ADC 1 ADC2_PAGE EQU 02H ; ADC 2 SMB0_PAGE EQU 00H ; SMBUS 0 TMR2_PAGE EQU 00H ; TIMER 2 TMR3_PAGE EQU 01H ; TIMER 3 TMR4_PAGE EQU 02H ; TIMER 4 DAC0_PAGE EQU 00H ; DAC 0 DAC1_PAGE EQU 01H ; DAC 1 PCA0_PAGE EQU 00H ; PCA 0 DMA0_PAGE EQU 03H ; DMA 0 CAN0_PAGE EQU 01H ; CAN 0

IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -9- Załącznik B Rys. 9. Schemat matrycy RGB.