adc Hilfe nötig

Gast #549371
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
Gast #549394
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren