-
Thread
3-Stellige BCD-Zahl nach Binär umwandeln
Hallo zusammen! Ich habe drei Kodier-Drehschalter, mit welchen ich jeweils Werte von 0 bis 9 einstellen kann. Damit möchte ich Zahlen im Dezimalsystem von 0 bis 999 eingeben. Die einzelnen Kodierschalter haben eine Ausgabe im BCD-System. D.h. ich bekomme insgesamt eine dreistellige BCD-Zahl. Wie kann ich diese mit einfachen Mitteln, mit Standard-TTL bzw. CMOS Bausteinen in eine Binärzahl umwandln? Grund dafür ist, dass ich einen Binärzähler jeweils bis zum eingestellten Wert hochzählen lassen will. Ich kann mir vorstellen, dass es fertige BCD->Binärdekoder als Baustein gibt, aber ich habe
-
Thread
Taschenrechner
zählen rjmp dual2bcd3 ;bis dual<10 dual2bcd4: swap r15 ;r15=zehner 0000 or r16,r15 ;r16<-Zehner Einer pop r15 ;Hilfsregister zurück subi r16,-$30 ;in ASCII umwandeln
zählen rjmp dual2bcd3 ;bis dual<10 subi R15, 0xd0 call lcd_output ; vorher R15 entsprechend umladen dual2bcd4: subi r16,0xd0 ;in ASCII umwandeln call lcd_output ; vorher
-
Thread
Drehzahlanzeige auf 3x 7-Segment
die Hunderterstelle, l die Zehnerstelle und k die Einerstelle. Das nennt man übrigens "Binär-zu-BCD-Umwandlung". Eine solche findet übrigens immer statt, wenn zu einer Zahl der entsprechende String berechnet wird.
Beruf gewählt, oder die Lehhhhhrer können DAS auch nuhr aus Quellen die nicht optimal sind!! BinToBCD verabschiedet sich heute und hat morgen auch noch gute Vorschläge. Gruß Fred ps ich bin ein "Rechtschreibkünster under Deuschlands Sonne"
-
Thread
Programmablauf wie macht man's am besten?
nacheinander --- alle 4 Kanäle werden zusammen 64 mal gesampled und aufsummiert - Mittelwerte > BCD und an LCD Ausgeben, alle 4 Kanäle nacheinander - Peaks > BCD und an LCD ausgeben - bargraph berechnen und ausgeben (ebenfalls für jeden kanal) Mein Problem ist derzeit: für den Bargraph ist
ADMUX schreiben Die Mainloop kann dann reiherum die vier Messwerte aus dem RAM holen, in ASCII umwandeln und ausgeben und nach jedem Messwert in ASCII alle 4 Messwerte als Bargraph. Damit gibt es ein schnelles Bargraph-Update, aber eine langsamere Textausgabe. Falls der Text noch zu schnell kommt, dann
-
Thread
Schnelle 8-Bit Binär nach BCD für 8Bit-AVR
und da noch ein bisschen auf die Geschwindigkeit an. Wenn man dann plötzlich 1000000 Zahlen nach BCD umwandeln will, fällt's doch ins Gewicht ;)
Simon K. wrote: > Wenn man dann plötzlich 1000000 Zahlen nach BCD umwandeln will, fällt's > doch ins Gewicht ;) Nö, die CPU-Last ist ganz genau die gleiche (nämlich nicht erwähnenswert). Sie hängt nicht von der Anzahl Werte ab, sondern von dem Verhältnis der
-
Thread
10 Bit binärzahl in BCD umwandeln
hi zusammen, ich möchte eine 10 bit zahl in eine BCD zahl (3-stellen) umwandeln, kann mir da jemand helfen? habe bisher nur 8-Bit-Zahlen in BCD umgewandelt. ich programmiere in Assembler (8051). Gruss und danke
R6, R7 = 5 digits (ASCII) ; bin16_ascii: mov a, r7 mov r3, #-1 + '0' _bcd1: inc r3 add a, #low(-10000) xch a, r6 addc a, #high(-10000) xch a, r6 jc _bcd1 mov r4, #10 + '0' _bcd2:
-
Thread
ZF-Filter für 8.33kHz Kanalabstand?
Niedrigpreisüberraschung gut, meistens in irgendwelchen "vergessenen" "Ecken des Sortiments, Habe ich auch gerade mit BCD-Schaltern bei Mercateo festgestellt.
getaktet von einem TCXO, Ausgang unter Verwendung des internen Komparators in eine Rechteckschwingung umwandeln, die dritte Harmonische herausfiltern und dann in den Mischer. Ich wollte direkt auf die ZF von 455 kHz herunter und dort weiterverstärken. Das LO-Filter wird interessant, vielleicht kann man
-
Thread
dec-graycode wandler
verstehe den nicht zwischen Dezimal und gray. die idee ist eine beliebige dezimale zahl in gray umwandeln zu können. kann mir jemand helfen?$ mfg
ist ebenfalls so aufgebaut , dass sich nur ein Bit ändert, auch beim Übergang von 9 zu 0. Wie bei BCD gibt es 6 ungültige Zahlen - siehe Bildmitte zum 7444
-
Thread
8 Bit binär zu ASCII
auch: [avrasm] ;input: R16 = 8 bit value 0 ... 255 ;output: R18, R17, R16 = ASCII-digits bcd: ldi r18, -1 + '0' _bcd1: inc r18 subi r16, 100 brcc _bcd1 ldi r17, 10 + '0' _bcd2: dec r17 subi r16, -10
E=0 Solange X>100 X=X-100 H=H+1 Solange X>10 X=X-10 Z=Z+1 E=X Will man binär in BCD umwandeln, so kann man das für 2 Stellen etwas abkürzen: X: Originalzahl Y: BCD-Version Y=0 Solange X>10 X=X-10 Y=Y+$10 Y=Y+X
-
Thread
Interface für 10€- Messschieber
zeilenweisen Auslesen aus dem seriellen Buffer verwenden. Den empfangenen Wert muss man dann noch umwandeln: Teilen durch (256*806,299). Das ergibt den Wert in mm. Gleitende Mittelwertbildung nach Wunsch. Das mit der Mini-USB-Buchse ist ein guter Tip.
2x24bit-Protokoll. Diese Messschieber sind nach meiner Erfahrung robuster als z.B. 'Workzone'-Messchieber (bcd-Protokoll, von Aldi,Lidl, etc.).
-
Thread
Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus
Maximalwert von 100kHz getaktet. Außerdem führe ich jede Aufgabe, d.h. Einzelwerte abholen und in BCD umwandeln immer getrennt aus, u.z. nur am Anfang eines Frames wo ich im Interrupt außer der Übertragung ins Display nichts weiter zu tun habe (die Leerstellen stehen ja noch von der letzten Zeile im
Befehl im Mainloop ausführe. Der Grund dafür ist, daß ich anfangs das Auslesen der RTC und das Umwandeln der Zahlen in einer Aufgabe erledigen wollte und dann nichts mehr funktionierte, weil die Zeit im Mainloop viel zu kurz war. So habe ich den Umfang der Befehle schrittweise so weit reduziert, daß
-
Thread
AVR GCC Hex in Dez wandeln
Umwandeln... du meinst als String? Also einen String (char *) mit einer Hex-Zahl in einen Integer umwandeln...? Dafür gibts dieses utoa, ltoa, strtoul-Gerümpel. Umgekehrt gehts auch.
Das ist nicht mein wirkliches Problem. Habe jetzt gefunden was falsch läuft: Ich muss Zahlen von BCD nach int und umgekehrt wandeln können. Gibt es da eine fertige AVR GCC Funktion ? Danke Gruß Steffen
-
Thread
AVR-ChipBasic2 - BASIC-Computer mit ATMega 644
in dem Projekt noch wesentlich mehr Möglichkeiten stecken. Konkret arbeite ich derzeit ein einer BCD-Arithmetik-Bibliothek, die einfach auf einen der 8 Programmplätze geladen werden kann. Über CALL mit den entsprechenden Parametern kann man dann die einzelnen Funktionen abrufen. Ein-/Ausgabe sowie
mit Binärzahlen bei der Ausgabe einfach "seltsame" Ergebnisse ausgegeben hatte, bin ich jetzt bei BCD Festkomma mit 8 Vorkomma- und 8 Nachkommastellen angelangt. Aber das muß nicht der Weisheit letzter Schluß sein... In punkto Hardware gibt es ein paar Ideen, aber nichts konkretes. Jörg
-
Thread
8051 Hobby-Projekt
jedoch einiges an Know-How in der Codegestaltung, z.B. bei AD-Wandler-Umrechnungen, da muß man BIN-BCD-Wandlungen selbst von Hand und zu Fuß erstellen und scalieren, und nur für den einen festen Zweck, das kostet sehr viel Zeit. Funktioniert, hat es schon. An Codegrößen um einige wenige kB kann man da
komische Programme hat, die ein normales Intel-Hex nicht lesen können gibts von NXP hex2hex zum Umwandeln: http://www.nxp.com/files/products/standard/microcontrollers/download/80c51/utilities/hexutils.zip > Und siehe da, das Hex-File ist Bullshit, da steht eine überflüssige > Zeile drin, die
-
Thread
LED UV Belichtungsgerät
einer Leuchtstofflampe mal dagegenhalten. Das Phosphor müsste die UV-Strahlung in sichtbares Licht umwandeln.
möchte ich einen Drehdecoder benutzen es gibt bei Pollin einen Kleinen Panasonik drehgeber der mit dem BCD Format arbeitet. Über den soll die Zeit in sec. eingestellt werden und durch drücken des Drehgebers soll die Belichtung gestartet werden. Werde mir die Tage mal alles was ich brauch bestellen und
-
Thread
Binäre Codierung, Dezimal anzeigen
@rudi, nein sowas sucht er nicht, das ist nur die decodierung von bcd zu 7segment. zuvor benötigt er noch soetwas, ist aber kaum noch zu haben 74485 Binär-zu-BCD-Codeumsetzer, wenn er es in hardware machen will.... m.
und habe das eben genau mit den 74185 gelöst. Auch den umgekehrten Fall hatte ich schon. 3stellige BCD Code in Binärzahl umwandeln für einen DA Wandler zu steuern. ( Pegel und Frequenzeinstellung in einen Rohde&Schwarz SMLU ). Das ging mit den 74184 ganz gut. Rohde hatte dafür einen speziellen DA Wandler
-
Thread
MSP430F1612_RTC_Display
. Vermulich frißt aber deine LCD_Zahl binärcodierte Werte. Sie interpretiert die BCD-Daten also falsch.
Umwandlungsproblem handelt, hatte ich mir schon gedacht. ;-) Wie krieg ich es jetzt hin, dass mein LCD die BCD-Daten versteht? Ich muss sie sicherlich umwandeln, aber wie mach ich das am schlauesten? (möglichst in C) Ich find es auch unschön, dass er dann die Umwandlung jede Sekunde machen muss. Es wäre
-
Thread
Eigenprojekt für eine Geschwindigkeitsanzeige
progge aber lieber in ASM). Wenn man das über Logic Gatter machen würde brächte man Zähler, HEX->BCD Wandler, Siebensegmenttreiber, einstellbare Taktgeber und jede Menge Steuerungslogic. Zu Deutsch das würde ein ziemliches Chipgrab werden (vom Routing mal ganz abgesehen). Mit nen µC wird das erheblich
Werte werden voneinander abgezogen. Die Differenz kann man dann umrechenen und in 7-Segment-Code umwandeln oder direkt mit einer Look-Up-Table umwandeln. Programmieraufwand evt. 1 Stunde, das wars. cu Hauke
-
Thread
Frage zu "Netzteil"
liefern. (oder so) dann hängen da später dran: 1x Mega32 3x 7 Segm. Anzeige 3x Binärzähler 3x BCD-Dekoder 4x rote LED
Simon, Deine Fotos sind riesengroß. Nächstes mal bitte erst in .png umwandeln!
-
Thread
9^9^9
nur noch sehr langsam Rechnen, weil er keine Maschinenbefehle dafür hat. Wenn man die Zahl als BCD speichert, so braucht man rund 190 Megabytes. Pro Multiplikation mit 9 muss diese ganze Zahl einmal mit 9 multipliziert werden sowie die Überträge addiert. Gibt also bei einem gleichmässigen Wachstum
ergebnis, "1000000...000000", 9); Die Zahl vom Neunersystem in die interne Binärdarstellung umwandeln und diese dann mit mpz_printf wieder ausgeben. Es würde mich allerdings wundern, wenn das schneller ginge. Ok, ich war schon zweimal verwundert, so dass mich das vielleicht doch nicht wundern
-
Thread
[PIC18]RTC Datenbits umwandeln
output_high(RW); delay_us(2); } [/c] Also bräuchte ich irgendwas womit ihc das umwandeln könnte. int to string funktioniert soweit (sprintf), jedoch kommt ab einer gewissen zeit nur noch blödsinn raus (anfangs zählt er gut, aber dann gehen die sekunden rauf bis 90 und dann kommen erst
@ Markus Das Ding zählt im BCD Code. Wenn du 59 hex ausliest kommst du mit printf auf 89 (5*16 +9). So gehts: char einer,zehner; einer = (wert & 0x0F) + '0'; zehner = (wert >> 4) + '0';
-
Thread
Festkomma-Arithmetik für Cyclone 2
brauchst du ja nur Makros, die "normale" Bruchzahlem ala 1,234 in entsprechende Festkommazahlen umwandeln (bei gegebenem Datenformat /Bitbreite). >@Falk So hab ich das auch verstanden. Das Problem, was ich aber immer >noch hab, ist, dass ich zwei Inputs vom Typ std_logic_vector habe >(variable Längen
solltes einfach mit 2 >getrennenten Werten für Vorkomma und Nachkomma arbeiten. Das wäre dann quasi BCD. Dann kannst du aber sämtliche Arithmetische Operationen per Hand machen. MFG Falk
-
Thread
AVR: Wetterinformationen über DCF77 Gesperrt
Was meinst du mit 'decheff'? Das Protokoll ist genau dasselbe wie beim Rest der Bits, also 'Quasi-BCD', bzw. Binär.
packet (minute 2, 5, 8...) 28-41 (14) - third data packet (minute 3, 6, 9...) 42-49 (8) - minute (bcd) 50-57 (8) - hour (bcd) 58-65 (8) - day (bcd) 66-70 (5) - month (bcd) 71-73 (3) - weekday (bcd) 74-81 (8) - year (bcd) Time data is the actual time. The decoding begins immediately after the
-
Thread
16Bit dual -> Dezimalausgabe auf LCD
LCD in dezimaler Schreibweise ausgeben möchte. Welche Möglichkeiten hab ich denn? Zuerst umwandeln von Dual nach BCD und dann in ASCII oder gibts noch einfachere Methoden? danke einstweilen, Peter
Lösung des Problems bereits genannt. Ausserdem gibts zu dem Thema tonnenweise Threads, einfach mal BCD als Sortierbegriff eingeben. MfG Falk
-
Thread
32 Bit binär in BCD umwandeln
Liebe Gemeinde ! Hat jemand eine C Routine, welche eine 32 Bit binär- Zahl in BCD verwandelt ? Es sollten 6-8 BCD Zahlen herauskommen. Schöne Grüße Josef
-
Thread
variable auf lcd ausgeben (assembler)
Die 8 Bit in 3 BCD Ziffern umwandeln, also 3 Byte zwischen 00 und 09, dann mit 30 hex verODERn, das ergibt ASCII-Ziffern 30-39 hex, und nacheinander ausgeben. Die Umwandlung besteht aus mehreren Divisionen, deren Rest jeweils die BCD-Zahl enthält.
-
Thread
Hex Werte in Datum umwandeln
Moin... Wie kann ich aus den 0x0A und 0x0F ein gültige Uhrzeit bilden? Eigentlich hätte ich lieber 10:15 Ich habe einen Zähler der mit diese Hex Werte übergibt. Im ASCII Format bekomme ich natürlich andere Zeichen.. Jemand ne Idee?
-
Thread
26 bit umwandlung in ASCII
Es ist ja R28 das LSB und nicht R30, also gehts so weiter: [C] ... ldi r19, -1 + '0' _bcd7: inc r19 subi r28, low(1000) ;-1000 sbci r29, high(1000) brcc _bcd7 ldi r18, 10 + '0' _bcd8: dec r18 subi r28, low(-100) ;+100 sbci r29, high(-100) brcs _bcd8
höchstwertigen Ziffer nur drei der vier Register behandelt werden: [pre] bin32_ascii: ldi r25, -1 + '0' _bcd1: inc r25 subi r29, byte2(1000000000) ;-1000,000,000 until overflow sbci r30, byte3(1000000000) sbci r31, byte4(1000000000) brcc _bcd1 ldi r24, 10 + '0' _bcd2: dec r24