SORGENTE E VIDEO


- 2 led che lampeggiano per circa 1 secondo in modo alternato

- 1 led fisso acceso


; RB3 E RB5 LAMPEGGIANO ALTERNATIVAMENTE PER 1 SECONDO.

; QUANDO RB3 E' ACCESO RB5 E' SPENTO E VICEVERSA.

; RB7 FISSO ACCESO

#INCLUDE "p16F877A.inc"

LIST P=16F877A, F=INHX8M

__CONFIG 0X3F3A


; DICHIARA LE VARIABILI

RIT1 EQU 22H;

RIT2 EQU 23H;

RIT3 EQU 24H;

;


ORG 00 ; INDIRIZZO INIZIO PROGRAMMA

GOTO INIZIO ; SALTA SUBROUTINE INTERRUPT

ORG 04 ; INDIRIZZO SUBROUTINE INTERRUPT

;

;

;

RETFIE ; RITORNA AL PUNTO IN CUI L'INTERRUPT E' STATO ATTIVATO

INIZIO: ; PROGRAMMA PRINCIPALE, VIENE ESEGUITO DOPO UN RESET O BLACK OUT

; DA QUI IN AVANTI VA SCRITTO IL PROGRAMMA

BCF STATUS,6;

BSF STATUS,5;

MOVLW 0X00;

MOVWF TRISB;

BCF STATUS,5;

MAIN:

BSF PORTB,7; ACCESO FISSO

BSF PORTB,5; ACCESO PER 1 SECONDO

BCF PORTB,3; SPENTO PER 1 SECONDO

CALL DELAY; CHIAMA RITARDO DI 1 SECONDO

BCF PORTB,5; SPENTO PER 1 SECONDO

BSF PORTB,3; ACCESO PER 1 SECONDO

CALL DELAY; CHIAMA RITARDO DI 1 SECONDO

GOTO MAIN; RIPETE CICLO

DELAY:

; SISTEMA VALORE DI PARTENZA VARIABILI

CLRF RIT1;

CLRF RIT2;

MOVLW 0X0A;

MOVWF RIT3;


DELAY1:

; CREA DECREMENTI PER OTTENERE IL RITARDO DI 1 SECONDO (CIRCA)

DECFSZ RIT1,1;

GOTO DELAY1;

DECFSZ RIT2,1;

GOTO DELAY1;

DECFSZ RIT3,1;

GOTO DELAY1;

RETURN;

END ;ISTRUZIONE CHE INDICA AL COMPILATORE CHE E' FINITO IL PROGRAMMA


video del funzionamento del programma su easypic3: