Page 24 - Microcontrolere - Indrumator de laborator
P. 24

3.  Desfășurarea lucrării
             3.1. Cu ajutorul  mediului integrat de dezvoltare MPLAB X IDE oferit de către
          compania  Microcip,  se  creează  un  nou  proiect  care  va  fi  implementat  în  limbaj  de
          asamblare. În directorul „header” al proiectului este inclus fișierul xc.inc, fișier care se
          găsește  în  directorul  compilatorului  XC8.  În  directorul  „surse”  este  încărcat  fișierul
          sursă Test_2.s care are conținutul indicat în continuare. Programul conține o rutină de
          temporizare necesară generării la un pin de ieșire al microcontrolerului a unui semnal
          digital periodic cu o anumită durată a impulsurilor.

                 TITLE “Aplicația nr. 2”
                 SUBTITLE “Aplicație de testare a unei semnalizări luminoase”
                 PROCESSOR 16F887
                 CONFIGURE     WDE = off      ; se pot seta și alți biți de configurare
                 #include “xc.inc”
                 PSECT udata_bank0    ; se declară o variabilă care va fi memorată
                                      ; în memoria de date, bank-ul 0, în zona de
                                      ; locații de uz general, variabila ocupă
                                      ; un octet
          COUNT1:       DS     1
          COUNT2:       DS     1
                 PSECT code
                 start:   ; semnalul de tact generat intern cu frecvența de 4 MHz
                        BANKSEL(OSCCON)
                        MOVLW         67H
                        MOVWF         OSCCON
                        ; se invalidează sistemul de întreruperi al microcontrolerului
                        BANKSEL(INTCON)
                        BCF           INTCOM, 7
                        ; se aleg pinii RA4 - RA7 pentru comanda sistemului de iluminare
                        BANKSEL(PORTA)
                        MOVLW         0
                        MOVWF         PORTA
                        BANKSEL(TRISA)
                        MOVLW         0FH
                        MOVWF         TRISA  ; pinii RA4-RA7 sunt pini de ieșire
                        BANKSEL(ANSEL)
                        CLRF          ANSEL  ; se anulează celelalte funcții analogice
                                               ; ale pinilor RA4-RA7
                 adr_0:  BANKSEL(PORTA)
                        BSF           PORTA, 4 ; la pinul RA4 avem o tensiune de 5V
                        CALL          adr_1   ; se apelează subrutina de temporizare
                        BANKSEL(PORTA)
                        BCF           PORTA, 4 ; la pinul RA4 avem o tensiune de 0V

                                              21
   19   20   21   22   23   24   25   26   27   28   29