Page 37 - Microcontrolere - Indrumator de laborator
P. 37

BANKSEL(T2CON)
                 BSF           T2CON, 2       ; sau BSF  T2CON, TMR2ON
                                              ; se pornește modul Timer2
          main_1: BANKSEL(COUNT)
                 MOVLW         100
                 MOVWF         COUNT          ; se setează numărul de repetări
                 BANKSEL(PORTA)
                 BSF           PORTA, 4       ; la pinul RA4 avem o tensiune de 5V
          adr_0:  GOTO         $
                 BANKSEL(COUNT)
                 DECFSZ        COUNT, 1
                 GOTO          adr_0
                 BANKSEL(COUNT)
                 MOVLW         100
                 MOVWF         COUNT          ; se setează numărul de repetări
                 BANKSEL(PORTA)
                 BCF           PORTA, 4       ; la pinul RA4 avem o tensiune de 0V
          adr_1:  GOTO         $
                 BANKSEL(COUNT)
                 DECFSZ        COUNT, 1
                 GOTO          adr_1
                 GOTO          main_1
                 ; PSECT rdi, class = CODE, reloc = 2
          rdi:   ; subrutina de tratare a întreruperii TMR2IF
                 ; are rolul de a șterge bitul TMR2IF după acceptarea întreruperii
                 BCF           INTCON, 7
                 BANKSEL(PIR1)
                 BCF           PIR1, 1  ; se șterge bitul TMR2IF pentru a putea
                                      ; să indice o nouă întrerupere
                 CLRF          TMR2  ; este în același bank cu PIR1
                                      ; se asigură val 0 în TMR2 la începutul
                                      ; unui nou interval de temporizare
                 RETFIE               ; se revine din rutina de deservire a întreruperii
                                      ; cu validarea întreruperilor
          ; Observație. Linker-ului trebuie să i se dea o comandă suplimentară -Wl,
          ; -prdi=0x100,-pvector_de_intrerupere=0x0004
                 END start

            3.2. Asamblați și link-editați proiectul (funcția build project) în cadrul mediului de
          dezvoltare integrat MPLAB X IDE produs de către compania Microchip. 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).

                                              34
   32   33   34   35   36   37   38   39   40   41   42