Hallo,
so könnte das Programm aussehen, um den Wert des Analogeingangs mit einer Zahl zu vergleichen, und die LED zu schalten:
Code:
int main(void)
{
//Endlosschleife
while(1)
{
uint16_t result = readADC(0); //Auslesen der analogen Spannungen an Pin 0,
// also ADC0. In result steht das Ergebnis.
if(result>512)
{
//LED an
//musst du noch vervollständigen
}
else
{
//LED aus
//musst du noch vervollständigen
}
} //Endlosschleife bis hier
//an diese Stelle wird das Programm wegen der Endlosschleife nicht mehr gelangen,
//außer du verlässt die while-Schleife mit einem break;
return 0;
}
Du möchtest den Inhalt von "result" auf dem PC sehen? Funktioniert gut über das sog. UART und einem Terminal-Programm auf dem PC.
Dazu brauchst du auf jeden Fall eine kleine Zusatzschaltung mit MAX232 und 4 Elkos und kannst dann über eine serielle Schnittstelle (RS232) mit dem PC kommunizieren. Es gibt auch USB-Seriell Adapter ( die heutigen PCs werden wohl kaum noch eine serielle Schnittstelle haben).
Damit kannst du recht einfach von PC zu Mikrocontroller und umgekehrt Daten übertragen.
Siehe auch:
Daten und Texte zum PC übertragen
Alternativ: ein Display anschließen (braucht aber einen größeren Brocken Software, gibts zum Glück im Internet)
Könnte auch noch Programmschnipsel für UART-Übertragung und einen Link zu einem vernünftigen Terminal nachliefern - falls erwünscht 
Grüße,
Bernhard
EDIT: Du kannst die Spannung des Netzgeräts schon messen. Wenn es maximal 5 V liefern kann und damit deine Vref nicht überschreitet, könntest du es direkt an den Analogeingang anschließen.
Ansonsten muss da noch ein Spannungsteiler dazwischen !!
Welche Spannung liefert das Netzteil maximal ?
Der Wert im Programm lässt sich dann auch relativ einfach wieder in den Spannungswert umrechnen.
PS: PC0 ist kein analoger Eingang! Beim Atmega32 sind die alle am PORT A !!!
Lesezeichen