Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema A/d converter pic16f690

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Problema A/d converter pic16f690

Messaggioda Foto Utenteplanet » 25 mar 2011, 13:57

Ciao a tutti ho incontrato un problema nel confrontare il valore che mi arriva dalla conversione analogico digitale
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 ? :ok:
Avatar utente
Foto Utenteplanet
0 2
 
Messaggi: 16
Iscritto il: 25 ott 2010, 19:29

0
voti

[2] Re: Problema A/d converter pic16f690

Messaggioda Foto Utenteplanet » 28 mar 2011, 15:36

Ciao ho trovato l'errore, si trattava del fatto che soglia1 è un litteral di conseguenza non potevo utilizzare movf!
Avatar utente
Foto Utenteplanet
0 2
 
Messaggi: 16
Iscritto il: 25 ott 2010, 19:29


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti