mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik speicher für 50 * 15 nummern


Autor: didi court (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi leute,

ich bräuchte wieder mal eure hilfe.

ich suche einen speicher den ich über meinen µC (pic16f84a) ansprechen
kann, auf dem ich ca. 50 Nummernkombinationen mit je 15 zahlen
abspeichern (bei bedarf auch ändern) und über den µC wieder abrufen
kann.

ich hoffe ihr könnt mir weiterhelfen

mfg stani

Autor: Tim O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ..

Zwar kenne ich PICs nicht sonderlich, aber es sollte doch
auch in der Familie eine Version geben, die 400 Byte
(eigentlich weniger, aber wenn man pro Kombination 4 Bit
als "Status" nutzt, geht's halt auf ne runde Zahl) als
EEPROM zur Verfügung stellt..

Gruss,
Tim

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls du mit "15 Zahlen" 15 Dezimalziffern (Textzeichen) meinst, dann
benötigst du 50 x 15 Bytes = 750 Bytes. Im Packed-BCD-Format reicht die
Hälfte.

Wie wäre es mit einem seriellen EEPROM 24C08 (1024 Bytes)?

...

Autor: bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat der pic kein internes eeprom? wenn nicht gibts sowas überall in
massen zu kaufen, für ca nen euro. (512 bytes sollten genügen - Du
kannst ja pro byte zwei ziffern speichern wenn du das byte jeweils
teilst (unteren/oberen 4 bit) ansonsten nimmst du 1k damit kommst du
prima so hin.

Autor: bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
laut denk junge zwei mann geantwortet während ich geschrieben habe

Autor: didi court (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für eure raschen antworten!

also mein pic hat nur ein eeprom mit 64 byte. (das reicht dann doch
nicht ganz ;))

@ hannes
es geht hier nicht um dezimalzahlen, sondern um 15 stellige zahlen. und
50 davon sollen ungefähr gespeichert werden können.

mfg stani

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@HanneS,

hallo zuerst..
Es geht hier NICHT um dezimalzahlen, sondern AUSSCHLIESSLICH um
15stellige Zahlen!

@didi court stani

Kannst Du auch für mich nochmal den Unterschied
>..
es geht hier nicht um dezimalzahlen, sondern um 15 stellige zahlen.
/>..
erklären, bitte.
15stellige Zahlen ist doch irgentwas mit quadrillion oder so?
1 mit 14 Nullen 1.000.000.000.000.00 . Davon nun 50Stk?
Das ist doch dann aber auch automatisch eine Dezimalzahl, hmm
Oder meinst Du eine 15bit Zahl (signed)?

Gruß
Axel

Autor: Tim O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin..

Jede der 15 Stellen der 50 zu speichernden Zahlen, egal wo das Komma
steht, besteht aus einer Menge von {0,1,2,3,4,5,6,7,8,9} ?

Wenn ja:
Jede der 15 Stellen sind 4 Bit = 16 Möglichkeiten, von denen uns
aber 10 Möglichkeiten reichen -> Ergibt 375 Byte Gesamtspeicher
für angenommene 50 Werte.
Die Position Kommastelle (falls überhaupt) lässt sich ebenfalls
durch theoretische 4 Bit (16 Positionen, was auch wieder zuviel,
also ausreichend, wäre) .. -> Ergibt also 400 Byte Gesamtspeicher
für angenommene 50 Werte.

Wenn nein: Bitte genauer bzw. weniger missverständlich erklären,
scheinbar hab nicht nur ich so gedacht, wie die Beiträge zeigen g

Gruss,
Tim

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut also 15 Ziffern mal 50 ohne Bitschiebereien sind 750 Byte an Platz.


Also nen billiges EEProm a 1K*8 für einige Cent.(Gibt auch größere fürs
gleiche Geld weil die 1K*8 schon etwas ausser Mode sind)
Kannst dir noch überlegen ob I2C oder Seriell.

Ach ja:
Wenn de 16 Ziffern pro Eintrag nimmst dann kannste besser Rechnen
(2°n)
Platz haste ja genug.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moinmoin...

> @ hannes
> es geht hier nicht um dezimalzahlen, sondern um 15 stellige zahlen.
> und 50 davon sollen ungefähr gespeichert werden können.

Hmmm...
Ich spekulierte auf ASCII- "Textzeichen" (die auch Ziffern sein
können und damit Zahlen darstellen können), die ja wohl den höchsten
Verbrauch an Speicherplatz berücksichtigen und daher die meiste Reserve
bieten:

> Falls du mit "15 Zahlen" 15 Dezimalziffern (Textzeichen) meinst,
> dann benötigst du 50 x 15 Bytes = 750 Bytes. Im Packed-BCD-Format
> reicht die Hälfte.

Nunja, du wirst schon wissen was du vor hast...

Bit- & Bytebruch...
...HanneS...

Autor: didi court (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo nochmal!
sorry, dass ich hier scheinbar ein wenig verzweiflung in die ganze
community bringe!

ich geb jetzt einfach mal ein paar beispiele an, wie sich diese "50
nummernkombinationen à 15 zahlen/ziffern darstellen sollen:

----1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
01: 0-8-8-9-7-4-8-3-4--5--7--7--2--3--3
02: 5-2-4-0-7-8-9-5-6--5--4--4--1--2--7
03: 1-4-5-6-7-7-8-2-3--4--7--8--9--3--7
..
..
50: 8-8-4-1-5-6-7-9-7--8--9--5--2--4--1

ich, hoff ich hab das chaos jetzt nicht ganz perfekt gemacht ;)

mfg

Autor: didi court (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aja, die bindestriche(-) sind natürlich wegzudenken ;)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also sind es 50 Texte, die nur aus Ziffern bestehen. Du willst damit
also nicht rechnen, sondern sie als Text interpretieren, z.B. als
Passwort oder Ähnliches.

Mit wenig Rechenaufwand benötigst du für jedes Zeichen ein Byte, bei 64
Texten zu 16 Zeichen (weil "runde Zahlen", binär gesehen) reicht ein
serieller 1024x8-EEPROM für wenige Cent.

Wenn du mit etwas Rechenaufwand deine "Nummern" auf 4 Bit reduzierst
und jeweils 2 davon in ein Byte legst, dann kommst du mit einem
seriellen EEPROM 512x8 aus. Das wird aber auch nicht billiger, da sich
diese kleinen EEPs im Preis nix nehmen.

Willst du allerdings mit diesen Nummern "rechnen", so wandle diese in
Binärzahlen um, damit rechnet es sich leichter. 64 Bit (8 Bytes) pro
Zahl dürften locker ausreichen.

Da nur du weißt, was du damit machen möchtest, kannst auch nur du
wissen, wie man die "Nummern" vorteilhaft speichert.

...

Autor: David W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 56 Bit kommste auf 72.057.594.037.927.936, dürfte also reichen.

7x50 = 350 Byte + Rechenzeit zum dekodieren.

Ich denke, die Methode mit Packed BCD is am sinnvollsten.

Autor: Tim O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie klassisch ^^

Fast alle meinen die selbe Vorgehensweise, inklusive
des Fragestellers, und keiner merkt es ^^

Dennoch, um die Frage zu beantworten:

Such dir einfach einen aus:
http://www.elektronik-kompendium.de/public/borcher...

Denn schliesslich war deine ursprüngliche Frage ja nicht, wie du
effektiv und damit platzsparend Daten speichern kannst, sondern
"...ich suche einen speicher den ich über meinen µC (pic16f84a)
ansprechen kann..."

Bei der Auswahl kannst du aber bedenkenlos die hier gemachten
Vorschläge aufgreifen ;)

Gruss,
Tim

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig...

Deshalb empfehle ich jetzt provokativ sie Secure-Digitalcard (SD-Card).
Denn den seriellen EEPROM haben wir inzwischen alle schonmal genannt.

...

Autor: Ratber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar.
Der Aufwand fürs Interface ist egal.

Da kann ich auch mal "provokativ" gleich ne Festplatte empfehlen.
Ist superschnell und reicht für Ewig. :D

Autor: David W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manch einer behält sowas auch im Kopf oder nimmt nen Stift und nen Blatt
Papier. :)

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon gesagt amn kann auch nen Nadeldrucker verwenden ;)

Autor: Läubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm... wo wir Grad bei Provokativ sind: Man kann auch den PIC an den PC
anshcleissen udn dort die nummern speichern ;P

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.