Programarea Microcontrollerelor în Limbaj de Asamblare

Laborator
7/10 (1 vot)
Domeniu: Automatică
Conține 1 fișier: doc
Pagini : 9 în total
Cuvinte : 1476
Mărime: 37.17KB (arhivat)
Publicat de: Panait Rotariu
Puncte necesare: 0
Profesor îndrumător / Prezentat Profesorului: Ioan Susnea
O lucrare de laborator, pe tema aferenta cursului de "Proiectarea sistemelor cu microprocesoare", la Facultatea de Automatica din Universitatea Dunarea de Jos din Galati.

Extras din laborator

1. Denumirea lucrarii: Programarea microcontrollerelor in limbaj de asamblare

2. Obiectivele lucrarii

- Familiarizarea cu un cross assembler

- Deprinderea cunostintelor necesare pentru crearea unui proiect software in limbaj de asamblare

- Analiza catorva programe simple in limbaj de asamblare cu microcontrollerul HC11

3. Descrierea cross-assembler-ului 2501 AD

3.1. Fisierele de lucru

Programul sursa propriu-zis in limbaj de asamblare este localizat de obicei intr-unul sau mau multe fisiere cu extensia .ASM.

In urma asamblarii, rezulta un fisier, cu extensia .OBJ continand asa-numitul “cod-obiect” – care contine deja programul in limbaj masina, dar inca nu este “cod executabil”. Transformarea finala din cod obiect in cod executabil o face linker-ul. Procesul este prezentat schematic in figura 1.

Figura 1. Schema de procesare a informatiei in cursul asamblarii

Linker-ul produce fisierul cu cod executabil si actualizeaza fisierele de listare .LST cu valorile finale ale variabilelor definite simbolic (adrese de salt, etc.).

In cazul microcontrollerului HC11, fisierul de iesire al linker-ului are de obicei extensia S19.

3.2. Principalele directive recunoscute de asamblorul 2501 AD

O “directiva” este o comanda adresata assembler-ului.

Directivele sunt inserate in fisierul sursa, exact ca si instructiunile de program, dar nu genereaza in mod direct cod, ci doar influenteaza procesul de generare a codului si de listare.

Cross assembler-ul 2501 AD admite o lista lunga de directive, dar in lucrarea de fata vom prezenta doar cateva din cele mai importante.

a. Directiva EQU – definire ecuatie

Cu ajutorul acestei directive se definesc nume simbolice pentru constante. Un exemplu tipic de utilizare a acestei directive este pentru definirea adreselor resurselor (registrele interfetelor, porturi de intrare-iesire etc.) unui microcontroller.

Sintaxa generala de invocare a adirectivei EQU este urmatoarea:

NUME_SIMBOLIC EQU constanta_numerica ;comentariu

Exemple:

REGBASE EQU $0000 ;adresa de inceput

PORTA EQU REGBASE+0

DDRA EQU REGBASE+1

DDRB EQU REGBASE+2 ;etc.

Nota: Numele simbolic incepe intotdeauna din coloana 0 a liniei de program

b. Directiva INCLUDE

Sintaxa:

INCLUDE <filename>

Are ca efect includerea in fisierul sursa curent, in pozitia curenta, continutul unui fisier sursa specificat.

Scopul acestei directive este sa permita organizarea modulara a fisierelor sursa, in module refolosibile.

De exemplu toate adresele resurselor asociate cu un anumit microcontroller pot fi definite intr-un fisier distinct. Acest lucru este util atunci cand se lucreaza cu “familii” de microcontrollere, care au resursele amplasate diferit in harta memoriei si uneori chiar denumite diferit. In aceste cazuri se creaza fisiere distincte cu definitiile resurselor, care se invoca ulterior cu ajutorul directivei INCLUDE.

Preview document

Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 1
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 2
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 3
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 4
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 5
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 6
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 7
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 8
Programarea Microcontrollerelor în Limbaj de Asamblare - Pagina 9

Conținut arhivă zip

  • Programarea Microcontrollerelor in Limbaj de Asamblare.doc

Alții au mai descărcat și

Plăci de extensie

Argument In prima jumatate a secolului al XX-lea, nevoile de calcul ale comunitatii stiintifice erau satisfacute de calculatoare analoage, foarte...

Sisteme cu microprocesoare - îndrumar de laborator

LUCRAREA NR. 1 COMPONENTELE MEDIULUI INTEGRAT C++ BUILDER 1. Obiectivele lucrării: a) Însuşirea modului de utilizare a celor mai importante...

Curs Programare C++

Cap 1. Reprezentarea informaţiilor 1.1 Reprezentarea numerelor întregi în sistemul binar Un număr natural se reprezintǎ ca o colecţie de cifre....

Curs PLC

Obiective: Controler-ul logic programabil (PLC) a aparut ca o alternativa reutilizabila, ieftina, flexibila si sigura la panourilor cu relee...

Îndrumar de laborator - sisteme cu microprocesare

Introducere Microcontrolerele din familia MCS-51 au o arhitectura interna bazata pe cea a microprocesoarelor de uz general. Diferentele fata de...

Sisteme cu Microprocesoare

L1. Microsistemul cu microprocesor 8085 EMAC Universal Trainer Obiective - Să cunoască resursele hardware ale microsistemului; - Să înţeleagă...

Programare în Limbaj de Asamblare

De ce utilizăm limbajul de asamblare ? compilatoarele translatează codul sursă in limbaj (cod) maşină; îndepărtare de limbajul de asamblare, dar...

Te-ar putea interesa și

Framework Pentru Administrarea Rețelelor de Calculatoare

Rezumat Prin această lucrare ne propunem realizarea unei aplicaţii software care să ajute un utilizator sau administrator de reţea Linux să...

Proiectarea și Realizarea unui Vehicul Autonom cu Tracțiune Diferențială Realizată cu Motoare Pas cu Pas

Rezumat Lucrarea de licenţa cu titlul ,,Proiectarea si realizarea unui vehicul autonom cu tracţiune diferenţiala realizată cu motoare pas cu pas’’...

Medii de Programare Pentru Microcontrollere

1.TEMA 1. Deplasarea unui text dat pe afişor, care să conțină minim 8 caractere, la alegere, cu posibilitatea de comandă de pe tastatura unui PC...

Electronică Aplicată

1. ELEMENTE INTRODUCTIVE REFERITOARE LA CONDUCEREA PROCESELOR INDUSTRIALE DIN PERSPECTIVA SISTEME INTELIGENTE HARDWARE-SOFTWARE DE MĂSURARE ŞI...

Bazele Sistemelor Mecatronice

1. INTRODUCERE 1.1 Conceptul de mecatronica: definitie; modele Termenul mecatronica (MECAnica + elecTRONICA) a fost conceput în 1969 de un...

Ai nevoie de altceva?