ADC na 18F4525 kodirano u C langage pod MPLAB (C18)

L

lionkid

Guest
Bok svima!

Ovo je moj prvi topic, jer
sam novi u programiranju PIC.Imam C langage znanju i želim se nositi s novim uređajem koji je PIC.

Ive 'ispunjavanja hardver programer Schaer i koristim za programiranje Winpic moj broj, ali izgleda da to ne radi!Ja sam ispitao moje slika sa vodio treptajućim i Internet utvrde.Dakle, siguran
sam da je moj problem s obzirom na ADC koristi ...

Ovdje je moj broj (pomiješana s francuskim, jer
sam francuski):

Code:

# uključiti <p18f4525.h>

# uključiti <adc.h>

# uključiti <delays.h># Pragma config WDT = OFFponiłtava glavna (void)

(

int rezultat = 0;

splavariti napetost = 0;

/**************** Configuration de l'OSCILLATEUR DU PIC *********************/OSCCONbits.SCS1 = 1; / / koristiti unutarnje oscilator na frekvenciji 8Mhz

OSCCONbits.SCS0 = 1; / / Korištenje de l'oscillateur interne du PICOSCCONbits.IRCF0 = 1; / /

OSCCONbits.IRCF1 = 1; / / Fréquence d'iskorištenja de l'oscillateur = 8Mhz.

OSCCONbits.IRCF2 = 1; / //************************************************* ***************************/TRISEbits.TRISE0 = 1; / / Konfiguracija RE0 en la patte jelo zaliti capteur de le lumičre (AN5), RE0 kao ulaz za svjetlo senzor

TRISEbits.TRISE1 = 0; / / Konfiguracija RE1 en la patte ispad liti la LED.
(AN6), RE1 kao izlaz za LED.OpenADC (ADC_FOSC_2 & ADC_RIGHT_JUST & ADC_12_TAD,

ADC_CH5 & ADC_INT_OFF & ADC_REF_VDD_VSS,

ADC_6ANA); / / Otvorite u ADC Kanal 5 (RE0, AN5) sa 5 V referentni nivo (= Vdd) i 0V kao vss.

a (1)

(

Delay10TCYx (5);

ConvertADC ();

dok (BusyADC ());

rezultat = ReadADC ();

napetost = (rezultata * 5) / 1023;

if (napetost> = 1) PORTEbits.RE1 = 1; / / la Allume LED si activitée detectée sur CAN, LED ON ako je napon senzora koje je veće od 1Volt.

if (napetost <1) PORTEbits.RE1 = 0; / / la Eteint LED si napetost inférieure R 1Volt, LED je Off drugačije.

)

CloseADC (); / / U stvarnosti, u ADC nije završila s obzirom na vrijeme (1) ...

)
 
Bok,

Ne znam, ako se još uvijek čeka odgovor na ovu temu ....
Mislim da je problem u:
napetost = (rezultata * 5) / 1023; s rezultatom kao (int) i napetosti a (splav) i provjerite je li napon> = 1 i <1.
Mislim da će dobiti uvijek <1 i da LED OFF uvijek.
Pokušajte koristiti rezultat (int) i tek onda
ako je rezultat tada rende ili jednak 205 LED ON drugo LED off.

Pozdravi,

mt

 

Welcome to EDABoard.com

Sponsor

Back
Top