hallo alle,
Ich arbeitet mit AT89C51CC01.
Ich habe ein ADC-Programm geschrieben wie folgt.
#include <stdio.h>
#include "reg_c51.h"
// Standard-Konvertierung
// Die Variable "Kanal" den Kanal enthält, zu konvertieren
// Die Variable "value_converted" ist ein unsigned int
#define Kanal P1_7 // ADC-Eingang
#define Value_converted P0 // ADC-Ausgang
void main ()
(
ADCF = 0x80; // configure-Kanal P1.7 für ADC
ADCON = 0x20; // Aktivieren des ADC
ADCON & = 0xF8; // Lösche das Feld SCH [2.00]
ADCON | = Kanal; // Select-Kanal
ADCON | = 0x08; // Konvertierung starten im Standard-Modus
// Warten Flagge End of Conversion
while ((ADCON & 0x01)! = 0x01)
(
ADCON & = 0xEF;
value_converted = (ADDH <<2) + (ADDL); // Lesen Sie den Wert
)
while (1)
()
)
In diesem Programm meinen Analogen Eingangs-Pin ist p1_7 und Ausgang
Port ist P0.
Ich kann geben die Analog signal beim P1_7 pin aber keine Ausgang kommt
von P0-Port gegeben.
Weiß ich nicht, warum?
Ich habe richtig geschreiben
value_converted = (ADDH <<2) + (ADDL);
#define Value_converted P0 // ADC ausgang
Warum dann dieses Programm nicht die Ausgang geben?
Bitte überprüfen Sie dieses Programm.
Empfehlen Sie mir für dieses Problem.
Vielen Dank im Voraus.