Gast
#2546524
Hallo,
ich versuche analoge werte vom AT89C51CC01 zu lesen. Jeder zweite Wert
scheint falsch zu sein.
272
448
272
438
272
438
272
440
272
437
272
436
273
436
273
434
273
434
273
434
Der C-Code sieht so aus.
ADCF = 0x80; // kanal P1.7 für ADC
ADCON = 0x20; // Anfang ADC
ADCON &= 0xF8; // Clear the field SCH[2:0]
ADCON |= 0x07; // Select kanal
ADCON |= 0x08; // Fangt Umrechnung im Stadard Mode an
while((ADCON & 0x10)!= 0x10)
{}// Warte flag
ADCON &= 0xC7; // Clear the End of conversion flag
ADC_Wert = (ADDH << 2)+(ADDL);
printf("%i\n",ADC_Wert);
ADC_Wert = 0x00;
ich würde mich freuen wenn mir jemand helfen könnte.
ich hoffe ich habe alle relevanten Angaben gemacht.
Vielen Dank !!!!