Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;DIRETTIVE
- list p = 16f84A
- #include <p16f84A.inc> ;definizione variabili specifiche processore
- errorlevel -302
- ;DEFINIZIONE DI COSTANTI E VARIABILI
- #define TRISB_OUT B'00000000' ;impostazione TRSIB per tutti i pin out
- #define VERDE2 B'01000001'
- #define VERDEGIALLO2 B'01100001'
- #define VERDE1 B'00010100'
- #define VERDEGIALLO1 B'00010110'
- #define ROSSO B'00010001'
- CBLOCK 0x20
- IMPOSTA
- CONTATORE ;contatore per ritardo
- ENDC
- ;INIZIALIZZAZIONE
- BSF STATUS,5 ;banco 1
- MOVLW TRISB_OUT
- MOVWF TRISB
- MOVLW B'10000100' ;clock timer interno, prescaler 1/32
- MOVWF OPTION_REG ;overflow in 8.2ms
- BCF STATUS,5 ;banco 0
- ;PROGRAMMA
- inizio
- MOVLW VERDE1
- MOVWF PORTB
- MOVLW .244
- MOVLW IMPOSTA
- CALL ritardo
- MOVLW VERDEGIALLO1
- MOVWF PORTB
- MOVLW .61
- MOVWF IMPOSTA
- CALL ritardo
- MOVLW ROSSO
- MOVWF PORTB
- MOVLW .244
- MOVLW IMPOSTA
- CALL ritardo
- MOVLW VERDE2
- MOVWF PORTB
- MOVLW .244
- MOVWF IMPOSTA
- CALL ritardo
- MOVLW VERDEGIALLO2
- MOVWF PORTB
- MOVLW .61
- MOVWF IMPOSTA
- CALL ritardo
- GOTO inizio
- ritardo
- MOVFW IMPOSTA ;ritardo variabile
- MOVWF CONTATORE
- loopesterno
- CLRF TMR0 ;resetta registro timer
- BCF INTCON,T0IF ;resetta flag timer
- GOTO loopinterno
- loopinterno
- BTFSS INTCON,T0IF ;attendi se flag timer non settato
- DECFSZ CONTATORE,1 ;decrementa contatore ritardo
- RETURN
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement