POLITECHNIKA

BIA OSTOCKA

WYDZIA ELEKTRYCZNY

KATEDRA AUTOMATYKI I ELEKTRONIKI

Sprawozdanie z zaj laboratoryjnych:

Technika Mikroprocesorowa 2

Kod: TS1A520312

wiczenie numer: 6

Temat: System przerwa mikroprocesora Z80.

Wykonuj cy wiczenie:

Rafa Siemieniuk

Patryk Siwerski

Studia dzienne

Kierunek: Elektronika i Telekomunikacja Specjalno : Aparatura Elektroniczna

Semestr: V

Grupa: L02

Prowadz cy wiczenie: dr in . Kociszewski Rafa

……………...……..

Ocena

7.12.2009

Data wykonania wiczenia

……………………………………

Data i podpis prowadz cego

I. Cel i zakres wiczenia

Celem wiczenia by o nabycie umiej tno ci programowania prostych systemów obs ugi przerwa .

II. Opis stanowiska laboratoryjnego

Stanowisko laboratoryjne sk ada o si z:

- komputera klasy Pentium z systemem operacyjnym Windows;

- programów narz dziowych ( program metaasemblera C.32.EXE oraz symulator ekranowy SYMULATOR.EXE).

- modu owego systemu z mikroprocesorem Z80

III. Przebieg wiczenia

Na pocz tku naszym celem by o zapoznanie si z budow i dzia aniem przyk adowego programu CWICZINT.ASM, który wykorzystuje przerwania wektorowe od wszystkich liczników uk adu Z80CTC, a nast pnie jego modyfikacja.

W kolejnym etapie naszym zadaniem by o napisanie programu, który wykorzystuj c przerwania o cz stotliwo ci 1..2Hz b dzie generowa na linijce diód LED pod wy wietlaczem podany ni ej wzór: Zmodyfikowany program z opisem rozkazów:

cpu "z80.tbl"

wskazuje plik zawieraj cy opis listy rozkazów wybranego procesora;

hof "int8"

okre la format pliku wyj ciowego .HEX; incl "system.inc"

org 8000h

; porty ukladu CTC na plycie CPU (zdefiniowane w pliku SYSTEM.INC):

;ctc1 equ 74h

;ctc2 equ 75h

;ctc3 equ 76h

;ctc4 equ 77h

; port LED'ow na plycie PKW

ledy: equ 0c1h

begin: im 2

wybór 2 trybu obs ugi przerwa maskowalnych ld a,81h

ld i,a

wektor przerwa , starszy bajt tablicy przerwa

ld a,00h

out (ctc1),a

wektor przerwan, m odszy bajt

ld a,0b7h

owo steruj ce

out (ctc1),a

wy szy priorytet portu 1, inicjalizacja CTC1 jako genera tora przerwan systemowych

ld a,0f7h

owo steruj ce, tryb licznikowy;

out (ctc2),a

out (ctc2),a

out (ctc3),a

out (ctc4),a

ld a,00h

dzieli przez 256

out (ctc1),a

CTC1 / 256 - czas przerwania 26,7ms

ld a,20

out (ctc2),a

CTC2 co 0,53s

ld a,15

out (ctc3),a

CTC3 co 8s

ld a,10

out (ctc4),a

ld bc,8500h

ei

zezwolenie na przerwania INT

label1: call inopnd

;ld hl,(oprnd1)

;ld de,(oprnd2)

;or a ; CY := 0

;sbc hl,de

; call hl4hp

; dfb 42h

;call conin

reakcja na klawisz

;call clsp

kasowanie wy wietlacza

;dfb 80h

od 0 pozycji 8 miejsc

Nop

pusta instrukcja maj ca za zadanie wywo nast pne

jr label1

; O B S L U G I P R Z E R W A N

int0: push af

odlozenie zawartosci akumulatora na stos call ifkey

ld d,46h

cp d

jp nz,skok

in a,(ctc3)

inc a

jp begin

skok: ld a,0

pop af

ei

odblokowanie przerwa

reti

powrót z procedury obs ugi przerwa maskowalnych int1: push af

ld a,(bc)

inc bc

out (ledy),a

przes anie zawarto ci akumulatora na wyj cie tzn. na diody pop af

ld a,16

cp c

jp nz, skok2

ld bc,8500h

skok2: ei

odblokowanie przerwa

reti

powrót z procedury obs ugi przerwa maskowalnych org 8100h

tabint: dwl int0 ;

tablica adresow obslug przerwan

dwl int1

org 8500h

tab: dfb 80h, 0c0h, 0e0h,0f0h,0f8h,0fch,0feh,0ffh,0h kolejne wzory wy wietlacza;

end

Niestety nie uda o nam si stworzy p tli, dzi ki której program dzia by poprawnie. Program

poprawnie wy wietla wzór jedynie do po owy. Po zapaleniu si wszystkich diod program ko czy swoje dzia anie, zamiast wróci do pozycji wyj ciowej.

Po kompilacji programu wcisn li my klawisz 9 ( oraz enter w celu zatwierdzenia- analogicznie w pozosta ej cz ci wiczenia) na klawiaturze systemu PLUM w celu za adowania kodu programu z komputera. W

trakcie adowania na wy wietlaczu pojawi si napis LOAD. Za pomoc programu RS_OWL przes ali my dany program z rozszerzeniem .hex i wciskamy klawisz 8. Za pomoc klawiatury systemu PLUM wpisali my adres pocz tkowy naszego programu (8000). . Po wci ni ciu klawisza enter diody LED pod wy wietlaczem zacz y miga w kolejno ci jak na rysunku.

IV. Wnioski

Podczas realizacji tego wiczenia poznali my zasad dzia ania systemu przerwa mikroprocesora Z80, oraz tworzyli my program, który na wy wietlaczu systemu PLUM mia generowa zadany efekt. Niestety stworzony program dzia a tylko po owicznie, brak w nim p tli, przez co generowanie efektów wietlnych ko czy si ju po zapaleniu si wszystkich diod.