w3_asembler.pdf
(
88 KB
)
Pobierz
Programowanie mikrokontrolerów - Asembler AVR, cz¦±¢ 1
Programowanie mikrokontrolerów
Asembler AVR, cz¦±¢ 1
Marcin Engel Marcin Peczarski
InstytutInformatykiUniwersytetuWarszawskiego
23 wrze±nia 2010
Struktura programu w Asemblerze
I
Program zaczyna si¦ dyrektyw¡
.INCLUDE
, która wł¡cza
definicje niezb¦dne dla konkretnego modelu mikrokontrolera.
I
Dla ATmega16 b¦dzie to
.INCLUDE"m16def.inc"
I
lub
.INCLUDE"C:\VMLAB\include\m16def.inc"
I
lub
.INCLUDE"C:\PROGRA~1\vmlab\include\m16def.inc"
I
Wł¡czany plik zawiera dyrektyw¦:
.DEVICEATmega16
I
Dyrektywy
.INCLUDE
mo»emy równie» u»y¢ w dowolnym
miejscu programu do wł¡czenia kodu umieszczonego w innym
pliku.
Struktura programu w Asemblerze, cd.
I
Program składa si¦ z trzech segmentów odpowiadaj¡cych
poszczególnym przestrzeniom adresowym mikrokontrolera:
.DSEG ;segmentdanych,SRAM
.ESEG ;segmentdanychnieulotnych,EEPROM
.CSEG ;segmentkodu,FLASH
I
Segmenty mo»na dowolnie przeplata¢.
Definiowanie stałych symbolicznych
I
Stałe mo»emy definiowa¢ nast¦puj¡co
.EQUstała=wyra»enie
.SETstała=wyra»enie
I
Dyrektywa
.EQU
działa jednorazowo.
I
Dyrektywa
.SET
pozwala na wielokrotne przedefiniowywanie
stałej.
I
Przykłady:
.EQUSYS_FREQ=16
.EQUBLINKER_HALF_PERIOD=3*SYS_FREQ
Alternatywne nazwy rejestrów
I
Aby poprawi¢ czytelno±¢ kodu, rejestrom mo»na przypisywa¢
nazwy dyrektyw¡
.DEF
.
I
W ten sposób zdefiniowano rejestry
XL
,
XH
,
YL
,
YH
,
ZL
i
ZH
.
I
Przykład:
.DEFAKUMULATOR=R16
LDIAKUMULATOR,7 ;wykonasi¦LDIR16,7
Plik z chomika:
uniwel
Inne pliki z tego folderu:
w11_i2c.pdf
(264 KB)
w10_rs232.pdf
(111 KB)
w12_misc.pdf
(139 KB)
w13_mem.pdf
(119 KB)
w15_faz.pdf
(133 KB)
Inne foldery tego chomika:
ADC TESTING - Dokumenty Google_files
ATtiny2313 AT90S2313 _rozne
Dokumentacja PDF mikrokontrolerów AVR
EvB4.3
Mikrokontrolery
Zgłoś jeśli
naruszono regulamin