Forum: Mikrocontroller und Digitale Elektronik A/D Wandler stoppen und register auslesen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von K. H. Z. (zeidler)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Betrifft Pic 16F676

Ich will über einen Spannungsteiler am Port RC0/AN4 die Spannung eines 
AKKUS lesen und in einen Digitalen Wert zur späteren Verarbeitung aus 
dem
ADRESL *ADRESH Register auslesen.

Ich habe das Programm nur mit dem Debugger getestet und da fest gestellt 
das der A/D Wandler startet aber mit der commando zeile

while (ADCON0.GO_DONE==1);        //prüfen ob noch aktiv

nicht stoppt. Was ist falsch ??
Im Anschluss noch das Programm.

Gruß Karl-Heinz



// Define
#define LED1           PORTC.RC5    //LED low  liegt an Port RC5

// Globale Variablen

int analog_hexwert;

void main(void) {

     TRISC = 0x07;   //set C-Port 0-2 in 3-5 out
     PORTC = 0x00;   //set C-Port all bit to 0V
     ADCON0 = 0x80;  //set analog module right justified
     ADCON1 = 0x20;  //set clock select Fosc32
     ANSEL = 0x70;   //select ANS 4 to analog input

while(1)
      {
       ADCON0.ADON = 1;
       ADCON0.CHS2 = 1;
       ADCON0.GO_DONE = 1;          //messen ein
       while (ADCON0.GO_DONE==1);        //prüfen ob noch aktiv
       Delay_ms (550);
       analog_hexwert = ADRESL + (ADRESH * 256);
      }

if (analog_hexwert < 500)
   {
    LED1 =1;
   }
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.