- Codice: Seleziona tutto
movf Soglia1, W
subwf valSensoreMarcia,W
btfss STATUS,C ; C = 1 ?
goto n1 ; No ! ( cioè valSensore < valSoglia1)
goto s2
in pratica valSensore arriva dalla conversione a/d ed Soglia1 è un valore in binario che immetto io
i miei dati sono
;Soglia1 EQU b'00101100' ;0,86v
Soglia2 EQU b'01000001' ;1,27v
Soglia3 EQU b'01100010' ;1,91v
sul piedino an ho 1,5 volt ma ho verificato che il programma esegue come se valSensoreMarcia<soglia1
La verifica l'ho fatta facendo accendere un led se il programma va ad n1 oppure un altro led se il programma va ad s2, e va tutte le volte su n1 quindi c=0 quindi valSensoreMarcia < Soglia1
ho provato a cambiare soglia1 mettendola o b'00000000' ma niente da fare continua a rimanere con il C=0
L'ad converte è inizializzato cosi
- Codice: Seleziona tutto
banksel ADCON1
movlw b'01010000' ;Fosc/16
movwf ADCON1
banksel ADCON0
movlw b'00001001' ;0ADFMLeftJustified,0Vdd,0010AN2,0NotinProgres,1AdEnabled
movwf ADCON0
La conversione è
- Codice: Seleziona tutto
Conversione
banksel ADCON0
bsf ADCON0, GO ;inizio conversione
btfsc ADCON0, GO ;fatta la conversione?
GOTO $-1 ;no, testa ancora
movf ADRESH, W ;leggiamo i bit più importanti
movwf valSensore
banksel ADCON1 ;BANK1
MOVF ADRESL,W ;LEGGI I BIT MENO IMPORTANTI
BANKSEL ADCON0
MOVWF risultatlo
return
idee su quale può essere il problema?? prove che posso fare ?


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)