PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Binärzahlen und Ports



seppi
12.01.2004, 20:11
hi ich wollte nur wissen wie ich dezimale zahlen in binäre umrechne und dann nach den binären zahlen die ports beschaltet.

z.b.:

dezimal 189 = binär 10111101

damit sollte
port 1 ein sein
port 2 aus sein
port 3 ein sein
port 4 ein sein
port 5 ein sein
port 6 ein sein
port 7 aus sein
port 8 ein sein

wie schreibt man das?
hat da jemand einen quelltext?


Vielen dank schon jetzt für alle antworten.

CityJumper
12.01.2004, 20:18
willst du das in c-c programieren? also für die c-controll?
oder suchst du nur ein progie was das füch dich machen kann?

den programme findest du bei google.

wenn du das in der c-c machen wilst deinir doch einfach nen byteport und benutz den dezimalwert.

mfg
michael

Matthias
12.01.2004, 20:28
uf nem PC geht das einfach mit dem Rechner, der unter "zubehör" meistens dabei ist. Wenn du es auf der CC machen willst, wie willst du die zahlen eingeben? Über ADCs oder ne Matrixtastatur?

Matthias

13.01.2004, 06:59
ich hab der c-control die zahl über den seriellen port geschickt und will so die ports danach beschalten.

Ich müsste eigendlich nur wissen wie man von dezimal nach binär umrechnet.

13.01.2004, 09:52
Wozu brauchst du die Binärzahl? Um die vorstellen zu können welcher Port aktiviert wird? In der C-Control kannst du ja alles dezimal angeben!

Matthias
13.01.2004, 20:56
Ne Serielle kann nur ASCII ausgeben. Du musst einfach dass, das du empfangen hast -48 rechnen. Dann kommt da die dezizahl raus, die der µC automatisch in ne binäre umwandelt.

Matthias

Frank
13.01.2004, 20:58
Eben, man muss eigentlich nie wirklich binäre Werte angeben.

Matthias
13.01.2004, 21:02
Ups ich glaug das war die falsche antwort. Wie ich oben schon gesagt hab, kannst du den Windows-Rechner benutzen, den du unter Ansicht auf "wissenschaftlich" umstellst. Wenn du dann ne dezimale eingibst, kannst du auf binär umschalten. Der Taschenrechner rechnet alles von alleine um. Tipp: Lass den Rechner immer im Hintergrund laufen, während du Programme schreibst. Mach ich auch immer. Es gibt auch Taschenrechner mit der Funktion, die aber superteuer sind. Da isst es besser, man programmiert sich nen eigenen Taschenrechner und gibt alles auf nem LCD aus. Ich hoff das, das hat dir weitergeholfen.

Matthias

Frank
13.01.2004, 21:06
Und Seppi bitte nicht 3 Threads mit der gleichen Frage eröffnen - einfach der ersten Thread weiterführen [-X

psycho
22.02.2004, 21:28
umrechnen zwischen den zahlensystemen kannst du mitm windows-taschenrechner .. (auch schnell über ausführen "calc" aufrufbar)!

und in der c-control unit kannst du ja binär-, hex- und dezimalwerte angeben. also kannst dus auch gleich dezimal eingeben!

Matthias
23.02.2004, 12:18
Ich hab mir dieses programm downgeloadet: http://www.wolfgang-back.com/DOWNLOAD/VBPROGRAMME/HEXDEZ.EXE

24.03.2004, 19:11
uf nem PC geht das einfach mit dem Rechner, der unter "zubehör" meistens dabei ist. Wenn du es auf der CC machen willst, wie willst du die zahlen eingeben? Über ADCs oder ne Matrixtastatur?

Matthias

recycle
25.03.2004, 00:05
ich hab der c-control die zahl über den seriellen port geschickt und will so die ports danach beschalten.

Ich müsste eigendlich nur wissen wie man von dezimal nach binär umrechnet.



Schliess doch einfach an jeden Port ne LED an. Wenn du dann z.B.
Portb = 188
eingibst, kannst du den Binärwert sofort an den LEDs ablesen.

Hmmm, weiss übrigens jemand, ob man einen Robby mit dem Windows-Taschenrechner steuern kann? An meinem Controller sind keine Ports mehr frei, da hängen überall LEDs für die Binärwertberechnung daran ;-)

nina
19.06.2004, 14:05
Hallo,
habe diesen Threat hier ebend gefunden. Habe einen guten Link für die Umrechnung Binär/Dezimal/Hexadezimal

http://www.elektrotechnik-fachwissen.de/tabellen/zahlensysteme-umwandlung.php

ansonsten rechnet man so z.B. die Zahl 1972 um:

1972:2 = 986 Rest (0)
986:2 = 493 Rest (0)
493:2 = 246 Rest (1)
246:2 = 123 Rest (0)
123:2 = 61 Rest (1)
61:2 = 30 Rest (1)
30:2 = 15 Rest (0)
15:2 = 7 Rest (1)
7:2 = 3 Rest (1)
3:2 = 1 Rest (1)
1:2= 0 Rest (1)

dann von unten nach oben lesen = 11110110100

[wobei 2/0 = 1 gesetzt wird]

Gruß nina

Dirk
20.06.2004, 14:43
Ein merkwürdiger Thread hier!!!

Dezimal <-> Binär ..., was für ein Thema.

Der CC1 speichert, wie (fast) jeder andere Computer ALLE DATEN binär, d.h. als Einsen und Nullen. Würde man an jede Speicherstelle eine LED anschließen, könnte man die ganzen Schaltzustände des Speichers sichtbar machen.
Wenn Du eine "Dezimalzahl" über die serielle Schnittstelle verschickst, sind das auch nur Einsen und Nullen und dies läßt sich bis 255 mit 8 Bit (d.h. 8 Speicherstellen) und bis 65535 mit 16 Bit speichern.
Wenn Du also Dezimalzahlen von 0 bis 255 verschickst, kannst Du das empfangene Byte (= 8 Bit) direkt an einen Byteport (define Ausgabeport Byteport[2]) leiten und die LEDs an die Ports[9..16] zeigen den 8-Bit-Binärwert an.

Gruß Dirk