mi potete dare un aiuto per risolvere questo problema? Nel tentativo di comprendere il funzionamento dei convertitori ADC ho fatto diverse prove con uno 0804 poi sono passato ADC del PIC 16f876a ho realizzato un circuito di prova dove utilizzo la porta RA0 come ingresso analogico ed ho collegato un potenziometro multigiro da 1K, utilizzo il registro ANDRESH per avere una risoluzione a 8 bit da visualizzare sulla PORTC dove ho collegato 8 led.Il risultato è che i led si accendono e si spengono anche se la tensione ti ingresso non varia avrei bisogno di qualche indicazione pratica visto che mi sono letto e riletto tutto quello che ho trovato in rete e fatto varie simulazioni utilizzando anche Vref+ Vref- naturalmente cambiando i seggi di ADCON1.
questo è il File sorgente:
- Codice: Seleziona tutto
;----------------------------------------------------------------------------------------------
; Prog. TERMGRI =confronto di due variabili,conteggio esa con pulsanti up/down e antirimbalzo
;----------------------------------------------------------------------------------------------
ERRORLEVEL -205
PROCESSOR 16F876A
RADIX DEC
INCLUDE "P16F876A.INC"
ERRORLEVEL -302
ERRORLEVEL -203
ERRORLEVEL -207
; Setup del PIC configuratione word dei flags
;---------------------------------------------------
;Abilitato HS x oscillatore a 20MHz
;Disabilitato watch dog timer WDT
;Abilitato power up timer PWRT
;Disabilitato code protect CP
__CONFIG 11111100110010b
D_CONT equ 20H
H_CONT equ 21H
L_CONT equ 22H
R_CONT equ 23H
A_CONT equ 24H
#DEFINE LED PORTA,1
START
ORG 00H ;INDIRIZZO area PROGRAMMA ;Punto di inizio del programma al reset della CPU
;----------impostazione registro ADC del PIC ------------------
movlw 10000001b ;(bit7-6 definisce clok =Fosc/32 20MHz è l'unica frequenza efficace per la conversione a 8 bit )
;(5,4,3 definiscono RA0 ingresso analogico)(2 GO/DONE =1 inizio conversione 0=fine conversione)
movwf ADCON0 ;(0 ADON=1 abilita convertitore)
bsf STATUS,RP0 ;Commuta su Bank1 dei registri per accedere ai registri ADCON1,TRISA,TRISB e TRISC
movlw 00001110b ;ho optato per allineamento bit a sinistra (bit7 ADFM=0)quindi il registro ADRESH contiene 8bit
movwf ADCON1 ;e il registro ADRESL i restanti 2 bit del convertitore ADC che è ha 10 bit. i bit 3,2,1,0 sono ;=1110
;perche uso come tensione di riferimento il positivo e il negativo del'alimentazione del PIC
;-------------Definizione delle linee di I/O (0=Uscita, 1=Ingresso)----------------
movlw 00110001b ;Definizione della porta A
movwf TRISA
movlw 00000000b ;Definizione della porta B
movwf TRISB
movlw 00000000b ;Definizione della porta C
movwf TRISC
bcf STATUS,RP0 ;Commuta su Bank0 dei registri
;---------------------------------Inizio programma -----------------------------------------
;------------------------------------------------------------------------------------------------
call Tempo_acquisizione
bcf PIR1,ADIF ;bit7
bsf ADCON0,2 ;bit2 GO/DONE=1 avvia la conversione
btfsc ADCON0,2 ;verifica bit 2 GO/DONE se =0 conversione avvenuta
goto $-1
call Tempo_conversione
Movf ADRESH,W
Movwf PORTC ; sulla PORTC ho collegato 8 led per visualizzare il valore del registro
goto START
; --------------------Ritardo per conversione ADC ------------------
Tempo_acquisizione
movlw 255
movwf D_CONT
movlw 64
movwf H_CONT
movlw 30
movwf L_CONT
Loop
decfsz D_CONT,F
goto Loop
decfsz H_CONT,F
goto Loop
decfsz L_CONT,F
goto Loop
return
;--------------------------------------------------------------------
;consente al condensatore interno al PIC di caricarsi completamente
Tempo_conversione
BSF LED
movlw 20
movwf R_CONT
decfsz R_CONT,F
goto $-1
bcf LED
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)



