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.