ADC med PIC 16F873 HJÆLP !!!

Feb 10, 2004 3 Replies

hej



Er igang med at lave et lille projekt med en PIC16F873 som har 5 analoge indgange.



Jeg har det problem at jeg ikke kan få den til at læse spændingen rigtigt. Der sker det at spændingen er 1/3 af det den skulle være. Det vil sige at den viser ca. 1.2 V når man med et multimeter måler 4.5V. Hvis man så hæver spænding fra 4.5 til 5V så springer den vildt hurtigt på det sidste stykke.



Her er mit C- program. Det eneste jeg kan skyde på må være galt er noget med Right eller Left justifikation i PIC'en eller er der andre der har et foreslag?



Der sidder et VFD display på til udlæsningen og jeg sender spænding ind på CH2.



----------------------------------------------------------------------------



------ #include #include #include #include #include


bank1 unsigned char text [20]; // Array til tekst på diplay



int temp; double temp1 ,temp2;



void lcd() { int i; for (i=0; i


Hvad gør du med ch1 og ch2 herover? Det ser ikke rigtigt ud.

/Bo.

spænding

Det er kun for at se af low og high byte fra AD konverteren på mit display (midlertidig).

-- Tom

Jamen, senere udlæser du med:

temp1 = (5.0 / 1023.0) * ch1; // konverter de 16 bit til en spænding 0-5 Volt temp2 = (5.0 / 1023.0) * ch2; sprintf(text, "%d %d", ch1, ch2); lcd();

og i kanal2 rutinen øverst har du erstattet (ADRESH * 256) + ADRESL med ADRESL.

Har du så ikke over skrevet dine variabler for kanal1 og kanal2?

Jeg er IKKE en haj til C, som det sikkert kan ses af ovenstående :o)

/Bo.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required