Forum: Mikrocontroller und Digitale Elektronik ADC ausgang im terminal.


von Shaik P. (shaik)


Lesenswert?

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
Noch kein Account? Hier anmelden.