Esercitazioni
PIC - Assembly
|
Ecco un esempio semplice di file sorgente Assembly:
;********************************************************
;--------------------------------------------------------
;
; Titolo : Corso Assembly & C - Esercitazione 1A_519
; Accendere un LED collegato al pin GP5.
; Il LED si accende all' arrivo della tensione
; di alimentazione e rimane acceso finchè questa
; è presente.
; PIC : 12F519
; Supporto : MPASM
; Versione : 1.0
; Data : 01-05-2013
; Ref. hardware : 1A_519-sch
; Autore : afg
;
;--------------------------------------------------------
;
; Impiego pin :
; ----------------
; 12F519 @ 8 pin
;
; |¯¯\/¯¯|
; Vdd -|1 8|- Vss
; GP5 -|2 7|- GP0
; GP4 -|3 6|- GP1
; GP3/MCLR -|4 5|- GP2
; |______|
;
; Vdd 1:
+
; GP5/OSC1/CLKIN 2: Out - LED alla Vss (R in serie)
; GP4/OSC2 3:
; GP3/!MCLR/VPP 4:
; GP2/T0CKI 5:
; GP1/ICSPCLK 6:
; GP0/ICSPDAT 7:
; Vss 8:
-
;
;********************************************************************
LIST p=12F519 ; Definizione del processore
#include <p12F519.inc>
radix dec
;####################################################################
;====================================================================
;= CONFIGURAZIONE =
;====================================================================
; Oscillatore interno, no WDT, no CP, pin4=GP3
__config
_IntRC_OSC & _IOSCFS_4MHz & _WDTE_OFF & _CP_OFF & _CPDF_OFF & _MCLRE_OFF
;####################################################################
;====================================================================
;=
MAIN
PROGRAM =
;====================================================================
; movlw valore_calibrazione prima istruzione intrinseca
; Reset Vector
RES_VEC ORG 0x00
; calibrazione oscillatore interno
movwf
OSCCAL
; inizializzazioni dell' I/O al reset
clrf
GPIO ; preset GPIO latch a 0
; Assegna a GP5 la funzione di uscita digitale
; TRISGPIO xx011111 GP5 out
movlw
b'11011111'
tris
GPIO ; al registro direzione
; accende LED portando a livello 1 il pin GP5
bsf
GPIO,GP5
; blocco - loop chiuso
goto
$
;********************************************************************
; fine sorgente
END |
Vediamo di capire qualcosa di più.
|