Instytut Teleinformatyki

Podobne dokumenty
Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Programowanie Mikrokontrolerów

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Instytut Teleinformatyki

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

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

Instytut Teleinformatyki

Instytut Teleinformatyki

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Instytut Teleinformatyki

Instytut Teleinformatyki

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

ZL3ST7. Zestaw uruchomieniowy dla mikrokontrolerów

Instytut Teleinformatyki

GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu

ZL8AVR. Płyta bazowa dla modułów dipavr

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

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Instytut Teleinformatyki

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

dokument DOK wersja 1.0

Obsługa wyświetlaczy graficznych z wbudowanym kontrolerem S6B1713, część 2 Przykłady dla mikrokontrolera AT91SAM7S256

Instrukcja do ćwiczeń

Współpraca mikrokontrolera z wyświetlaczami: ciekłokrystalicznym i siedmiosegmentowym

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Alternatywa dla alfanumerycznych wyświetlaczy LCD

Wyświetlacz graficzny LCD ze sterownikiem

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

SYSTEMY CZASU RZECZYWISTEGO (SCR)

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Wyświetlacze graficzne : 162x64 z kontrolerem S1D x60 z kontrolerem S1D15710

High Speed USB 2.0 Development Board

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Programowanie mikrokontrolerów AVR

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

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

Politechnika Białostocka

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

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

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2

Obsługa modułu wyświetlacza LCD

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

ZL11AVR. Zestaw uruchomieniowy z mikrokontrolerem ATtiny2313

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

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

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

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

Szkolenia specjalistyczne

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie

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

Systemy Czasu Rzeczywistego FPGA

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Systemy Czasu Rzeczywistego FPGA

Mikrokontrolery AVR Wprowadzenie

Sterownik kompaktowy Theben PHARAO II

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

TECHNIKA MIKROPROCESOROWA

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

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Kurs programowania mikrokontrolerów KURS PIC Kurs programowania mikrokontrolerów PIC (6) Sterowanie kolorowym wyświetlaczem Nokii 3510i

Zespół Szkół Technicznych. Badanie wyświetlaczy LCD

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

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

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Systemy Czasu Rzeczywistego FPGA

Zestaw Startowy EvB. Więcej informacji na stronie:

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

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

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

Instrukcja obsługi programatora AVR Prog USB v2

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

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Kurs programowania mikrokontrolerów PIC (5)

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

Elektronika samochodowa (Kod: TS1C )

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD

ZL5ARM. Zestaw uruchomieniowy dla mikrokontrolerów LPC2119/2129 (rdzeń ARM7TMDI-S) Kompatybilność z zestawem MCB2100 firmy Keil

Transkrypt:

Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Systemy Czasu Rzeczywistego Programowanie wyświetlacza graficznego LCD laboratorium: 01 autor: mgr inż. Paweł Pławiak Kraków, 2015

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 2 Spis treści Spis treści...2 1. Wiadomości wstępne...3 1.1. Wyświetlacz graficzny LCD...3 1.2. Przykładowy kod...4 1.3. Schemat podpięcia...7 1.4. Pseudokod...7 1.5. Zagadnienia do przygotowania...8 2. Przebieg laboratorium...9 2.1. Zadanie 1. Na ocenę 3.0 (dst)...9 2.2. Zadanie 2. Na ocenę 4.0 (db)...9 2.3. Zadanie 3. Na ocenę 5.0 (bdb)...9

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 3 1. Wiadomości wstępne Pierwsza część niniejszej instrukcji zawiera podstawowe wiadomości teoretyczne dotyczące omawianego tematu. Poznanie tych wiadomości umożliwi prawidłowe zrealizowanie praktycznej części laboratorium. 1.1. Wyświetlacz graficzny LCD Zestaw ewaluacyjny ZL15AVR wyposażono w złącze umożliwiające dołączenie do zestawu wyświetlacza graficznego o organizacji 128x64 piksele ze sterownikiem KS0107/KS0108 (oznaczenie GLCD12864). Regulacja kontrastu wyświetlacza jest możliwa poprzez potencjometr P1 (zworka JP4 DISPLAY w pozycji GRAPH). Linie sterujące wyświetlaczem dostępne są na złączu Con12/LCD_GRAPH. Sterownik KS0108A, potrafi obsługiwać 64 kanały wyjścia i jest dedykowany dla wyświetlaczy graficznych LCD. Urządzenie składa się z pamięci RAM wyświetlacza, 64 bitowego zatrzasku danych, 64 bitowego sterownika i dekodera logiki. Posiada wbudowaną pamięć RAM do przechowywania wyświetlanych danych przenoszonych z 8 bitowego mikrokontrolera. Sterownik umożliwia generowanie sygnałów na matrycy wyświetlacza ciekłokrystalicznego odpowiadających przechowywanym danym. Obsługa wyświetlacza polega na zainicjowaniu wyświetlacza, następnie należy wyczyścić ekran oraz wyświetlić oczekiwany tekst lub obrazek. Podczas testowania napisanych programów proszę sprawdzić ustawienie zworki oraz wyregulować kontrast. Zgodnie z biblioteką sterownika odpowiednie złącza wyświetlacza graficznego należy podłączyć do portów PA i PC. Szczegółowe informacje na temat obsługi sterownika KS0108 znajdują się w nocie katalogowej na stronie - http://dl.btc.pl/kamami_wa/ks0108.pdf Szczegółowe informacje na temat złącza wyświetlacza graficznego znajdują się w dokumentacji zestaw ewaluacyjny ZL15AVR - http://dl.btc.pl/kamami_wa/zl15avr.pdf

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 4 UWAGA Przed wgraniem programu do pamięci mikrokontrolera należy w programie KamPro przejść na kartę Fuse Bits, odznaczyć bit JTAGEN i zapisać nową konfigurację bitów, klikając przycisk Write. Dopiero wówczas można przejść na kartę Memory programming w celu wgrania pliku hex. 1.2. Przykładowy kod Sterownik KS0108: #include "KS0108.h" #include "font5x8.h" // Reference to MCU-specific external functions extern void GLCD_InitalizePorts(void); extern void GLCD_WriteData(unsigned char); extern void GLCD_WriteCommand(unsigned char, unsigned char); extern unsigned char GLCD_ReadData(void); extern unsigned char GLCD_ReadStatus(unsigned char); unsigned char screen_x = 0, screen_y = 0; // screen coordinates // Initialization interface and LCD controller void GLCD_Initialize(void) unsigned char i; GLCD_InitalizePorts(); for(i = 0; i < 3; i++) GLCD_WriteCommand((DISPLAY_ON_CMD ON), i); // Sets screen coordinates and address void GLCD_GoTo(unsigned char x, unsigned char y) unsigned char i; screen_x = x; screen_y = y; for(i = 0; i < KS0108_SCREEN_WIDTH/64; i++) GLCD_WriteCommand(DISPLAY_SET_Y 0,i); GLCD_WriteCommand(DISPLAY_SET_X y,i); GLCD_WriteCommand(DISPLAY_START_LINE 0,i);

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 5 GLCD_WriteCommand((DISPLAY_SET_Y (x % 64)), (x / 64)); GLCD_WriteCommand((DISPLAY_SET_X y), (x / 64)); // Sets text coordinates and address void GLCD_TextGoTo(unsigned char x, unsigned char y) GLCD_GoTo(x*6,y); // Clears screen void GLCD_ClearScreen(void) unsigned char i, j; for(j = 0; j < KS0108_SCREEN_HEIGHT/8; j++) GLCD_GoTo(0,j); for(i = 0; i < KS0108_SCREEN_WIDTH; i++) GLCD_WriteData(0x00); // Writes char to screen memory void GLCD_WriteChar(char chartowrite) char i; chartowrite -= 32; for(i = 0; i < 5; i++) GLCD_WriteData(GLCD_ReadByteFromROMMemory((char *)(font5x8 + (5 * chartowrite) + i))); GLCD_WriteData(0x00); // Write null-terminated string to screen memory void GLCD_WriteString(char * stringtowrite) while(*stringtowrite) GLCD_WriteChar(*stringToWrite++); // Write null-terminated string to screen memory void GLCD_WriteStringXY(char * stringtowrite, char x, char y) GLCD_GoTo(x,y); while(*stringtowrite) GLCD_WriteChar(*stringToWrite++);

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 6 // Sets or clears pixel at (x,y) void GLCD_SetPixel(unsigned char x, unsigned char y, unsigned char color) unsigned char tmp; GLCD_GoTo(x, y/8); tmp = GLCD_ReadData(); GLCD_GoTo(x, y/8); tmp = GLCD_ReadData(); GLCD_GoTo(x, y/8); if(color) tmp = (1 << (y%8)); else tmp &= ~(1 << (y%8)); GLCD_WriteData(tmp); // Displays bitmap at (x,y) and (dx,dy) size void GLCD_Bitmap(char * bmp, unsigned char x, unsigned char y, unsigned char dx, unsigned char dy) unsigned char i, j; for(j = 0; j < dy / 8; j++) GLCD_GoTo(x,y + j); for(i = 0; i < dx; i++) GLCD_WriteData(GLCD_ReadByteFromROMMemory(bmp++)); // End of file KS0108.c

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 7 1.3. Schemat podpięcia Zworka: JP4 (DISPLAY) - 1-2 (=GRAPH) Wyświetlacz graficzny LCD: D0 (LCD_GRAPH/con12) - PA0 (con15) D1 (LCD_GRAPH/con12) - PA1 (con15) D2 (LCD_GRAPH/con12) - PA2 (con15) D3 (LCD_GRAPH/con12) - PA3 (con15) D4 (LCD_GRAPH/con12) - PA4 (con15) D5 (LCD_GRAPH/con12) - PA5 (con15) D6 (LCD_GRAPH/con12) - PA6 (con15) D7 (LCD_GRAPH/con12) - PA7 (con15) RS (LCD_GRAPH/con12) - PC0 (con17) RW (LCD_GRAPH/con12) - PC1 (con17) E (LCD_GRAPH/con12) - PC2 (con17) CS1(LCD_GRAPH/con12) - PC4 (con17) CS2(LCD_GRAPH/con12) - PC3 (con17) 1.4. Pseudokod Obsługa wyświetlacza graficznego LCD wyświetlanie tekstu i obrazu na przemian. int main(void) zadeklarowanie zmiennej do opóźnienia inizjalizacja LCD do

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 8 czyszczenie ekranu wyświetlanie oczekiwanego tekstu for() opóźnienie wyświetlanie obrazu for() opóźnienie while(1); return 0; 1.5. Zagadnienia do przygotowania Przed przystąpieniem do realizacji laboratorium należy zapoznać się z zagadnieniami dotyczącymi: o wyświetlacza graficznego LCD o sterownika KS0108 Literatura: [1] Rafał Baranowski, Mikrokontrolery AVR ATmega w praktyce [2] Nota katalogowa sterownika KS0108 - http://dl.btc.pl/kamami_wa/ks0108.pdf [3] Dokumentacja zestawu ewaluacyjnego ZL15AVR http://dl.btc.pl/kamami_wa/zl15avr.pdf [4] Instrukcje do poprzednich ćwiczeń laboratoryjnych

01. Systemy Czasu Rzeczywistego Wyświetlacz graficzny LCD 9 2. Przebieg laboratorium Druga część instrukcji zawiera zadania do praktycznej realizacji, które demonstrują zastosowanie technik z omawianego zagadnienia. Pod wskazanym linkiem umieszczono bibliotekę czcionek (font5x8.h), przykładowy obrazek kamami (kamami.h) oraz sterownik KS0108-AVR (KS0108-AVR.c) http://www.iti.pk.edu.pl/index.php/pl/dydaktyka/materia%c5%82ydydaktyczne/sw/49-lab-5-programowanie-wy%c5%9bwietlacza-graficznego-lcd.html Natomiast na stronie: http://en.radzio.dxp.pl/bitmap_converter/ można znaleźć darmowy program konwertujący obrazek bitmapowy do macierzy z danymi (możliwej do wyświetlenia na graficznym LCD). 2.1. Zadanie 1. Na ocenę 3.0 (dst) Proszę napisać program wyświetlający zadany tekst. 2.2. Zadanie 2. Na ocenę 4.0 (db) Proszę napisać program wyświetlający na zmianę zadany tekst i obrazek. 2.3. Zadanie 3. Na ocenę 5.0 (bdb) Proszę napisać program wyświetlający obrazek przesuwający się w lewo przez 10 sekund., a następnie w prawo przez 10 sekund.