Page 16 - Microcontrolere - Indrumator de laborator
P. 16

#include “xc.inc”
                 PSECT udata_bank0    ; se declară cinci variabile care vor fi memorate
                                      ; în memoria de date, bank-ul 0, în zona de
                                      ; locații de uz general, fiecare variabilă ocupă
                                      ; un octet
          VAR_1:        DS     1
          VAR_2:        DS     1
          RES_HIGH:     DS     1
          RES_LOW:      DS     1
          COUNT:        DS     1
                 PSECT code
          start:
                 BANKSEL(VAR_1)
                 CLRF     RES_HIGH
                 CLRF          RES_LOW
                 MOVLW         7h             ; 0 ≤ valoarea ≤ 255
                 MOVWF         VAR_1          ; se inițializează VAR_1
                 MOVLW         3h             ; 0 ≤ valoarea ≤ 255
                 MOVWF         VAR_2          ; se inițializează VAR_2
                     MOVLW     8
                 MOVWF         COUNT
                 MOVF          VAR_1, 0
                     BCF       STATUS, 0

          adr_x:    RRF          VAR_1, 1
                     BTFSC      STATUS, 0
                     ADDWF      RES_HIGH, 1
                     RRF          RES_HIGH, 1
                    RRF          RES_LOW, 1
                     DECFSZ     COUNT, 1
                     GOTO       adr_x
                 NOP
                 END start     ; Observație. Acest program are la bază un exemplu
                               ; de calcul standard oferit de către compania Microcip.

             3.2. Asamblați și link-editați proiectul (funcția build project). Eventualele erori de
          sintaxă și format se corectează.
             3.3. Se lansează în execuție facilitatea de depanare a proiectului și se urmărește
          conținutul  zonelor  de  memorie  de  date  ale  microcontrolerului  (date  de  uz  general,
          registre cu funcții speciale, memoria EEPROM).
             3.4. Cu  ajutorul  setului  de  instrucțiuni  al  microcontrolerului  PIC16F887  se
          determină  funcția  matematică  descrisă  în  fișierul  sursă  indicat  mai  sus,  respectiv
          rezultatul obținut. Se verifică rezultatul obținut și pentru altă pereche de valori.

                                              13
   11   12   13   14   15   16   17   18   19   20   21