Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
disciple
Anmeldungsdatum: 04.03.2005 Beiträge: 4 Wohnort: wollt ihr net wissen.... ;)
|
Verfasst am: 11. März 2005 16:16 Titel: 0 - 99 an 7-seg-anzeige |
|
|
aaaaaalso, ich hätte da folgendes pröblem. ich gebe 2 zahlen binär ein, addiere diese und möchte das ergebnis anschließend an den 7-seg-anzeigen wiedergeben. das ganze an dem AT89C51ed2. als ergebnis soll nicht mehr als 99 möglich sein! nun zum eigentlichen problem:
um das ganze vernünftig anzeigen zu können muss ich doch das ergebnis mit allen möglichen Möhlichkeiten ( ) vergleichen um entscheiden zu können welche zahl denn nun das ergebnis ist, oder ist meine lösung einfach zu.......primitv?? gibt's da noch andere möglichkeiten wie ich das ergebnis anzeigen könnte, OHNE so verdammt viele abfragen machen zu müssen??
ich hab das bisher so entwickelt: ich frag erst mal ab, in welchem zahlenbereich das ergebnis liegt ( 0-9 oder 10-19 oder 20-29 .....) um dann schneller vergleichen zu können welche zahl angezeigt werden soll. im endeffekt kommen aber trotzdem immer noch so viele abfragen zu Stande..........wie gesagt: fallen euch dann andere möglichkeiten ein???? wäre echt nett......!! _________________ greetz...... |
|
Nach oben |
|
|
|
kurellajunior Administrator
Anmeldungsdatum: 14.02.2005 Beiträge: 214 Wohnort: Berlin-Pankow
|
Verfasst am: 11. März 2005 16:28 Titel: |
|
|
kennst Du BCD?
Damit geht es ganz leicht... _________________
|
|
Nach oben |
|
|
disciple
Anmeldungsdatum: 04.03.2005 Beiträge: 4 Wohnort: wollt ihr net wissen.... ;)
|
Verfasst am: 12. März 2005 12:35 Titel: |
|
|
sollte ich kennen.... müsst halt mal wieder in den unterlagen schauen.....meinst du schon, dass ich binär eingebe, das ergebnis dann wohl auch noch binär gespeichert wird, und ich dann so (bcd) ausgeben kann.....oder soll ich deiner meinung nach die ganze eingabe auch als bcd durchführen. _________________ greetz...... |
|
Nach oben |
|
|
kurellajunior Administrator
Anmeldungsdatum: 14.02.2005 Beiträge: 214 Wohnort: Berlin-Pankow
|
Verfasst am: 12. März 2005 15:00 Titel: |
|
|
disciple hat Folgendes geschrieben: | sollte ich kennen.... müsst halt mal wieder in den unterlagen schauen.....meinst du schon, dass ich binär eingebe, das ergebnis dann wohl auch noch binär gespeichert wird, und ich dann so (bcd) ausgeben kann.....oder soll ich deiner meinung nach die ganze eingabe auch als bcd durchführen. |
Zuviel Aufwand. Der Entscheidungsalgorithmus um eine binärzahl in eine binär kodierte Dezimalzahl zu überführen ist relativ einfach... Wir haben den damals hardwareseitig gebaut und mussten uns dazu vorher die logische Schaltung aufmalen und optimieren. Geht ganz gut.
Du kannst natürlich die Eingabe direkt in BCD umwandeln und dann BCD addieren. Die Regeln dafür sind auch schlicht.
Jan _________________
|
|
Nach oben |
|
|
Georg Administrator
Anmeldungsdatum: 15.02.2005 Beiträge: 57 Wohnort: Aachen
|
Verfasst am: 13. März 2005 17:56 Titel: |
|
|
Hi,
ich mag total danebenliegen, aber das klingt irgendwie furchtbar kompliziert. Da ich mich mit der hardwareseitigen Umsetzung nicht wirklich auskenne, könntest Du eben kurz erläutern wie die Zahlen an das Display übergeben werden müssen? |
|
Nach oben |
|
|
disciple
Anmeldungsdatum: 04.03.2005 Beiträge: 4 Wohnort: wollt ihr net wissen.... ;)
|
Verfasst am: 13. März 2005 19:15 Titel: |
|
|
das ganze soll so ablaufen: ich geb eine zahl ein, dann geb ich ne 2. zahl ein.das ergebnis (der addition/subtraktion) wird dann an der 7-seg-anzeige angezeigt. das ergebnis kann net größer als +-99 sein, da nur 2 7-seg-anzeigen vorhanden sind. hoffe du meintest das......
Zitat: | Zuviel Aufwand. Der Entscheidungsalgorithmus um eine binärzahl in eine binär kodierte Dezimalzahl zu überführen ist relativ einfach... Wir haben den damals hardwareseitig gebaut und mussten uns dazu vorher die logische Schaltung aufmalen und optimieren. Geht ganz gut.
Du kannst natürlich die Eingabe direkt in BCD umwandeln und dann BCD addieren. Die Regeln dafür sind auch schlicht.
Jan |
ich hab das bisher so realisiert, dass das ergebnis der 2 eingegebenen binärzahlen korrekt an den 7-seg-anzeigen zu sehen is. der programmieraufwand war zwar enorm aber auch net gard kompliziert. aber bei dieser version kommt folgendes problem: der programmablaufplan wird eeeeeewig lang. deshalb auch meine frage..... ich glaub inzwischen dass man das auch gar net kürzen kann.... _________________ greetz...... |
|
Nach oben |
|
|
kurellajunior Administrator
Anmeldungsdatum: 14.02.2005 Beiträge: 214 Wohnort: Berlin-Pankow
|
Verfasst am: 14. März 2005 08:23 Titel: |
|
|
Wie gesagt, der Additionsalgorithmus von BCD beschränkt sich auf 4 oder 6 Regeln. Für eine BCD brauchst Du 4 bit. Das bedeutet, dass Du für Deine 7-seg Anzeige genau ein Byte brauchst. Jetzt musst du entweder Deine Binärzahl in BCD umwandeln oder gleich die Eingabe in BCD umwandeln und BCD addieren. (etwas kompliziertere Rechnung) wie dem auch sei, wenn das Ergebnis in BCD vorliegt, machst Du für jedes Segment ein ...-Diagramm (Name vergessen) in dem Du für die Fälle ankruzt, in denen dieses Segment leuchten muss. (4 bit müssen herangezogen werden, also brauchst du ein ((2x2)x(2x2)) Diagramm um alle Fälle abzudecken. Dann fässt du die günstigen Fälle zusammen und erhälst pro Segment eine optimierte Menge von ODER- bzw. verneinten UND-Aussagen.
Ich guck mal ob ich ein Beispiel basteln kann, wenn Dus brauchst.
Jan _________________
|
|
Nach oben |
|
|
disciple
Anmeldungsdatum: 04.03.2005 Beiträge: 4 Wohnort: wollt ihr net wissen.... ;)
|
Verfasst am: 14. März 2005 19:13 Titel: |
|
|
Zitat: | Wie gesagt, der Additionsalgorithmus von BCD beschränkt sich auf 4 oder 6 Regeln. Für eine BCD brauchst Du 4 bit. Das bedeutet, dass Du für Deine 7-seg Anzeige genau ein Byte brauchst. Jetzt musst du entweder Deine Binärzahl in BCD umwandeln oder gleich die Eingabe in BCD umwandeln und BCD addieren. (etwas kompliziertere Rechnung) wie dem auch sei, wenn das Ergebnis in BCD vorliegt, machst Du für jedes Segment ein ...-Diagramm (Name vergessen) in dem Du für die Fälle ankruzt, in denen dieses Segment leuchten muss. (4 bit müssen herangezogen werden, also brauchst du ein ((2x2)x(2x2)) Diagramm um alle Fälle abzudecken. Dann fässt du die günstigen Fälle zusammen und erhälst pro Segment eine optimierte Menge von ODER- bzw. verneinten UND-Aussagen. |
danke für den tipp!!!du meinst das KV-Diagramm, kenn ich. hätte das jetz aber nich mehr beachtet, so könnte man das versuchen!! naja, ich meld mich dann wieder wenn ich n paar ergebnise vorweisen kann.... _________________ greetz...... |
|
Nach oben |
|
|
Georg Administrator
Anmeldungsdatum: 15.02.2005 Beiträge: 57 Wohnort: Aachen
|
Verfasst am: 14. März 2005 19:29 Titel: |
|
|
Genau darauf wollte ich doch auch hinaus |
|
Nach oben |
|
|
kurellajunior Administrator
Anmeldungsdatum: 14.02.2005 Beiträge: 214 Wohnort: Berlin-Pankow
|
Verfasst am: 14. März 2005 22:53 Titel: |
|
|
Georg hat Folgendes geschrieben: | Genau darauf wollte ich doch auch hinaus |
Achso, dass wir darauf nicht gleich gekommen sind
aber ja KV hieß das glaub ich... _________________
|
|
Nach oben |
|
|
|