Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny

Podobne dokumenty
Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

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

Programowanie Mikrokontrolerów

Ćwiczenie 7 Matryca RGB

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

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Alfanumeryczny wyświetlacz LCD

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

Gdzie przyjęto, że: IR7...IR4 to starsze bity przesyłanej danej lub rozkazu, IR3...IR0 to młodsze bity przesyłanej danej lub rozkazu.

Programowanie mikrokontrolerów. 8 listopada 2007

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

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

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

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

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

Przerwania w architekturze mikrokontrolera X51

Opis procedur asemblera AVR

Programowanie w językach asemblera i C

Alternatywa dla alfanumerycznych wyświetlaczy LCD

Lista rozkazów mikrokontrolera 8051

Obsługa modułu wyświetlacza LCD

ISBN Copyright by Wydawnictwo BTC Legionowo 2008

PRUS. projekt dokumentacja końcowa

Instytut Teleinformatyki

Pracownia elektryczno-elektroniczna klasa IV

Przykładowe pytania DSP 1

TECHNIKA MIKROPROCESOROWA

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

CECHY URZĄDZENIA: Podłączenie wyświetlacza

Wyjście do drukarki Centronix

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

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

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

Technika Mikroprocesorowa

O grafice i monitorach. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Programowanie mikrokontrolera 8051

MIKROPROCESORY architektura i programowanie

MIKROKONTROLERY I MIKROPROCESORY

Struktura systemu mikroprocesorowego Z80 z interfejsem monitora graficznego.

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Instytut Teleinformatyki

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Szkolenia specjalistyczne

Organizacja typowego mikroprocesora

ľ ľ ż ľ ż ľ ż ť ŕ ľ ľ ľ ľ ľ ý ľ ľ ľ ľ ľ ń ľ ý

Instytut Teleinformatyki

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

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

Komunikacja w mikrokontrolerach Laboratorium

Instrukcja obsługi TCC Rejestrator samochodowy. Dane techniczne oraz treść poniższej instrukcji mogą ulec zmianie bez uprzedzenia.

Wstęp Architektura... 13

Ź Ą Ś ć ć Ą Ś Í ć Ł ć ć

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

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

Laboratorium Komputerowe Systemy Pomiarowe

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

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

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

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

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

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

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

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

Pracownia elektryczno-elektroniczna klasa IV

ż Í ś ý ż

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

PROTOKÓŁ MQTT (uzupełnienie do instrukcji obsługi miernika ND30)

Architektura systemów komputerowych

interfejs szeregowy wyświetlaczy do systemów PLC

INSTRUKCJA OBSŁUGI MONITORA LINII PRĄDOWEJ

architektura komputerów w 1 1

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

Kod produktu: MP01611-ZK

2. Architektura mikrokontrolerów PIC16F8x... 13

Ę ľü ď Ż Ż ć Ż ď ż ď ď Ą Ż ć Ą Ą í Ą ý Ź Ź ŕ Ą Ą Ą Ą Ż ż Ż Ą ď ż ľ Ż Ż

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

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

Klawiatura komputerowa.

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Wyłącznik czasowy GAO EMT757


STEROWNIK LAMP LED MS-1 Konwerter sygnału 0-10V. Agropian System

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

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

TeleVGA. Dokumentacja wer. 1.03

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

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

Laboratorium Napędu robotów

Laboratorium Komputerowe Systemy Pomiarowe

Hardware mikrokontrolera X51

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

Instrukcja obsługi czytnika. bibi-r21

Rejestrator danych Log 10, TFA, zakres -30 do +60 C

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Transkrypt:

Ćwiczenie 3 Wyświetlacz ciekłokrystaliczny Warszawa, 2007-11-09

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z obsługą programową wyświetlacza ciekłokrystalicznego. 2. Opis wyświetlacza W ćwiczeniu oprogramowywany jest wyświetlacz ciekłokrystaliczny (LCD) o organizacji 8 linii po 21 znaków (pozycji). Każda pozycja zorganizowana jest w postaci matrycy punktów o wymiarach 6 8. Wyświetlacz sterowany jest przez kontroler typu T6963C firmy Toshiba. Firmowy opis kontrolera znaleźć można w dokumencie T6963C.pdf. UWAGA! W dostępnych na rynku znakowych wyświetlaczach LCD spotkać można również kontrolery innych producentów (HITACHI, SEIKO, SANYO) mogące mieć nieco inną architekturę, listę poleceń czy sposób działania. Kontroler wyświetlacza ciekłokrystalicznego T6963C może pracować w dwóch trybach. W trybie graficznym wyświetlacz ten jest matrycą o rozdzielczości 128 64, natomiast w trybie znakowym (alfanumerycznym) ma 8 linii po 21 znaków (matryca znaku 6 8) lub 8 linii po 16 znaków (matryca znaków 8 8). Kontroler wyświetlacza komunikuje się z mikrokontrolerem za pomocą 8-bitowej szyny danych oraz 6-ciu sygnałów sterujących: /WR (zapis), /RD (odczyt), /CE (chip enable aktywacja układu), C/D (command/data wybór między instrukcją a daną), /RESET (zerowanie kontrolera), FS (font selekt - wybór czcionki). Kontroler wyświetlacza współpracuje z zewnętrzną pamięcią RAM o pojemności 8 kb. Schemat blokowy przedstawiono na rys. 1. Rys. 1. Schemat blokowy wyświetlacza LCD

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -3-3. Podłączenie wyświetlacza do mikrokontrolera Ponieważ mikrokontroler jest zasilany napięciem 3.3 V, a kontroler wyświetlacza napięciem 5V szyna danych kontrolera wyświetlacza oraz port P7 mikrokontrolera są połączone za pomocą układu przesuwającego napięcia z 3.3V na 5V i odwrotnie. Sygnały sterujące są zawsze wystawiane przez mikrokontroler, dlatego odpowiednie wyjścia mikrokontrolera połączono z wejściami sterującymi kontrolera wyświetlacza za pomocą układu HCT244 (zasilanego napięciem 5V), który reaguje na sygnały o wartości rzędy 1.5V. Ponieważ nie można jednocześnie dokonywać odczytu i zapisu z wyświetlacza, sygnały /RD i /WR są sterowane z jednego wyjścia mikrokontrolera, przy czym sygnał RD jest negowany. /RD - /P5.0 /WR - P5.0 C/D - P5.2 /CE - P5.1 FS - nie podłączony RESET nie podłączony Dodatkowa linia P5.3 steruje podświetlaniem wyświetlacza LCD. Żeby umożliwić sterowanie podświetleniem, odpowiednią linię portu należy skonfigurować w trybie push-pull P5MDOUT, #08H Schemat podłączenia wyświetlacza do mikrokontrolera przedstawiono na rys. 2. Rys. 2. Schemat połączenia wyświetlacza z mikrokontrolerem.

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -4-4. Komunikacja między mikrokontrolerem a wyświetlaczem Komunikacja między mikrokontrolerem a wyświetlaczem może zachodzić w obu kierunkach. Przesyłanie danych może się odbywać w jednym z 3 trybów: a) polecenie wraz z dwoma bajtami danych, b) polecenie wraz z jednym bajtem danych oraz c) polecenie bez danych. Wyświetlacz sygnalizuje gotowość do przyjęcia informacji za pomocą dwóch najmłodszych bitów bajtu statusu (STA0 oraz STA1). Przed wysłaniem każdego bajtu informacji do wyświetlacza należy sprawdzić jego status. Komunikacja przebiega w następującej kolejności: wysłanie młodszego bajtu danych (po uprzednim sprawdzeniu statusu), wysłanie starszego bajtu danych (po uprzednim sprawdzeniu statusu), wysłanie komendy (po uprzednim sprawdzeniu statusu). 4.1. Odczyt statusu Przed wysłaniem dowolnej informacji do wyświetlacza należy sprawdzić czy jest on gotów do odbioru danych. Jeżeli wyślemy dane, mimo że wyświetlacz jest zajęty, zostaną one zignorowane. Sprawdzenia zajętości wyświetlacza dokonuje się odczytując jego bajt statusowy. Jeżeli dwa najmłodsze bity tego bajtu są równe jedności, to wyświetlacz jest gotów do odbioru danych. Jeżeli chociaż jeden z tych bitów jest równy zeru, wyświetlacz jest zajęty. Procedura odczytu statusu jest następująca: LCD_CE equ P5.1 LCD_RW equ P5.0 LCD_CD equ P5.2 busy: check: push ACC ; zapamietaj akumulator na stosie setb LCD_CD ; wybierz rodzaj informacji polecenie/dana (polecenie) setb LCD_RW ; wybierz kierunek przesyłu informacji (odczyt) P7, #0FFH ; wpisz same jedynki do portu P7 (wejście) R1,#10h ; opoznienie djnz R1, $ clr LCD_CE ; uaktywnij kontroler wyswietlacza R1,#10h ; opoznienie djnz R1, $ A, P7 ; odczytaj bajt statusu setb LCD_CE ; wylacz kontroler wyswietlacza jnb ACC.0, check ; sprawdz status jnb ACC.1, check R1,#10h ; opoznienie djnz R1, $ pop ACC ; przywroc pierwotna wartość akumulatora ret

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -5-4.2. Zapis bajtu danych lub bajtu polecenia Po stwierdzeniu, że wyświetlacz jest gotów do odbioru, można doń wysłać polecenie lub daną. W przypadku wysyłania polecenia sygnał C/D musi być w stanie wysokim, natomiast podczas przesyłu danej w stanie niskim. Przykładowe procedury zapisu polecenia i danej do wyświetlacza przedstawiono poniżej. Write_command: busy ;prawdz czy wyświetlacz gotowy nop nop clr LCD_RW ; wybierz kierunek przesyłu informacji (zapis) setb LCD_CD ; wybierz rodzaj informacji polecenie/dana (polecenie) P7, A ; kod polecenia jest w akumulatorze clr LCD_CE ; uaktywnij kontroler wyświetlacza R1,#10h ; opoznienie djnz R1, $ setb LCD_CE ; wylacz kontroler wyswietlacza ret ;--------------------------------------------------------------------------------------------------- Write_data: busy ; sprawdz czy wyświetlacz gotowy nop nop clr LCD_RW ; wybierz kierunek przesyłu informacji (zapis) clr LCD_CD ; wybierz rodzaj informacji polecenie/dana (dana) P7, A ; kod danej jest w akumulatorze clr LCD_CE ; uaktywnij kontroler wyświetlacza R1,#10h ; opoznienie djnz R1, $ setb LCD_CE ; wylacz kontroler wyswietlacza ret 4.3. Schemat przesyłu polecenia Jak już wspomniano wcześniej, poleceniu mogą towarzyszyć 2 bajty danych, 1 bajt danych, lub też poleceniu nie towarzyszą żadne dane. Najpierw wysyłane są dane towarzyszące poleceniu (za pomocą procedury Write_data), a na końcu wysyłany jest kod polecenia (za pomocą procedury Write_command). Przebieg wysyłania polecenia do wyświetlacza przedstawiono w tabeli poniżej Polecenie z 2 towarzyszącymi bajtami danych A, #Data_L Write_data A, #Data_H Write_data A, #kod_polecenia Write_command Polecenie z 1 towarzyszącymi bajtem danych A, #Data Write_data A, #kod_polecenia Write_command Polecenie bez towarzyszących danych A, #kod_polecenia Write_command

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -6-5. Inicjalizacja wyświetlacza Inicjalizacja wyświetlacza polega na ustaleniu związku między położeniem danej w pamięci VRAM (Video RAM) wyświetlacza, a miejscem na wyświetlaczu, w którym dana ta zostanie wyświetlona. Związek ten jest określony przez 4 parametry: Text Home Address (TH) początkowy adres VRAM dla danych tekstowych. Dana umieszczona pod tym adresem w pamięci VRAM zostanie wyświetlona w lewym górnym rogu ekranu Text Area (TA) liczba kolumn w linii wyświetlacza Graphic Home Address (GH) początkowy adres VRAM dla danych graficznych. Dana umieszczona pod tym adresem w pamięci VRAM zostanie wyświetlona w lewym górnym rogu ekranu Graphic Area (GA) liczba kolumn danych graficznych w linii Kontroler wyświetlacza współpracuje z zewnętrzną pamięcią RAM o pojemności 8 kb. Mapę tej pamięci zamieszczono w poniższej tabeli. Obszar pamięci graficznej (0000H 13FFH) 5120 bajtów Obszar pamięci atrybutów (1400H 16FFH) 767 bajtów Obszar pamięci tekstowej (1700H 1BFFH) 1280 bajtów Obszar pamięci generatora znaków (CG-RAM: 1C00-1FFFH) 1024 bajty Wynika z niej, że: GH = 0000H oraz TH = 1700H 5.1. Polecenie Graphic Home Address Set (GH) Polecenie należy do grupy Control Word Set i definiuje początkowy adres VRAM dla danych graficznych. Dana przechowywana pod Graphic Home Address (GH) zostanie wyświetlona jako pierwsze 6 lub 8 bitów górnego wiersza po lewej stronie ekranu, w zależności od wybranego rozmiaru czcionki. Opis (zakres) D7 D6 D5 D4 D3 D2 D1 D0 Pierwszy argument (0-FFH) Graphic Home Address (młodszy bajt GH) Drugi argument (0-FFH) Graphic Home Address (starszy bajt GH) Graphic Home Address Set (42H) 0 1 0 0 0 0 1 0 Zgodnie z mapą pamięci graficzny obszar pamięci VRAM powinien się zaczynać od 0000H. Poniżej przedstawiono polecenie Graphic Home Address Set odpowiadające temu założeniu: 1 bajt danych 0 0 0 0 0 0 0 0 0 00H 2 bajt danych 0 0 0 0 0 0 0 0 0 00H Graphic Home 1 0 1 0 0 0 0 1 0 42H Address Set Uwaga: w zacieniowanej kolumnie przedstawiono wartości wejścia sterującego C/D wyświetlacza przy wysyłaniu kolejnych bajtów.

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -7-5.2. Polecenie Graphic Area Set (GA) Polecenie należy do grupy Control Word Set i definiuje liczbę kolumn danych graficznych dla obszaru graficznego (GA) pamięci VRAM. Opis (zakres) D7 D6 D5 D4 D3 D2 D1 D0 Pierwszy argument (0-FFH) Liczba kolumn (GA) Drugi argument (00H) 0 0 0 0 0 0 0 0 Graphic Area Set (43H) 0 1 0 0 0 0 1 1 Liczba kolumn w linii powinna wynosić 21, czyli 15H. Poniżej przedstawiono polecenie Graphic Area Set odpowiadające powyższemu założeniu: Liczba kolumn 0 0 0 0 1 0 1 0 1 15H Drugi bajt 0 0 0 0 0 0 0 0 0 00H Graphic Area 1 0 1 0 0 0 0 1 1 43H Address Set 5.3. Polecenie Text Home Address Set (TH) Polecenie należy do grupy Control Word Set i definiuje początkowy adres VRAM dla danych tekstowych. Dana przechowywana pod Text Home Address (TH) zostanie wyświetlona w lewym górnym rogu obszaru wyświetlania (pozycja Home) Opis (zakres) D7 D6 D5 D4 D3 D2 D1 D0 Pierwszy argument (0-FFH) Text Home Address (młodszy bajt TH) Drugi argument (0-FFH) Text Home Address (starszy bajt TH) Text Home Address Set (40H) 0 1 0 0 0 0 0 0 Zgodnie z mapą pamięci obszar pamięci VRAM przeznaczony dla danych tekstowych powinien się zaczynać od 1700H. Poniżej przedstawiono polecenie Text Home Address Set odpowiadające temu założeniu: 1 bajt 0 0 0 0 0 0 0 0 0 00H 2 bajt 0 0 0 0 1 0 1 1 1 17H Text Home 1 0 1 0 0 0 0 0 0 40H Address Set 5.4. Text Area Set (TA) Polecenie należy do grupy Control Word Set i definiuje liczbę kolumn tekstu dla obszaru tekstowego (TA) pamięci VRAM (zazwyczaj równą liczbie znaków w linii wyświetlacza). Opis (zakres) D7 D6 D5 D4 D3 D2 D1 D0 Pierwszy argument (0-FFH) Liczba kolumn znaków (TA) Drugi argument (00H) 0 0 0 0 0 0 0 0 Text Area Set (41H) 0 1 0 0 0 0 0 1

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -8- Liczba kolumn powinna wynosić 21, czyli 15H. Poniżej przedstawiono polecenie Text Area Set odpowiadające powyższemu założeniu: Liczba kolumn 0 0 0 0 0 0 0 0 0 15H 2 bajt 0 0 0 0 1 0 1 0 1 00H Text Area Set 1 0 1 0 0 0 0 0 1 41H 6. Inne polecenia wyświetlacza 6.1. Polecenie Address Pointer Set Polecenie to należy do grupy Pointer Set i definiuje adres początkowy dla zapisu danych do pamięci VRAM Opis (zakres) D7 D6 D5 D4 D3 D2 D1 D0 Pierwszy argument (0-FFH) Wskaźnik adresu (młodszy bajt) Drugi argument (0-FFH) Wskaźnik adresu (starszy bajt) Address Pointer Set (24H) 0 0 1 0 0 1 0 0 Na początku będziemy czyścić obszar graficzny pamięci VRAM, toteż polecenie Address Pointer Set ma następującą postać: 0 0 0 0 0 0 0 0 0 00H 0 0 0 0 0 0 0 0 0 00H Address Pointer Set 1 0 0 1 0 0 1 0 0 24H 6.2. Polecenie Mode Set Polecenie Mode Set określa z jakiego generatora znaków korzystamy i jak grafika łączy się na wyświetlaczu z tekstem. Opis D7 D6 D5 D4 D3 D2 D1 D0 Uwagi Mode Set 1 0 0 0 CG N2 N1 N0 0 tryb CG-ROM 1 tryb CG-RAM 0 0 0 tryb OR 0 0 1 tryb EXOR 0 1 1 tryb AND 1 0 0 tryb Text Only (atrybuty) CG=0 CG=1 dostępnych jest zarówno 128 znaków wbudowanego generatora znaków (tryb CG-ROM), jak i 128 znaków zdefiniowanych przez użytkownika (tryb CG-RAM) dostępnych jest 256 znaków zdefiniowanych przez użytkownika Bity D2-D0 określają, w jaki sposób grafika łączy się na wyświetlaczu z tekstem. Poszczególne tryby wyjaśniono na rysunku poniżej.

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -9- Grafika Tekst Tryb OR Tryb AND Tryb EXOR Należy wybrać tryby CG-ROM oraz Text Only. Poniżej przedstawiono polecenie Mode Set odpowiadające tym założeniom. Mode Set 1 1 0 0 0 0 1 0 0 84H 6.3. Polecenie Display Mode Set Polecenie określa sposób wyświetlania danych Opis D7 D6 D5 D4 D3 D2 D1 D0 Uwagi Display Mode 1 0 0 1 N3 N2 N1 N0 0 Grafika wyłączona 1 Grafika włączona 0 Tekst wyłączony 1 Tekst włączony 0 Kursor wyłączony 1 Kursor włączony 0 Migotanie kursora wyłączone 1 Migotanie kursora włączone Należy wyłączyć grafikę, włączyć tekst, wyłączyć kursor i migotanie. Poniżej przedstawiono odpowiedni wariant polecenia Display Mode Set Display Mode Set 1 1 0 0 1 0 1 0 0 94H

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -10-6.4. Polecenie Data Write Polecenie Data Write umożliwia zapisanie danej do pamięci VRAM. Opis D7 D6 D5 D4 D3 D2 D1 D0 Uwagi Data 1 1 0 0 0 N2 N1 N0 Read/Write 0 Address Pointer up/down 1 Address Pointer unchanged 0 Address Pointer up 1 Address Pointer down 0 Data Write 1 Data Read Należy wybrać opcje: Address Pointer up/down, Address Pointer up, Data Write. Odpowiadające temu założeniu polecenie przedstawiono poniżej: Data Write 1 1 1 0 0 0 0 0 0 C0H Wysłanie np. znaku 0 do pamięci wyświetlacza ma następujący przebieg: Mov A, #adres_low ; młodszy bajt adresu w pamięci VRAM Call Write_data Mov A, #adres_high ; starszy bajt adresu w pamięci VRAM Call Write_data Mov A, #Address_Pointer_Set ; kod polecenia Address Pointer Set Call Write command Mov A, #znak_zera ; kod znaku zera Call Write_data Mov A, #Data_Write ; kod polecenia Data Write Call Write_command Wysyłając do wyświetlacza polecenie Mode Set wybraliśmy tryb CG-ROM, co oznacza, że korzystamy z wewnętrznego generatora znaków. Zawiera on 128 znaków. Ich kody przedstawiono w tabeli poniżej: MSB LSB 0 1 2 3 4 5 6 7 8 9 A B C D E F 0! # $ % & ( ) * +, -. / 1 0 1 2 3 4 5 6 7 8 9 : ; < = >? 2 @ A B C D E F G H I J K L M N O 3 P Q R S T U V W X Y Z [ \ ] ^ _ 4 \ a b c d e f g h i j k l m n o 5 p q r s t u v w x y z { : } ~ 6 Ç ü é â ä ŕ ĺ ç ę ë č ď î ĕ Ä Ĺ 7 É ô ö ň ű ů ö ü Ł Ą Z tabeli generatora znaków wynika, że kod znaku 0 wynosi 10H (cztery starsze cyfry to 1, cztery młodsze to 0). Kod ASCII tego znaku jest równy 30H, można zatem napisać, że kod

IMiO PW, LPTM, Ćwiczenie 3, Wyświetlacz ciekłokrystaliczny -11- znaku dla wyświetlacza jest równy kodowi ASCII pomniejszonemu o 20H. Jeżeli do wyświetlacza chcemy wysłać znak 0, najprościej jego kod obliczyć w następujący sposób: A, # 0 załaduj kod ASCII liczby 0 do akumulatora clr C ; wyczyść bit przeniesienia subb A, #20H ; odejmowanie zawsze jest wykonywane z pożyczką 7. Zadanie do wykonania 3 p. Wyświetlić napis w co najmniej 4 liniach wyświetlacza 6 p. Wyświetlić napis płynący przez trzy linie wyświetlacza 8 p. Wyświetlić napis płynący przez cały ekran wyświetlacza Uwaga: po inicjalizacji wyświetlacza oraz wysłaniu poleceń Mode Set i Display Mode Set należy wyczyścić pamięć graficzną i tekstową wyświetlacza. UWAGA!!!! Przed przystąpieniem do realizacji ćwiczenia przeprowadzony zostanie krótki (ok. 10 min.) sprawdzian za 2p. Zakres materiału: posługiwanie się asemblerem (dopuszcza się korzystanie z listy instrukcji); przeznaczenie rejestrów specjalnych wykorzystywanych w ramach ćwiczenia.