ADC ausgang im terminal.

OP #1834043
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren