mikrokontrolery.net

 

   

LOAD (klawisz 7) - dzięki tej komendzie możliwe jest wczytanie pliku wynikowego z kodem maszynowym programu utworzonego w komputerze PC. Po wciśnięciu klawisza na pierwszym wyświetlaczu pojawi się litera "L". Oznacza to że system czeka na dane z komputera PC. Dane przesyłane są przez port szeregowy w formacie Intel HEX. Format ten jest najbardziej rozpowszechnionym wśród systemów opartych na mikrokontrolerach 8-bitowych. Plik w takim formacie generowany jest przez każdy program kompilatora na procesory rodziny MCS-51. W przypadku braku transmisji z PC ta przez około minutę system wyświetli komunikat "Err". Taki sam efekt wystąpi jeżeli transmisja będzie zawierała błędy, lub wysyłany z komputera PC plik nie będzie w formacie Intel-HEX. W przypadku komunikatu o błędzie należy wcisnąć klawisz "M" - powrotu do monitora. W fazie wysyłania danych przez komputer PC wyświetlacz pokazuje adres aktualnie ładowanego rekordu z danymi, co jednocześnie jest dla nas sygnałem o prawidłowej transmisji. Po zakończeniu system automatycznie przechodzi do pętli głównej monitora, czyli do oczekiwania na kolejną komendę użytkownika.

SEND (klawisz 8) - dzięki tej funkcji można przesłać zawartość całej lub wybranej części pamięci operacyjnej do komputera PC, celem jej przechowania.Pod pojęciem pamięci operacyjnej mam na myśli zewnętrzną 64kB przestrzeń adresową procesora 8051 odczytywaną tak jak zewnętrzna pamięć danych - czyli poprzez sygnał /RD procesora. W praktyce będzie to zawartość pamięci SRAM (U4) umieszczonej na płytce bazowej komputerka. Po wywołaniu tej funkcji na pierwszym wyświetlaczu pojawi się litera "S", a po chwili na czterech ostatnich wyświetlaczach pojawi się napis: "- - - -", co jest zachętą do wprowadzeni adresu początku obszaru który chcemy wysłać. 16-bitowy adres wprowadzamy (tak jak wszystkie dane) w postaci heksadecymalnej, używając klawiszy "0...9, A...F", a więc np."8205". Po wprowadzeniu adresu początku musimy jeszcze w podobny sposób wprowadzić adres końcowy wysyłanego obszaru, np. "84FF". Następnie wciśnięcie klawisza "OK" rozpoczyna transmisję danych. Wyświetlacz podobnie jak w przypadku funkcji "LOAD" będzie pokazywał postęp w transmisji wyświetlając aktualnie wysyłany adres rekordu (paczki danych). Przykład: wciśnięcie sekwencji: "8" (klawisz SEND), "8200" (adres początkowy), "85FF" (adres końcowy), "OK" spowoduje wysłanie danych z obszaru pamięci operacyjnej o adresach : 8200h...85FFh.

JUMP (klawisz 0) - jest to komenda skoku pod wskazany adres w zewnętrznej pamięci programu procesora. Ponieważ
kostka SRAM - U4 spełnia także rolę takiej pamięci (poprzez iloczyn sygnałów /RD i /PSEN) dzięki tej funkcji można uru chomić załadowany wcześniej program użytkownika. Załadowany tzn. przesłany z komputera PC za pomocą komendy "LOAD" lub wpisany ręcznie. Wciśnięcie klawisza "JUMP" powoduje zapalenie na pierwszym wyświetlaczu litery "J" , po czym system oczekuje na wprowadzenie (podobnie jak w "LOAD" i "SEND") 16-bitowego adresu pod który ma nastąpić skok. Adres ten z reguły jest początkiem programu użytkownika. Razem z "LOAD" funkcja ta będzie najczęściej używaną podczas ćwiczeń pisania programów na nasz systemik. Wpisanie adresu skoku a następnie potwierdzenie tego klawiszem "OK" rozpoczyna wykonywanie programu od tego właśnie adresu. Po włączeniu naszego komputerka pamięć U4 zawiera z reguły przypadkowe dane, toteż wywołanie funkcji "JUMP" z podaniem adresu np. "8000" (zworka JP3) najprawdopodobniej spowoduje zawieszenie się systemu będące wynikiem przypadkowej interpretacji danych znajdujących się w kości SRAM. Efektem będzie prawdopodobnie wygaszony wyświetlacz. Wtedy może pomóc tylko wciśnięcie klawisza "RESET"

BAUD (klawisz B) - funkcja pozwala na zmianę domyślnej prędkości transmisji poprzez port szeregowy. Standardowo
po włączeniu zasilania system odbiera i wysyła dane do komputera PC z prędkością 4800 bodów (bitów na sekundę).
Prędkość te można jednak zwiększyć lub zmniejszyć. Standardowymi prędkościa mi przyjętymi w asynchronicznym przesyłaniu danych poprzez interfejs RS232C są: 1200, 2400, 4800, 9600, 19200 bodów. Możliwe są tez większe prędkości: 38400, 57600, 115200. W naszym systemie można wybrać wszystkie wartości poza tą ostatnią. Wciskając sekwencyjnie klawisz "BAUD" wyświetlacz DL1 pokazuje literkę "b", natomiast na pozostałych ukazuje się następna prędkość transmisji w kolejności jak wypisano wcześniej. Aby zakończyć i wyjść do pętli głównej monitora należy wcisnąć klawisz "OK" lub "M".

COPY (klawisz C) - funkcja pozwala na kopiowanie wybranego obszaru pamięci operacyjnej (kość U4) pod inny podany adres. Wybranie tej funkcji powoduje pojawienie się litery "C" na DL1, a następnie system czeka na podanie adresu początku oraz końca obszaru który ma być skopiowany, oraz na adres przeznaczenia, czyli adres pod który ma być skopiowany wskazany obszar. Rzecz jasna nie jest konieczne podawanie adresu końca przeznaczenia - jest on określony przez ilość bajtów wyznaczoną z różnicy końca i początku adresu ˇródłowego.
Przykład, wciśnięcie sekwencji: "C" (klawisz COPY), "8600" (adres początku ˇródła), "87EF" (adres końca ˇródła), "9500" (adres przeznaczenia), "OK" spowoduje skopiowanie obszaru pamięci operacyjnej o adresach: 8600h...87EFh do obszaru o adresach: 9500h...96EFh.

EDIT (klawisz E) - funkcja edycji (modyfikowania) poszczególnych komórek pamieci operacyjnej systemu (kostka U4). Dzieki niej mozliwe jest wpisanie wlasnego programu – krok po kroku a raczej "komórka po komórce", po czym jego uruchomienie. Wcisniecie klawisza EDIT powoduje zapalenie na DL1 litery "E" , po czym system czeka na podanie adresu poczatku obszaru który chcemy modyfikowac. Po wprowadzeniu go mozna przystapic do modyfikacji. Podczas tego cztery pierwsze wyswietlacze pokazuja adres, a dwa ostatnie zawartosc aktualnie modyfikowanej komórki. Adres mozna zmniejszac lub zwiekszac uzywajac klawiszy "<-" (klawisz 4) lub "->" (klawisz 6), by zmodyfikowac dana komórke trzeba nacisnac klawisz "OK" . Dwa ostatnie wyswietlacze pokaza wtedy napis "- -" co jest zacheta do wpisania nowej wartosci.
Aby zakonczyc edycje nalezy wcisnac podobnie jak poprzednio klawisz "M".

FILL (klawisz F) - dzięki tej funkcji możliwe jest szybkie wypełnianie wskazanego obszaru pamięci operacyjnej za daną wartością. Po wciśnięciu klawisza "FILL" DL1 pokaże literkę "F", po czym poprosi o wprowadzenie adresu początku i końca obszaru który ma być wypełniony, po czym należy jeszcze wprowadzić wartość wypełnienia - stałą (8-bitową oczywiście).
Wciśnięcie klawisza "OK" spowoduje wypełnienie zadanego obszaru. Przykład, sekwencja: "F" (klawisz FILL), "8000" (adres początku), "FFFF" (adres końca), "00" (wartość wypełnienia), "OK", spowoduje wyzerowanie wszystkich komórek pamięci U4 które znajdują się w obszarze o adresach 8000h...FFFFh.

Opracowano na podstawie : "Mikrokomputer edukacyjny z 8051" Sławomir Surowiński, Elektronika dla Wszystkich 10/1997

 

 

 

 

 

 

 

 

 

 

 
 
 
 

(c) 2004-2008 Radosław Kwiecień
Polityka prywatności