Hallo,
Also ich habe da ein kleineres Problem mit der Ausgabe auf den Serial
Port.
Das Projekt geht um die Spannungsmessung 0 bis 5V-1LSB mit dem
AD-Wandler.
Programmscprache: Assembler
Hardware: Infinion XC866 Evulations Kit
Ich machte Foldendes:
Als erstes definierte ich mir volgende Platzhalter:
Result equ 030H ;Resulrat der A/D-Wandlung
Result1 equ 031H ;Vorkommastelle von dem Resultat
Result2 equ 032H ;Erste Kommastelle von dem Resultat
Result3 equ 033H ;Zweite Kommastelle von dem Resultat
Danach Rechnete ich meinen Eingabewert um in ASCI-Zeichen (30h-39h)
Diese Werte Schrieb ich in die Speicherzellen 31h-33h (Result1-Result3)
Nun möchte ich den Wert auf die Serielle Schnittstelle Ausgeben mit
volgendem Algo.
;-----------------------------------------------------------------------
SEND: MOV DPTR,#OUT
SEND1: CLR A
MOVC A,@A+DPTR
CJNE A,#0FEh,SEND2
RET
SEND2: MOV SBUF,A
TI_SET: JNB TI,TI_SET
CLR TI
INC DPTR
JMP SEND1
OUT: DB Result1,02EH,Result2,Result3,05FH,056H,P3_DATA,0FEH
;-----------------------------------------------------------------------
Nun sieht aber die Ausgabe folgendermassen aus:
1.23_V°
Also er schreibt mir die Speicheradresse von Result1-Result3 und P3_DATA
auf den Serial Port.
Nun Meine Frage: Wie kann ich dem Programm beibringen, das es den Inhalt
von den Speicherzellen herausspukt und nicht die Speicheradresse. Was
ist Falsch an meinem String:
OUT: DB Result1,02EH,Result2,Result3,05FH,056H,P3_DATA,0FEH?
Ich habe noch das kompletten Code hochgeladen, wenn meine Angaben nicht
genügen sollten :-).
Danke für die Hilfe.
Gruss Markus