Page 10 - Microcontrolere - Indrumator de laborator
P. 10

Astfel, în Fig.1.1 este indicată reprezentarea binară pe 14 biți a instrucțiunii
          cu mnemonica ADDLW care include în codul său binar și o constantă reprezentată pe
          cei  mai  puțin  semnificativi  8  biți.  Instrucțiunea  este  executată  într-un  singur  ciclu
          mașină,  echivalent  ca  durată  cu  4  perioade  ale  semnalului  de  tact  al
          microcontrolerului,  iar  rezultatul  acesteia  este  reținut  în  registrul  W  al  unității
          aritmetice și logice din unitatea centrală.
                 De exemplu, pentru instrucțiunea în limbaj de asamblare ADDLW 3h, codul
          mașină executabil este 11111x00000100, cod ce va fi memorat în final într-una dintre
          locațiile de memorie ale memoriei program de tip Flash. În acest cod, x poate să ia
          valoarea 0 sau 1.
                 Programul  scris  în  limbaj  de  asamblare  este  convertit  în  cod  mașină
          executabil  cu  ajutorul  unui  program  de  asamblare,  numit  și  asamblor,  sau  folosind
          funcția BUILD din cadrul unui mediu integrat de dezvoltare IDE (lb. engl. Integrated
          Development  Environment,  de  exemplu  MPLAB®  X  IDE,  oferit  de  către  compania
          Microchip) util pentru programarea în limbaj de asamblare.
               2.2. Crearea și asamblarea unui fișier sursă
                 Fișierul sursă, conține programul care urmează a fi convertit în cod mașină. În
          numeroase  situații,  aplicația  software  poate  să  cuprindă  mai  multe  fișiere  sursă.  Un
          fișier sursă este creat cu un editor de text, iar formatul paginii va conține în principiu
          patru coloane.
            prima coloană   a doua coloană   a treia coloană   a patra coloană

            Adr_1:               GOTO           Adr_2         ; salt la Adr_2
            ; Adr_1 reprezintă denumirea simbolică / eticheta adresei fizice din memoria
            ; program la care va fi plasată instrucțiunea de salt necondiționat / ramificare a
            ; programului
                                 PSECT          code       ; directivă de asamblare
            ; se menționează că după această directivă urmează programul / codul sursă
            ; se pot declara mai multe secțiuni de program care încep la adrese
            ; diferite de memorie program
            ; Comentariul este precedat de „ ; ” și nu produce niciun efect la asamblare / nu
            ; este luat în considerare
            XYZ                    EQU          75            ; la asamblare, eticheta
            ; XYZ va fi înlocuită cu numărul 75 (în zecimal)
                                   PROCESSOR    16F887      ; este indicat tipul
            ; microcontrolerului utilizat
                                  #include      <xc.inc> ; la asamblare
            ; este folosit fișierul xc.inc, fișier în care sunt definite configurări,
            ; registrele cu funcții speciale din memoria de date, inclusiv la nivel de bit,
            ; pentru  microcontroler




                                               7
   5   6   7   8   9   10   11   12   13   14   15