![]() |
Come Impostare Pin Vref 12f683 Ciao a tutti, mi sto cervellando con un 12F683 :blink: , non riesco ad attivare il VREF, è il mio primo lavoro con i pic, sto imparando con il corso di Tanzilli. Ho impostato come segue: __CONFIG _FCMEN_ON & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_ON & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT BSF STATUS,RP0 ;BANK 1 MOVLW B'00001011' ;GP3 GP1 GP0 INPUT, IL RESTO OUT MOVWF TRISIO MOVLW B'00000011' ;IMPOSTA GP0 E GP1 ANALOGICO MOVWF ANSEL MOVLW B'10001100' ;IMPOSTA ATTIVA CVREF,CVREF HI, VR1 MOVWF VRCON BCF STATUS,RP0 ;BANK0 MOVLW B'01010100' ;IMPOSTA COMP. RIFERIMENTO INTERNO MOVWF CMCON0 MOVLW B'01000000' MOVWF ADCON0 END sul pin GPIO1 dovrei leggere la tensione di riferimento? o sbaglio? |
No, il pin Vref è di input; puoi selezionare come tensione di riferimento in base alla quale verranno fatte le misure dell'adc o la tensione di alimentazione del pic, o quella fornita sul pin Vref (A1). Vai a pagina 63 del datasheet e leggi bene :wink: ciao |
ok, ora devo andare al lavoro, stasera vedo , a presto grazie. :rolleyes: |
Ciao ragazzi, ho provato e riprovato a leggere e cercar di capire il datasheet, ma non cavo un ragno dal buco. ho provato a impostare ADCON0, ma non vedo nulla. forse erro nel misurare: dopo aver impostato il VRCON e il COMPARATORE con riferimento interno, la tensione Vref la posso misurare con un tester? Il piedino COUT del comparatore lo imposto come uscita nel GPIO? lo posso leggere con il BTFSS? |
Citazione:
Tu stai impostando un po' di registri del convertitore e un po' del comparatore. Nell'ordine: 1) definisci cosa ti serve fare e cosa ti serve usare. 2) Come ti hanno già detto, la tensione di Vref non è disponibile all'esterno. 3) Per comparatore e convertitore le tensioni di riferimento sono diverse: per il convertitore (VRef) puoi solo usarla in ingresso e per il comparatore (CVref) puoi generarla all'interno, ma non puoi farla uscire dal micro. 3) Se vuoi vedere all'esterno l'uscita del comparatore devi usare un'altra configurazione; per leggere lo stato del comparatore devi leggere il bit 6 del registro CMCON0 (vedi 8.4.1 del datasheet). Facci sapere i progressi... Michele |
Eccomi di nuovo, grazie per avermi fatto vedere che mescolo un po' le cose, ho controllato e ricontrollato il datasheet, cosi dovrei aver impostato esattamente: #include <p12f683.inc> __CONFIG _FCMEN_ON & _IESO_OFF & _CP_OFF & _CPD_OFF & _BOD_ON & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT REF EQU 2 BUZZ EQU 5 REED EQU 3 COMP EQU 6 ORG 0x00 BSF STATUS,RP0 ;BANK 1 MOVLW B'00001011' ;GP3 GP1 GP0 INPUT, IL RESTO OUT MOVWF TRISIO MOVLW B'00000011' ;IMPOSTA GP0 E GP1 ANALOGICO MOVWF ANSEL MOVLW B'10101100' ;IMPOSTA ATTIVA CVREF,VRR HI, Vref 2.5V CON VDD V MOVWF VRCON BCF STATUS,RP0 ;BANK0 MOVLW B'00010101' ;IMPOSTA COMPARATORE CON RIF INT MOVWF CMCON0 START BCF GPIO,BUZZ BTFSS CMCON0,COMP BSF GPIO,BUZZ GOTO START END se non sbaglio variando la tensione all'ingresso del comparatore tramite GPIO0 il BTFSS CMCON0,COMP legge lo stato d'uscita del comparatore? programmato il pic non ho nessuna variazione. :( |
Citazione:
Michele |
Grazie Michele, son contento di riuscire a capire qualcosa, ma ancora troppo poco :P . ho provato a copiare nel registro ANSEL b'00000000' , ho provato con CLRF ANSEL ma il risultato non cambia. Sto cercando anche che cos'è il collegamento del sample & hold del convertitore. a prestissimo |
Scritto così mi sembra giusto e dovrebbe andare; devi controllare alcune cosette: 1) hai programmato i bit di configurazione per abilitare l'oscillatore, il reset e disabilitare il watch-dog? 2) la tensione variabile per far scattare il comparatore deve essere inviata su GPIO1 (CIN-), altrimenti devi settare CMCON0 a 00011101 3) prova a muovere un bit in uscita e a vedere se il micro funziona 4) se guardi il pin GPIO5 devi usare un oscilloscopio, perchè oscilla e con un tester non vedresti niente... Controlla questi punti e poi ne riparliamo Michele |
:hail::hail::hail::hail: onore al merito. cambiato il settaggio di CMCON0. Mi sono piantato perchè da :azz: POLLO :azz: GPIO1 è il secondo piedino dall'alto del comparatore,io non contavo il Vss quindi il secondo dall'alto è il CIN+. Ho battuto parecchio la testa prima di vedere l'errore, non ho fatto subito quello che mi hai detto perchè ho poco tempo a disposizione. per ora ti ringrazio enormemente. spero di non piantarmi ancora su errori così. Tempo addietro ho fatto un tiro a segno,interamente progettato da me, avevo utilizzato :asd: 17 ic a porte logiche, ora vorrei farlo con i pic, molto, ma moto meno complicato. ci sentiamo |
Tutti gli orari sono GMT +2. Adesso sono le 05:51. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002