www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 7 Segment ansteuern


Autor: Christine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche jetzt mein Programm weiter zu entwickeln,
sodass mein Zähler auf 99 Zählen kann, aber ich habe Probleme
mit der Ansteuerung der anderen 7Segment Anzeigen.
Also auf der Platine sind 4 7Segmentanzeigen und zwei
Ports. Das eine Port wählt automatisch die erste
Anzeige aus und das andere Port da muss man irgendwas
setzten um die anderen Anzeigen anwählen zu können, es
ist sozusagen das Steuerport,
hat jemand vielleicht eine Ahnung?

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo christine,
hab deine mail schon erhalten.
was ist das denn für eine platine wo die anzeigen drauf ist?
lg leo

Autor: Christine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich habe eine Hauptplatine mit Mikrocontroller und 4 Ports
und dann als sozusagen externe Platine eben eine mit 4 7Segmentanzeigen
und zwei Ports

also irgendwie von der schule entwickelt

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab andis beitrag gelesen - er hat recht!
aber leider kann ich dir ohne schaltplan deiner platine nichts
genaueres sagen.
----

@binär-bcd-konvertierung: weißt du wie das geht?
in einem register, zb. akku (a) steht dein wert. es ist ein 8-bit-wert,
dh. er kann einen wert zwischen 0...255 aufnehmen! diesen gilt es nun,
in eine binär-codierte-dezimalzahl BCD zu wandeln.

Ob die routine 100%ig stimmt, kann ich dir nicht versichern,
da ich normalerweise mit avrs arbeite...


; Adressen im Ram festlegen...
H   equ    XXXh
Z   equ    YYYh
E   equ    ZZZh

;***************************************************
;*** BINÄR-BCD-KONVERTIERUNG                     ***
;*-------------------------------------------------*
;*** Binärzahl muss im Akku übergeben werden     ***
;***************************************************
bin2bcd:
;hunderter-stelle
          push  acc
          mov   b, #100    ; wert 100 ins b-register schreiben
          div   ab         ; binärwert im a durch 100 dividieren
                           ; ergebnis steht im Akku (rest im b)
          mov   H, a       ; hunderterstelle im RAM ablegen
          pop   acc
          mov   b, #100
          subb  a, b       ; 100 subtrahieren

;zehner-stelle
          push  acc
          mov   b, #10     ; wert 10 ins b-register schreiben
          div   ab         ; binärwert im a durch 10 dividieren
                           ; ergebnis steht im Akku (rest im b)
          mov   Z, a       ; hunderterstelle im RAM ablegen
          pop   acc
          mov   b, #10
          subb  a, b       ; 10 subtrahieren

;einer-stelle
          mov   E, a       ; hunderterstelle im RAM ablegen

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
 tschuldigung 
hab bei den kommentaren vergessen den text umzuändern, weil ich sie
kopiert habe. es muss natürlich stehen:
   hunderterstelle im ram ablegen
   zehnerstelle im ram ablegen
   einerstelle im ram ablegen

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
; Adressen im Ram festlegen...
H   equ    000h
Z   equ    001h
E   equ    002h

Autor: Christine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke

ich versuche mein bestes mit unmengen kaffee und papier mal was auf die
reihe zu bekommen für mein projekt

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist denn das für eine Schule ?


Josef

Autor: Christine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mh ein Informationstechnisches Gymansium in BW

ich finde es eigentlich ziemlich cool

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hast du schon mal das datenblatt von deinem controller durchgelesen?

Autor: Christine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja mh ich schicke dir mal die schaltplan ok?

Autor: Christine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hoffe es funktioniert

Autor: Christine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ leo konnte es nicht hochladen hab dir ne e-mail geschickt

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.