C'è qualche anima pia che possa dedicarmi un po' del suo tempo e darmi una mano per risolvere il problema?????
Andrew
Ecco il listato:
- Codice: Seleziona tutto
main:
BANKSEL PORTE
CLRF PORTE ; inizializzazione porte
BANKSEL TRISE
CLRF TRISE ; portE uscita
BSF TRISE,RE2 ; RE2 impostato come ingresso
BANKSEL ANSELH
CLRF ANSELH ; canali analogici da 8 a 14 come digitali
BANKSEL ANSEL
CLRF ANSEL ; canali analogici da 0 a 7 come digitali
BSF ANSEL,ANS7 ; canale ANS7 impostato come analogico
BANKSEL ADCON0
MOVLW B'00011100' ; selezione canale ANS7
MOVWF ADCON0
BANKSEL ADCON0
BSF ADCON0,ADCS0 ;selezione divisore di frequenza Fosc/8
BANKSEL ADCON0
BSF ADCON0,ADON ; abilitazione ADC
BANKSEL ADCON1
BSF ADCON1,ADFM ; risultato giustificato a destra
BANKSEL 20H
MOVLW 15H
MOVWF 20H
DECFSZ 20H,F
GOTO $-1 ; loop di ritardo per acquisizione
BANKSEL ADCON0
BSF ADCON0,GO ; avvia la conversione
BANKSEL ADCON0
BTFSC ADCON0,GO ; attendi la fine della conversione
GOTO $-1
BANKSEL ADRESH
MOVF ADRESH,W
MOVWF 110H ; sposta la parte alta della conversione in 110h
BANKSEL ADRESL
MOVF ADRESL,W
MOVWF 190H ; sposta la parte bessa della conversione in 190h
comp
BANKSEL 110H
MOVF 110H,W
SUBLW 00H ; confronto tra il risultato dell'ADC e la parte alta della soglia
BANKSEL STATUS
BTFSS STATUS,C ; test C: se 0 vai a sopra, se 1 vai a sotto
GOTO sopra
sotto
BANKSEL 190H
MOVF 190H,W
SUBLW 1FH ; confronto tra risultato ADC e parte bassa soglia
BANKSEL STATUS
BTFSS STATUS,C ; test C: se 0 vai a sopra1, se 1 vai a sotto1
GOTO sopra1
sotto1
BANKSEL PORTD
CLRF PORTD
BANKSEL TRISD
CLRF TRISD ; portd impostato come uscita
BANKSEL PORTD
BCF PORTD,RD4 ; uscita bassa
BSF PORTD,RD2 ; uscita alta
BSF PORTD,RD6 ; uscita alta
CALL ritardo
BANKSEL PORTD
CLRF PORTD
BANKSEL PORTD
BCF PORTD,RD2 ; uscita bassa
BSF PORTD,RD0 ; uscita alta
BSF PORTD,RD6 ; uscita alta
CALL ritardo
BANKSEL PORTD
CLRF PORTD
BANKSEL PORTD
BCF PORTD,RD6 ; uscita bassa
BSF PORTD,RD0 ; uscita alta
BSF PORTD,RD4 ; uscita alta
CALL ritardo
BANKSEL PORTD
CLRF PORTD
BANKSEL PORTD
BCF PORTD,RD0 ; uscita bassa
BSF PORTD,RD2 ; uscita alta
BSF PORTD,RD4 ; uscita alta
CALL ritardo
BANKSEL 40H
INCF 40H,F ; incrementa registro 40h
MOVLW 64H
XORWF 40H,W ; confronto tra registro 40h e accumulatore
BTFSS STATUS,Z ; test Z: se 0 vai a sotto1, se 1 vai a main
GOTO sotto1
GOTO main
sopra
BANKSEL 190H
MOVF 190H,W
SUBLW 1FH ; confronto tra parte bassa risultato ADC e soglia
BANKSEL STATUS
BTFSS STATUS,C ; test C: se 0 vai a sotto, se 1 vai a sotto1
GOTO sotto
sopra1:
BANKSEL PORTD
CLRF PORTD
BANKSEL TRISD
CLRF TRISD ; portd impostato come uscita
BANKSEL PORTD
BCF PORTD,RD6 ; uscita bassa
BSF PORTD,RD2 ; uscita alta
BSF PORTD,RD4 ; uscita alta
CALL ritardo1
BANKSEL PORTD
CLRF PORTD
BANKSEL PORTD
BCF PORTD,RD2 ; uscita bassa
BSF PORTD,RD0 ; uscita alta
BSF PORTD,RD4 ; uscita alta
CALL ritardo1
BANKSEL PORTD
CLRF PORTD
BANKSEL PORTD
BCF PORTD,RD4 ; uscita bassa
BSF PORTD,RD0 ; uscita alta
BSF PORTD,RD6 ; uscita alta
CALL ritardo1
BANKSEL PORTD
CLRF PORTD
BANKSEL PORTD
BCF PORTD,RD0 ; uscita bassa
BSF PORTD,RD2 ; uscita alta
BSF PORTD,RD6 ; uscita alta
CALL ritardo1
BANKSEL 50H
INCF 50H,F ; incemente registro 50h
MOVLW 64H
XORWF 50H,W ; confronto tra registro 50h e accumulatore
BTFSS STATUS,Z ; test Z: se 0 vai a a sopra1, se 1 vai a main
GOTO sopra1
GOTO main
ritardo ; subroutine di ritardo per visualizzare la combinazione d'uscita
BANKSEL 30H
MOVLW 0FFH
MOVWF 31H
rit1 MOVWF 30H
DECFSZ 30H,F
GOTO $-1
DECFSZ 31H,F
GOTO rit1
RETURN
ritardo1 ; subroutine di ritardo per visualizzare la combinazione d'uscita
BANKSEL 60H
MOVLW 0FFH
MOVWF 61H
rit2 MOVWF 60H
DECFSZ 60H,F
GOTO $-1
DECFSZ 61H,F
GOTO rit2
RETURN
END

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
