Forum: Mikrocontroller und Digitale Elektronik AVR ATmega128 Messwertaufnahme


von Sven P. (peter-paul)


Angehängte Dateien:

Lesenswert?

Hallo!!

Habe folgendes Programm geschrieben:
Mit einem Poti kann die Spannung verändert werden. Am PORT C des 
Mikrocontrollers wird diese Spannung eingelesen und auf dem LCD-Display 
als Balkendiagramm angezeigt.


#include <kamavr.h>

int  main(void)
{
   int x;
   int patt[8];
  ACSR &=~(1<<7);
  DDRC=0xff;
  init_lcd();

  while(1)
  {
  //----------------------successive 
approximation-----------------------

int i;

    x=ACSR &(1<<5);

    PORTC=0;
     for (i=0;i<8;i++)
            {
      PORTC |= 0x80>>i;
      delay_us(20);

      if ((1<<5)&ACSR)
      PORTC &=~ (0x80>>i);
    }

//----------------Darstellung der Spannung als Balkendiagramm auf dem 
LCD- Display-----

    if (x==0x20)
    {
    write_lcd(0,0x40);
      for(i=0;i<8;i++)
      {
           if(PORTC>i*32)
          patt[7-i]=0x1f;
        else {patt[7-i]=0;}
         }
                          for(i=0;i<8;i++)
        write_lcd(1,patt[i]);

      write_lcd(0,0x8c);
      write_lcd(1,0);
        PORTC=0;
       }
          PORTC++;
  }
}


Nun habe ich folgendes Problem:
Seit einigen Tage schlage ich mich damit rum eine Messreihe mit 
n-Messwerten (Wert je nach Potistellung) aufzunehmen und in ein Feld zu 
speichern. Als Beispiel möchte ich jede Sekunde die aktuelle Spannung am 
PORT C einlesen und in der aufgenommenen Reihenfolge in ein Feld mit 
x-Werten speichern.

Es wäre sehr nett, wenn ich einige Anregungen oder Beispielprogramme 
bekomme, welche mir bei der Lösung meines Problems helfen.

Vielen Dank

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.