Zmienne i stałe w różnych obszarach pamięci
Laboratorium 3
ZMIENNE I STAAE DOSTP DO PAMICI
Cel:
Celem ćwiczenia jest poznanie zasad organizacji dostępu do pamięci programu, danych RAM oraz EEPROM.
Uwagi :
1. Przy realizacji poniższych zadań, aby uchronić modele dydaktyczne przed uszkodzeniem należy bardzo uważnie
zapoznać się z poniższą instrukcją a następnie stosować do poleceń w niej zawartych .
2. Programowanie kontrolera odbywa się za pomocą interfejsu zgodnego z JTAG ICE, należy go zaznaczyć również
jako środowisko symulacyjne przy konfiguracji programu.
Konfiguracja modelu
1. Wszystkie czynności montażowe należy wykonywać zgodnie z instrukcją przy wyłączonym napięciu zasilania. Nie
należy stosować przemocy wobec kabli montażowych zarówno w czasie ich montażu jak i demontażu.
Podłączenia wykonuj przy wyłączonym zasilaczu.
2. Podłącz złącze programatora JTAG AVR do złącza JP21.
3. Programowanie pamięci EEPROM :
Podłącz wyprowadzenia portu PA tak aby wskazywać stan zawartości pamięci na linijce diodowej.
Wstęp
Pamięć Programu FLASH
Do przechowywania stałych np. tekstów dla wyświetlaczy LCD najlepiej nadaje się pamięć programu. Do
tworzenia tego typu danych przeznaczone jest wyra\enie: __attribute__ ((progmem)). Aby w pełni z niego
skorzystać nale\y włączyć do projektu plik nagłówkowy avr/pgmspace.h. Ten plik zawiera funkcje słu\ące
do czytania danych z pamięci programu. Są tam równie\ zdefiniowane następujące typy danych:
" 8 bitowy: prog_char
" 16 bitowy: prog_int
" 32 bitowy: prog_long
" 64 bitowy: prog_long_long
Ważne Funkcje z avr/pgmspace.h
Poni\sze funkcje (w rzeczywistości jest makroinstrukcje) ułatwiają prawidłowe tworzenie i odczytywanie
stałych z pamięci programu.
" pgm_read_byte( addr ) - jako argument pobiera adres pamięci programu a zwraca wartość znajdującą się
pod tym adresem.
" PSTR( s ) - tworzy łańcuch znaków w pamięci programu i zwraca adres do niego.
PWSZ Techniki mikroprocesorowa II - ćwiczenia Strona 1 z 2
Zmienne i stałe w różnych obszarach pamięci
Pamięć EEPROM
W odró\nieniu do prostych definicji zmiennych w pamięci SRAM, u\ycie pamięci EEPROM, do której
dostęp odbywa się przez specjalne rejestry wymaga u\ycia specjalnych funkcji dla uzyskania dostępu do
niej. Deklaracje tych funkcji znajdują się w pliku nagłówkowym avr/eeprom.h.
Jednak nale\y uwa\ać by nie stosować zmiennych w EEPROM, do których często zapisywane będą dane -
np. zmienna sterująca pętli. Dzieje się tak dlatego, i\ nominalnie pamięć EEPROM ma ograniczona
mo\liwość przeprogramowywania. Producent gwarantuje tylko 100 tysięcy operacji zapisu. Aatwo więc w
tym przypadku o przekroczenie tej liczby w dość krótkim czasie.
Ważne Funkcje z avr/eeprom.h
eeprom_write_byte ( *adres, val) - zapisuje wartość val pod adres adres.
eeprom_read_byte ( *adres ) - czyta zawartość pamięci spod adresu adres.
eeprom_read_word ( *adres ) - czyta 16 bitową zawartość pamięci spod adresu adres.
eeprom_read_block ( *buf, *adres, n) - czyta n wartości od adresu adres i zapisuje do pamięci SRAM w
*buf.
eeprom_is_ready () - zwraca 1 jeśli pamięć jest wolna lub 0 jeśli na niej jest wykonywana jakaś operacja
(trwa zapis).
Zadania
1. Napisz program przepisujący komórkę pamięci EEPROM o adresie 0x0002.
2. Zaprogramuj wartość EEPROM za pomocą zewnętrznego programatora (bez przeprogramowywania pamięci
FLASH) sprawdz poprawność działania napisanego programu.
3. Napisz dwa programy efektów świetlnych umieszony w pamięci EEPROM, składające się a 10 sekwencji. Za
pomocą JTAG a dokonaj ich zmiany. Uwaga nie należy modyfikować programu i go ponownie kompilować, należy
jedynie zmienić adresy tablicy z efektami.
Zadania dodatkowe
Zadanie 1
Napisz program Timera 3 cyfrowego z funkcją Start i Stop, z wyświetlaczem LED. Tablicę konwersji kodu HEX na
wskaznik 7 segmentowy umieszczoną w pamięci programu.
Zadanie 2
Napisz procedurę generacji przebiegu piłokształtnego dla przetwornika 8 bitowego. Przebieg należy wytwarzać na
podstawie próbek zebranych w pamięci programu.
PWSZ Techniki mikroprocesorowa II - ćwiczenia Strona 2 z 2
Obsługa przerwań
PWSZ Techniki mikroprocesorowa ćwiczenia Strona 3 z 2
Obsługa przerwań
PWSZ Techniki mikroprocesorowa ćwiczenia Strona 4 z 2
Wyszukiwarka
Podobne podstrony:
Lab4 1 R4 lab41lab4 sprHiPUA lab4upII lab7i2 lab4Grabowska Lab4lab4 csproj FileListAbsolute (3)i9g1s1 wozniak lab4 sdlab4 srodowisko B&RupII lab2lab4upII lab8AK lab4Kopia lab4 26810JPPO Lab4więcej podobnych podstron