Forum: Mikrocontroller und Digitale Elektronik adc Hilfe nötig


von lmcs (Gast)


Lesenswert?

Hallo alle miteinander,

ich mächte gerne an meinen RA0 eine Spannung anlegen und messen.
1
int adc_result;
2
void main (void)
3
{
4
     TRISA=1;
5
     OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST &  ADC_8ANA_0REF,    // AD Takt 32/FOSC // Ergebniss MOST SIGNIFICANT Bit// Einstellung über welche Ports die Referenzspannung gemessen wird// VREF+=VDD, VREF-=VSS, alle analogen channel
6
     ADC_CH0 &           // Port  RA5/AN4
7
     ADC_INT_OFF );        // Interrups ausgeschalten    
8
       
9
       Delay10TCYx(5);      // Warte für 50TCY
10
     ConvertADC();        // ADC Wandlung starten
11
     while ( BusyADC() );    // Warte bis Wandlung fertig ist
12
     adc_result = ReadADC();  // Lese das Ergebnis
13
     
14
     CloseADC();        // ADC ausschalten
15
}

vor dem RA0 habe ich ein Poti. Wie kann ich mir jetzt nach dem drehen am 
Poti den jeweiligen Digitalen Wert anzeigen lassen. Dazu schaue ich mit 
der MPLAB Software im Special Funtkion register nache. Jedoch wie 
schreibe ich den gemessen Wert wo hin?

Danke

von lmcs (Gast)


Lesenswert?

selber gelöst :-)
[c]

if(adc_result>130)
  {
  led1_test();
  }
if(adc_result<130)
  {
  led2_test();
  }

bei 5V und 255 möglichen Schritten soll LED 1 einschalten wenn die 
Spannung größer 2,5V und LED 2 wenn Spannung kleiner 2,5V ist.

Auflösung 8bit.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.