2852046474

2852046474



Technika mikroprocesorowa

Wprawdzie struktura programu jest nieprzekraczalna, ale nie wszystkie wymienione elementy musza wystąpić w każdym programie. Poniżej przedstawiono przykład prostego programu:

—    Wczytanie biblioteki mikrokontrolera .include "8515def.inc"

—    Dyrektywa kompilatora wskazująca, ze poniższy fragment programu zawiera kod źródłowy

cseg

—    Adres w pamięci Flash rozpoczęcia programu .org $0000

—    Skok bezwarunkowy do etykiety reset rjmp reset

—    Przed etykieta reset można umiescic adresy obsługi przerwań lub dane, które zostana zapisane w kodzie programu

reset:

—    Zestaw rozkazów inicjalizujący stos na adresie $025F Idi rló, high(ramend)

out sph, rló

ldi rló, lcw(ramend)

out spl, rló

—- W tym miejscu przeważnie umieszcza sie pętla zerującą zawartość pamięci RAM (chwilowo pomijamy)

—    Dalsze rozkazy programu (wśród których można umiescic wywołanie podprogramu rcall podprogram 1

—    Zakończenie programu głównego np. skokiem w miejscu (na etykiete koniec) Koniec:

rjmp koniec

—    Poniżej programu głównego umieszczamy podprogramy (powrót rozkazem ret) podprogram 1:

—    4 instrukcje puste nop

nop

nop

nop

ret

Niezbędnym elementem każdego programu jest zespól rozkazów (umieszczanych na początku kou źródłowego) inicjujących stos.

Stos jest obszarem wydzielanym w pamięci danych SRAM, teoretycznie jego wielkość jest ograniczona jedynie przez rozmiar tej pamięci. Po resecie mikrokontrolera stos jest inicjowany na początku pamięci RAM i pozostawienie go w tym miejscu związane jest z dużym ryzykiem nadpisania, dlatego niezbedne jest przeniesienie stosu w inny obszar RAMu (typowo na koniec) pierwszym zespołem rozkazów po resecie mikrokontrolera.

Wskaźnik stosu powinien zostać ustawiany na najwyższym adresie wewnętrznej pamięci SRAM znanym procesorowi pod zdefiniowana nazwa ramendczyli „end of RAM” (mikrokontrolerze AT90S8515 jest to adres $025F). Stos jest budowany od końca RAM-u wstecz. Po programowym zlozeniu na stosie jednego bajtu (rozkazem push) wskaźnik stosu

10



Wyszukiwarka

Podobne podstrony:
202 Nowoczesne systemy zarządzania człowieka jest plastyczny, ale nie wszystko jest możliwe. Zarządz
Laboratorium Techniki Mikroprocesorowej 2 - EZ1C600 034SZCZEGÓŁOWY PROGRAM LABORATORIUM 1.
Scan0096 (8) Nie jest u siebie. Reginald był nieprzyjemny, ale nie niebezpieczny, a nawet nie kręcił
Politechnika Wrocławska Podstawy techniki mikroprocesorowej ETEW006 Struktura portów Szeregowa
ANSI C 8 4 FUNKCJE I STRUKTURA PROGRAMU Jest jeszcze jedna rzecz, o którą należy się zatroszczyć -
3 (208) 3. 45V, co jest nieprzyjemne, ale jeszcze niespecjalnie bolesne. Wraz z kolejnymi złymi odpo
Jeśli poszkodowany jest nieprzytomny ale oddycha i ma wyczuwalne tętno układamy go w pozycji bo
Poszkodowany jest nieprzytomny, ale oddycha Warto zacząć od pojęcia pozycji bezpiecznej, inaczej mów
skanuj0029 (21) Mutacja a polimorfizm • Przyczyną każdego polimorfizmu jest mutacja, ale... a ...nie
skanuj0029 (21) Mutacja a polimorfizm • Przyczyną każdego polimorfizmu jest mutacja, ale... a ...nie
page0253 243 wym. Cała znana substancya przedmiotu zewnętrznego jest więc zawarta w tem drganiu; jes
16273 PAWLUCZUK ŻYWIOŁ I FORMA (3) Ono zostanie takie, jakie jest, i księżyc zostanie taki, jaki jes

więcej podobnych podstron