hello all, Ich arbeitet mit AT89C51CC01. Ich habe eine program geschreiben, bitte sehen Sie die code wie folgt. In diesem program brauche ich die Ausgang von ADC im Temrinal. #include <stdio.h> #include "reg_c51.h" #define channel 7 // ADC Eingang void SerialInit(); void tx(unsigned char x); void SendADCData(unsigned short dat); void main() { unsigned short value_converted; // ADC Ausgang ADCF = 0x80; // kanal P1.7 für ADC ADCON = 0x20; // Anfang ADC ADCON &= 0xF8; // Clear the field SCH[2:0] ADCON |= channel; // Select kanal ADCON |= 0x08; // Fangt Umrechnung im Stadard Mode an while((ADCON & 0x10)!= 0x10) {} // Warte flag ADCON &= 0xEF; // Clear the End of conversion flag value_converted = (ADDH << 2 )+(ADDL); // Lesen die value SerialInit(); SendADCData(value_converted); //printf("%d",value_converted); //P2 = value_converted; //P0 = (value_converted >> 8); while (1) {} } void SerialInit() { TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = 0xFD; TR1 = 1; } void tx(unsigned char x) { SBUF = x; while(!TI); TI = 0; } void SendADCData(unsigned short dat) { const char ascii[] = "0123456789ABCDEF"; unsigned char temp; temp = (dat>>12)&0xF; tx(ascii[temp]); temp = (dat>>8)&0xF; tx(ascii[temp]); temp = (dat>>4)&0xF; tx(ascii[temp]); temp = dat&0xF; tx(ascii[temp]); } Ich gebe die ADC eingang mit pin P1_7 [Pot-R12 in Board]. Nach prüfen diese Program habe ich keine im Terminal. Ich habe nicht die richtig problem gefunden. Bitte sagen mir die Problem in diese Program. Danke im voraus.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.