-
Dezimal in Hex oder Bin?
Bin gerade dabei (Mein LCD tut ja jetzt...!) eine Funkuhr aufzubauen.
Jetzt ist bloß mein Prob, dass die Uhr-Variablen (minute,second,...) Dezimal sind. Jetzt müsste ich irgendwie die Dezimalzahlen in Hex oder Bin wandeln, wie mache ich das Programmtechnisch?
-
Womit programmierst du??
Wenn ich das noch wüsste!!
Moment bin müsste gehen,( eine Moment);
-
Must du mal googlen!!!!
Ich finde es nicht mehr auf meiner Festplatte!
Hatte es aber auch bei Google gefunden!!!
:cry:
-
ich programmier mit der basic software.
mein problem ist ist halt auch, dass wenn ich 15dec habe, es in 00000001bin und 00000101bin umwandeln muss, da ich nur ascii-zeichen auf mein lcd schicken kann. vielleicht hat jemand auch eine bessere idee?!?
-
Guck mal in der Bascom-Hilfe unter: HEXVAL , VAL , STR , BIN
-
nix gegen dich... aber ich habe eine ccontrol... wie man aus der kategorie raus lesen kann..
naja. wird eh nix. die ccontrol ist dafür zu lahm.. auf jedenfall, wenn man es mi 51 IF-Abfragen machen möchte... [-X
projekt beendet. thx @ all!
-
ist doch im prinzip agnz einfach. mit c zum beispiel...
wenn du 15 % 10 rechnest bekommst du 5 raus.
und wenn du 15 / 10 rechnest hast du bei ganzen zahlen 1 raus.
musst du es überhaupt umwandeln. er gibt es doch sowieso als binraus oder etwa nciht?
Gruß BoD
/edit: ups. hatte übersehen, dass es mit basic implementiert wird...
-
Code:
define a 97
define b 98
define c 99
define d 100
define e 101
define f 102
define g 103
define h 104
define i 105
define j 106
define k 107
define l 108
define m 109
define n 110
define o 111
define p 112
define q 113
define r 114
define s 115
define t 116
define u 117
define v 118
define w 119
define x 120
define y 121
define z 122
define lcd byteport[2]
define rw port[13]
define rs port[14]
define enable port[15]
define buffer byte
define parameter byte
define zahl word
define ziffer byte
gosub initialisierung
pause 10
#sync
if year<97 then beep 150,50,0 else goto sync
beep 150,25,25
#loop
gosub lcd_out
goto loop
#lcd_out
parameter=1
gosub whichline
parameter=e-32
gosub writeletter
parameter=s
gosub writeletter
parameter=32
gosub writeletter
parameter=i
gosub writeletter
parameter=s
gosub writeletter
parameter=t
gosub writeletter
parameter=32
gosub writeletter
zahl=hour
ziffer=zahl/10
parameter=ziffer+48
gosub writeletter
zahl=zahl-ziffer*10
ziffer=zahl
parameter=ziffer+48
gosub writeletter
parameter=58
gosub writeletter
zahl=minute
ziffer=zahl/10
parameter=ziffer+48
gosub writeletter
zahl=zahl-ziffer*10
ziffer=zahl
parameter=ziffer+48
gosub writeletter
parameter=58
gosub writeletter
zahl=second
ziffer=zahl/10
parameter=ziffer+48
gosub writeletter
zahl=zahl-ziffer*10
ziffer=zahl
parameter=ziffer+48
gosub writeletter
return
#initialisierung
lcd=off
parameter=&h38:gosub command
lcd=&b00000010
tog enable
tog enable
parameter=&h28:gosub command
parameter=&h0c:gosub command
#clear
parameter=&h02:gosub command
parameter=&h02:gosub command
return
#whichline
if parameter=1 then parameter=&h80
if parameter=2 then parameter=&hc0
goto command
#command
buffer=off
goto write_
#writeletter
buffer=&b00100000
#write_
lcd=buffer or (parameter shr 4)
tog enable
tog enable
lcd=buffer or (parameter and &h0f)
tog enable
tog enable
return
-
Das Teil sagt sogar bescheid, wenn's synchronisiert hat. Wenn du kein DCF-Modul hast, muss du folgendes Löschen:
#sync
if year<97 then beep 150,50,0 else goto sync
beep 150,25,25
Ausserdem kannst du auch:
parameter=e-32
gosub writeletter
parameter=s
gosub writeletter
parameter=32
gosub writeletter
parameter=i
gosub writeletter
parameter=s
gosub writeletter
parameter=t
gosub writeletter
parameter=32
gosub writeletter
wenn du nicht möchtest, dass da "Es ist xx:xx:xx" steht.
Vorhin hab ich ne version mit Datum und meinem Geburtstag Gepostet, die ich aber wegedititert hab, weil sie für 2x40er LCDs war.
-
Danke!
Mit dem Syntax kann ich nun endlich meine Funkuhr betreiben! Mein jetziges Problem ist halt noch, dass ich bei meinem 16x1 Display bloß die linke Hälfte angezeigt bekomme. Die rechte fällt leider weg... Naja, morgen müsste mein 16x2 LCD von Reichelt kommen... Sonst hätte ich ja noch mein 40x4 =P~ .
Weiß trotzdem jemand, wie ich die rechte Hälfte bei meinem 16x1 "aktiviere"?
thx 4 @.
cu Cap.