5 Tworzenie plików nagłówkowych. Podstawowe operacje

Transkrypt

5 Tworzenie plików nagłówkowych. Podstawowe operacje
Technika Mikroprocesorowa – Asembler
Materiały do ćwiczeń laboratoryjnych
1
5 Tworzenie plików nagłówkowych. Podstawowe
operacje arytmetyczne – cz.1.
Zagadnienia do przygotowania:
- przypomnienie poleceń asemblerowych z zajęć nr 1-4,
- polecenia: ADD, DA, DIV AB, SWAP.
Wstęp
Pamięć EPROM (ang. Electricaly PROM) to kasowalna pamięć tylko do odczytu.
Pamięć do której zaprogramowania potrzebne jest specjalne urządzenie, zwane
programatorem PROM (PROM Programmer albo PROM Burner). Pamięci tego typu
montowane są zazwyczaj w obudowie ceramicznej ze szklanym "okienkiem"
umożliwiającym skasowanie poprzez naświetlanie ultrafioletem. Pamięć EPROM
przechowuje dane przez około dziesięć do dwudziestu lat. Pozwala na około tysiąc cykli
zapisu i dowolną liczbę cykli odczytu.
5.1 Ćwiczenia do wykonania
5.1.1 Stworzenie nowego projektu w środowisku Keil
5.1.2 Stworzenie i wykorzystanie pliku nagłówkowego (praca wspólna):
- przy pomocy notatnika stworzyć plik o nazwie ‘naglowek.inc’,
- wypełnić
plik
nagłówkowy
przykładowymi
deklaracjami
funkcji/podprogramów (z ich adresami w pamięci EPROM),
- umieścić plik nagłówkowy w odpowiedniej lokalizacji,
- napisać program testujący działanie pliku nagłówkowego.
5.1.3 Podstawowe operacje
samodzielna):
arytmetyczne
–
dodawanie
kilku
(praca
- napisać program, w którym do akumulatora wpisywana jest liczba 5, a następnie do
tej wartości dodawana jest liczba 2,
- wynik działania wyświetlić na wyświetlaczu LCD w postaci szesnastkowej –
wykorzystać gotowy podprogram z pamięci EPROM (adres podprogramu powinien
znajdować się w pliku nagłówkowym).
5.1.4 Rozbudowa pliku nagłówkowego (praca samodzielna):
- do istniejącego pliku nagłówkowego dopisać deklaracje dodatkowych funkcji:
WAIT_KEY oraz WRITE_DATA (ich adresy znaleźć w dokumentacji pdf).
Technika Mikroprocesorowa – Asembler
Materiały do ćwiczeń laboratoryjnych
2
5.1.5 Wyświetlanie znaku na LCD (praca wspólna):
- z wykorzystaniem instrukcji WRITE_DATA wyświetlić na LCD dowolne znaki,
- w akumulatorze umieścić znaki na dwa sposoby („wprost” oraz w kodzie ASCII w
postaci hex).
5.1.6 Prosty kalkulator – dodawanie (praca wspólna):
- napisać program – kalkulator dodający dwie liczby z zakresu 0-15,
- wykorzystać klawiaturę matrycową (wartości 0-9 zgodnie z klawiszami, strzałki, esc,
enter wartości od 0AH do 0FH) – użyć podprogramu WAIT_KEY (jego adres dodać
do pliku nagłówkowego),
- w programie należy oczekiwać na naciśnięcie klawisza poleceniem WAIT_KEY (po
naciśnięciu numer klawisza znajduje się w akumulatorze), następnie zapisać numer
klawisza w R0 (z akumulatora), wyświetlić ten numer, wyświetlić znak ‘+’ za
pomocą polecenia WRITE_DATA, następnie oczekiwać na naciśnięcie drugiego
klawisza, zapisać jego numer do R1, wyświetlić ten numer, wyświetlić znak =,
wyświetlić wynik (WRITE_HEX),
- przećwiczyć operacje na różnych liczbach (ponownie kalkulator używać po
wykonaniu resetu pamięci RAM.
5.1.7 Modyfikacja poprzedniego programu (praca samodzielna):
- wyświetlić wynik dodawania w postaci dziesiętnej,
- wykorzystać rozkaz DA („poprawka dziesiętna”),
- sprawdzić działanie programu dla różnych liczb – zdefiniować wnioski.
5.1.8 Wyświetlanie liczb dwucyfrowych (praca wspólna):
- napisać program, który będzie poprawnie wyświetlał w postaci dziesiętnej liczby 099,
- użyć poleceń: DIV AB i SWAP.
5.1.9 Kalkulator - modyfikacja (praca samodzielna):
- napisać program kalkulator dodający (tak jak poprzednio) numery klawiszy (numery
są mniejsze niż 100) i wyświetlający wszystko dziesiętnie,
- dwie możliwości:
a) przechowywanie liczb w postaci HEX w rejestrach, zamiana na BCD do
wyświetlenia,
b) przechowywanie liczb w postaci BCD w rejestrach, dodać liczby w postaci BCD i
użyć poprawki dziesiętnej DA.