Forum: Mikrocontroller und Digitale Elektronik CodeVision BCD Conversion


von Nobert W. (Gast)


Lesenswert?

Hallo zusammen!
Ich verwenden CodeVision und möchte ein Byte auf dem LCD ausgeben.

Dazu muss ich vorher natürlich in ASCII Code umrechnen.

Leider weiß ich nicht, wie ich die Funktion bin2bcd verwenden muss.

So habe ich es probiert:
byte = 20;
bcd = bin2bcd(byte);
lcd_puts(&bcd);

Wie funktioniert die Umrechnung.
Für Hilfe wäre ich sehr dankbar!

Schönen Sonntag Abend noch!
Norbert

von mike (Gast)


Lesenswert?

hi

willst du die binäre darstellung einer zahl auf dem LCD anzeigen ?
die bcd2bin funktion habe ich noch nie verwendet ich machs mit
folgender routine

//-------------------------------
void binout(unsigned char zahl){
 unsigned char a;

 for(a=0;a<8;++a){
    if (zahl & 0x80)putchar('1');
    else putchar('0');
    zahl<<=1;
 }
}
//-------------------------------

du musst nur anstelle von putchar deine LCD-routine verwenden

cya
mike

von Nobert W. (Gast)


Lesenswert?

hallo mike,

danke für deine Antwort.
Ich möchte die Zahl aber nicht als Binäre Zal darstellen. Tut mir leid,
falls ich mich falsch ausgedrückt haben sollte ...

Ich möchte einfach nur wenn Zahl = 48 ist
auf dem Display 48 stehen haben (und nicht den Ascii code von 48 (0)).

Ganz einfach eigentlich - aber ich kriegs net hin.
Es müssten also aus einem Byte (z.B. 255) drei byte werden (im ertsen 2
drin stehen, im zweiten 5 und im dritten nochmals 5.

Danke!
Norbert

von emil (Gast)


Lesenswert?

hallo norbert,
verwende bitte itoa(), die ist genau dafuer gedacht; steht, glaube ich,
in stdlib.h
lg,
emil

von Nobert W. (Gast)


Lesenswert?

Hallo Emil!

Super - funktioniert einwandfrei.
Und ich such mich dusslig :)

Danke!
Grüße Norbert

von mike (Gast)


Lesenswert?

die funktion kannte ich auch noch nicht :)

thx
mike

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.