Struktura systemu mikroprocesorowego Z80 z interfejsem monitora graficznego.



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

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

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

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

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

Opis układów wykorzystanych w aplikacji

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

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

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Technika mikroprocesorowa I Wykład 2

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

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI. Wrocław, lipiec 1999 r.

Organizacja typowego mikroprocesora

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

Ćwiczenie 3. Konwersja liczb binarnych

Technika mikroprocesorowa. Konsola do gier

Wyjście do drukarki Centronix

Generator CABRILLO program Marka SP7DQR (Instrukcja obsługi)

Tester diod i tranzystorów

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Ogólne informacje. cią pracy, wielkości wyświetlan. cią obrazu, wietlaną rozdzielczości. częstotliwo. wieŝania obrazu.

Przykładowe pytania DSP 1

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

1. GRAFICZNY INTERFEJS U

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Programowanie w językach asemblera i C

PRUS. projekt dokumentacja końcowa

Liczniki, rejestry lab. 09 Mikrokontrolery 8051 cz. 1

Struktura i działanie jednostki centralnej

Sprzęt i architektura komputerów

Zakład Systemów Rozproszonych

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

LEKCJA TEMAT: Zasada działania komputera.

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

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

TWORZENIE OBIEKTÓW GRAFICZNYCH

I. Interfejs użytkownika.

wersja dokumentacji 1.00 Opis programu TeleTokenEdit

ROZDZIAŁ 1 Instrukcja obsługi Grand Video Console

Kurs Podstawowy S7. Spis treści. Dzień 1

Dla kas Nano E w wersjach od 3.02 oraz Sento Lan E we wszystkich wersjach.

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

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

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

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Ćwiczenie 7 Matryca RGB

SKRÓCONA INSTRUKCJA uruchomienia testera

EKSPLOATACJA SYSTEMÓW TECHNICZNYCH - LAB. Wprowadzenie do zajęć

Wstęp Architektura... 13

ODCZYTON INSTRUKCJA OBSŁUGI PROGRAMU. wersja Zakład Elektronicznych Urządzeń Pomiarowych POZYTON Sp. z o.o Częstochowa, ul.

INSTRUKCJA OBSŁUGI. Program ProCELL. Wersja: 1.15

Szkolenia specjalistyczne

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

Architektura komputerów

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

Metody obsługi zdarzeń

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

Obszar pierwszy to pasek narzędzi (rys. 1) zawierający skróty do najczęściej uŝywanych funkcji. Rys. 1 Pasek Narzędzi

imei Instytut Metrologii, Elektroniki i Informatyki

Opis klawiatury komputerowej

Program EDYTOR-AS-OUX

Sprzęt i architektura komputerów

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

Multimetr cyfrowy VA18B Instrukcja instalacji i obsługi. oprogramowania PC-LINK

Dokumentacja programu. Zoz. Uzupełnianie kodów terytorialnych w danych osobowych związanych z deklaracjami POZ. Wersja

Rozdział 2. Konfiguracja środowiska pracy uŝytkownika

Dokumentacja Licznika PLI-2

Układy wejścia/wyjścia

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

Opis procedur asemblera AVR

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

2. Architektura mikrokontrolerów PIC16F8x... 13

Zegar Czasu Rzeczywistego I²C

Mikrokontroler ATmega32. Język symboliczny

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

Lista instrukcji mikroprocesora Programowanie w assemblerze

Laboratorium Komputerowe Systemy Pomiarowe

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Konsola operatora TKombajn

POLITECHNIKA SZCZECIŃSKA WYDZIAŁ ELEKTRYCZNY

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

ASEMBLER MCS-51 Podstawowe informacje

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

Stanowisko pomiarowe do badania stanów przejściowych silnika krokowego

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania.

Dlaczego stosujemy edytory tekstu?

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

MIKROKONTROLERY I MIKROPROCESORY

1. Opis okna podstawowego programu TPrezenter.

Dokument: Zmiana stawek VAT Informacja dla dealerów

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

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. Wersja dokumentu P.1. Wersja dokumentu NP1.

Transkrypt:

1

Struktura systemu mikroprocesorowego Z80 z interfejsem monitora graficznego. Strukturę systemu mikroprocesorowego Z80 współpracującego z interfejsem monitora graficznego zbudowanego w oparciu o układ M6845 pokazuje rysunek 1.1. Na rysunku zaznaczono kolorem czerwonym przyciski uŝywane w trakcie realizacji ćwiczenia. Rys.1.1 Struktura stanowiska laboratoryjnego Opis interfejsu monitora graficznego. Interfejs monitora graficznego jest zbudowany w oparciu o kontroler CRT M6845 firmy Motorola. M6845 jest układem przeznaczonym do budowy interfejsów monitora znakowego. Niemniej jednak, był szeroko stosowany w kartach graficznych komputerów klasy PC serii XT i AT budowanych w oparciu o procesory Intel 8088 i 8086 aŝ do 80286. Wyjścia sterujące kontrolera umoŝliwiają: - Adresowanie pamięci RAM, która jest teŝ dostępna od strony mikroprocesora. W pamięci tej przechowywane są kody ASCII wyświetlanych znaków. - Adresację pamięci stałej zawierającej informacje o kształcie wyświetlanych znaków. - Generację sygnałów odchylania pionowego. - Generację sygnałów odchylania poziomego. Dla adaptacji kontrolera M6845 do potrzeb wyświetlania graficznego nieodzowne jest uporządkowanie sterujących linii adresowych, co realizuje układ podmiany adresu. Aby 2

zapewnić bezkonfliktowy dostęp do pamięci VRAM od strony procesora, kontroler generuje sygnał DISPEN. Dostęp do pamięci ze strony procesora jest moŝliwy w trakcie powrotów poziomych i pionowych co zapewnia dodatkowo zrealizowany na układach TTL układ arbitraŝu, wykorzystujący ten sygnał. W chwili obecnej kontroler M6845 jest wykorzystywany do sterowania monochromatycznymi wyświetlaczami LCD w specjalistycznej aparaturze pomiarowej. Interfejs zajmuje 7 lokacji w przestrzeni adresowej mikroprocesora. Kontroler CRT 6845 dostępny jest po dwiema lokacjami adresowymi: FF44h adres rejestru adresowego FF45h adres rejestru danych Układ 8255, którego funkcje opisano poniŝej, pod czterema lokacjami: FF40h adres portu A (młodsza część adresu VRAM) FF41h adres portu B (starsza część adresu VRAM) FF42h adres portu C FF43h adres rejestru sterującego Dodatkową lokacją jest bufor danych pamięci VRAM pod adresem: FF46h Adresacja VRAM Pamięć VRAM ma organizację 8- bitową. KaŜdemu bitowi odpowiada jeden punkt na ekranie monitora. Dostęp do pamięci jest pośredni, zapewnia go m.in. układ portu równoległego 8255. Aby wpisać daną dla komórki VRAM naleŝy najpierw na port PA (adres FF40h) układu 8255 wpisać młodszą część adresu komórki, na port PB (czyli pod adres FF41h) starzą część adresu komórki.daną dla tak zaadresowanej komórki VRAM (Video Ram) naleŝy przesłać pod adres bufora danych czyli FF46h. Dostęp do pamięci VRAM pokazuje rysunek 1.2 3

Rys.1.2. Organizacja pamięci VRAM Aby zaczernić punkt na białym (zielonym) tle naleŝy wpisać do komórki na odpowiednim bicie 0 log. (gdy ekran jest rozświetlony). Aby go zapalić naleŝy wpisać 1 logiczną. zmiany negatyw-pozytyw całego obrazu dokonuje się zamieniając bit PC6 portu PC układu 8255. Model programowy układu 6845 Kontroler CRT zawiera 18 rejestrów wewnętrznych umoŝliwiających realizację róŝnych kart video. Zestawienie funkcji poszczególnych rejestrów zawiera poniŝsza tabela: Organizacja obrazu Poziomy format obrazu rej. funkcja charakter R0 R1 R2 R3 Liczba znaków w linii Liczba wyświetlanych znaków w linii Pozycja HSYNC Długość HSYNC zapisywane przez mikroprocesor 4

Pionowy format obrazu Rejestry operacyjne R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 Liczba linii w ramce Liczba linii wyrównawczych Liczba wyświetlanych linii w ramce pozycja VSYNC tryb wyświetlania liczba linii na rząd znaków Wielkość kursora Adres startowy VRAM Pozycja kursora Pozycja pióra świetlnego zapisywane przez mikroprocesor zapisywane i czytane przez mikroprocesor Aby wpisać daną do rejestru lub odczytać rejestr naleŝy pod adres rejestru adresowego (FF44h) zapisać numer rejestru z którym chcemy się skomunikować. daną do rejestru zapisujemy pod adres rejestru danych (FF45h), podobnie daną odczytujemy spod adresu rejestru danych. Przykładowo aby do rejestru R4 wpisać liczbę 0Fh naleŝy wykonać program złoŝony z następujących instrukcji: LD HL,#FF44 ;załadowanie do HL adresu rejestru adresowego LD (HL),#04 ;wysłanie do rejestru adresowego, adresu rejestru R4 INC HL :zmiana zawartości HL na adres rejestru danych LD (HL),#0F ;wysłanie danej do rejestru danych Właściwe wartości wpisywane do rejestru, zapewniające prawidłową współpracę z monitorem typu telewizyjnego (uŝywanym w trakcie ćwiczenia) pokazano w tabeli 1.1. NaleŜy je wpisać do pamięci od adresu 0100h. Wpisu danych z tabeli do pamięci, dokonujemy na poziomie oprogramowania MONITORA, po wciśnięciu klawisza M - MEMORY, a następni wpisaniu adresu początkowego- 0100. Po wpisaniu kaŝdej danej, przejście do następnej linii, następuje przy pomocy klawisza NEXT- N. Koniec edycji pamięci następuje po naciśnięciu klawisza ENTER. Tabela 1.1. Dane programujące rejestry układu M6845 adres 0100h 0101h 0102h 0103h 0104h 0105h 0106h 0107h 0108h dana 3Fh 34h 35h 05h 09h 16h 09h 09h 00h 5

0109h 010Ah 010Bh 010Ch 010Dh 010Eh 010Fh 1Fh 7Fh 1Fh 00h 00h 00h 00h Odpowiednio zawartość komórki 0100 odpowiada danej dla rejestru R0, 0101 danej dla R1 itd. NaleŜy zaprogramować układ portu równoległego 8255 (wszystkie porty w modzie 0 jako wyjścia, słowo ssterujące-80h), a do rejestrów sterujących układu M6845 wpisać dane programujące z tabeli umieszczonej w pamięci od adresu 0100h. Dla ułatwienia podano poniŝej algorytm przykładowego programu, który naleŝy zamienić na mnemoniki procesora Z80- rysunek 1.3. Program w postaci symbolicznej zapisać do tabeli załączonej do sprawozdania oraz wpisać w edytorze do pamięci systemu mikroprocesorowego. Wejście do programu EDYTOR/ASSEMBLER- klawiszem E. Wpisywanie programu- AUTONUMERING- klawisz I oraz ENTER Kolejne linie programu są automatycznie numerowane. Miejsca docelowe skoku naleŝy zaznaczyć przy pomocy etykiety do 7 znaków alfanumerycznych, które nie mogą być nazwami rejestrów ani mnemoników. W tej samej linii co etykieta moŝe znajdować się rozkaz oddzielony spacją lub tabulacją. Po wpisaniu programu nacisnąć klawisz ENTER oraz ESC. Edycja linii, w celu korekcji błędów jest moŝliwa klawiszem E - EDIT oraz numer linii. Listing programu po naciśnięciu klawisza L. Kasowanie linii jest moŝliwe przy pomocy klawisza D - DELETE oraz numer linii. MoŜliwe jjest teŝ wstawianie między linii np. linia pomiędzy 20 a 30-21 treść linii (mnemonik lub etykieta mnemonik) i ENTER. Po zapisaniu i korekcji błędów naleŝy program zasemblować, czyli zamienić na kody HEXnacisnąć klawisz A - Assembler, wybrać opcję 0 oraz klawisz ENTER. Po udanej asemblacji przejść do programu monitor- klawisz M oraz ENTER i uruchomić program klawiszem G - GO i adres zgodny z dyrektywą ORG #0000., czyli 0000. W przypadku, gdy program ulegnie zawieszeniu nacisnąć przycisk pułapki sprzętowej pokazany na rysunku 1.1. 6

Rys.1.3. Algorytm programu wysyłającego dane do rejestrów kontrolera 6845 7

Po uruchomieniu prawidłowo zapisanego programu ekran monitora powinien być jednolicie rozświetlony. Rysowanie kreski pionowej Napisać program realizujący wyświetlanie na ekranie monitora graficznego kreskę pionową. Program ten zapisz w sprawozdaniu postaci mnemoników Z80, a następnie wpisz do pamięci systemu (EDYTOR/ASSEMBLER) poprzedzony dyrektywą ORG #0050 Rysowanie dogodnie jest rozpocząć od dołu czyli komórki VRAM o adresie np. 18343. Aby to zadanie zrealizować moŝna wykorzystać przykładowy algorytm pokazany na rysunku 1.4., wykorzystujący adresację indeksową. Po asemblacji programu i jego uruchomieniu (jak powyŝej) na ekranie powinna pojawić się kreska pionowa. W przypadku gdy kreska nie wypada na środku ekranu naleŝy przeprowadzić czyszczenie ekranu:!!! Czyszczenie ekranu (wpisanie samych jedynek po RESET- rozświetlenie) - Nacisnąć przycisk PROT - protekcja na module pamięci RAM. - Zresetować system przyciskiem RST na klawiaturze (prawa górna strona miedzy klawiaturą alfanumeryczną a numeryczną. - Poczekać na wyświetlenie pełnej informacji na ekranie (test EEPROM i RAM). - Wycisnąć przycisk PROT na RAM. - Zmodyfikować adres startowy wyświetlania (zmniejszenie zawartości HL o 1 to przesunięcie kreski w lewo o 8 punktów. - Zasemblować program i postępować dalej jak w poprzednich punktach ćwiczenia. Rysowanie linii poziomej Rysowanie linii poziomej w środku ekranu jest o wiele prostsze. MoŜna tu wykorzystać jako rejestr liczący wysyłane bajty, których jest tylko 64 (40h), zerowe rejestr B dla którego istnieje instrukcja skoku: DJNZ etykieta dekrementuj i skocz jeśli nie zero Oczywiście zawartość rejestru B powinna być ładowana poza pętlą rysującą. Program do rysowania kreski poziomej zapisz z dyrektywą ORG #00A0 i od takiego adresu po asemblacji uruchamiaj. Całość programu naleŝy zakończyć jak poprzednio procedurą powrotu do programu MONITOR CALL #E54A. Zapisz program w postaci mnemoników procesora Z80 w sprawozdaniu. 8

Rys.1.3. Algorytm rysowania kreski pionowej. 9

Kolejność rysowania linii Czy kolejność rysowania linii ma wpływ na obraz uzyskany na ekranie, ze względu na organizację bajtową pamięci VRAM? (zapisz odpowiedź w sprawozdaniu). Sprawdź to czyszcząc ekran (!!! czyszczenie ekranu), przez zerowanie systemu. Następnie uruchom rysowanie kreski poziomej (ORG #00A0) i pionowej (#0050). ZADANIE1: Zadania dodatkowe Napisać program realizujący czyszczenie monitora graficznego- wpisanie samych jedynek (rozświetlenie) lub zer (wygaszenie) (zapisz program w postaci symbolicznejmnemoniki w sprawozdaniu). ZADANIE2: Napisać program realizujący wyświetlanie na ekranie monitora graficznego prostokąt (zapisz program w postaci symbolicznej- mnemoniki w sprawozdaniu). ZADANIE3: Napisać program realizujący wyświetlanie na ekranie monitora graficznego linię ukośną (zapisz program w postaci symbolicznej- mnemoniki w sprawozdaniu). 10