www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zahlen getrennt ausgeben


Autor: Marcus Täsler (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich suche ein Bauteil!
Und zwar:(beispil)
Am ausgang von Port Dx möchte ich eine binärzahl ausgeben:0b01100110 und 
das Bauteil sol diese Zahl an den ausgängen ausgeben.
Siehe anhang(bild).

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marcus

Schau mal im Internet nach Schieberegister. Sollte das richtige Bauteil 
für dich sein.


MFG
Dieter

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Z.B. HC595, kann über den SPI-Bus gesteuert werden.

Autor: Marcus Täsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und woher bekomme ich schieberegister hab schohn überall gekuckt aber 
nichts gefunden.

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo  Marcus

Schau doch mal hier auf der Seite unter Datenblätter

74 HC 595

Passt doch für dich.

MFG
Dieter

Autor: andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
?? Flip-Flop  Schieberegister  oder Latch!!

unter einem dieser Ausdrucke solltest du überall was finden

Autor: Helge (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ihr Fachleute
Hab da mal wieder ein Problem.Ich benutze Codevision und habe eine neue 
Version bekommen. Jetzt haut meine Ausgabe der Hex Werte nicht mehr 
hin.Hab schon alles probiert was mir einfiehl.
So wars vorher:
printf("%#.02X",i);  //wenn i 12 ist kam 0C raus
bei der neuen Version wird .02X  ausgegeben
Hab schon rausgefunden das
printf("%X",i);  ein C ausgibt (brauche aber 0C)
hat denn da wer eine Ideeeee???
Gruß helge

Autor: Marcus Täsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ich für ein Schieberegisterbrauche weiss ich schohn!
Und wie man die schaltet weis ich auch schohn(google)!
Woher ich die Teile Bekomme weiss ich noch nicht!
Ich will ein Schieberegister einsetzen um ein bischen zu üben mit 
Laufschrift und so...und ich wollte mir 3 dotmatrix LED`s kaufen aber da 
die ausgänge am µC nicht reichen brauche ich ein (paar) Schieberegister.
Ich wollte die schieberegister z.b. an PORTDx anschliesen aber wie kann 
ich den die eine binärzahl an nur einem PORD ausgeben normalerweise wenn 
man eine binärzahl ausgibt kommen die doch an den allen ausgängen des µC 
Raus.
Eine kurze erklährung wie man das macht währe ich sehr Dankbar.
naja das wars erstmal!
TSCHÜSS und DANKE

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marcus

Du willst also eine Variable (8 Bit) hintereinander an einem Port Pin 
ausgeben, soweit ich dich verstanden habe.

Eine Möglichkeit:
Teste das unterste Bit (LSB) deiner Variablen z.B. auf 1. Wenn 1 dann 
setzet du den entsprechenden Port Pin auf 1, wenn 0 halt nicht. Danach 
schiebst du die Variable um eine Stelle nach rechts und machst das 
gleiche wieder. Über eine Zählvariable, die in einer Schleife jedes Mal 
erhöht wird, weißt du dann, wenn du fertig bist.

MFG
Dieter

Autor: Marcus Täsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich jetzt nicht genau verstanden.
(ja ich will eine variable 8bit an nur einem PORT PIN ausgeben).
Danke!

Autor: Dieter Brüggemann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marcus

Deine Variable hat den Wert 155 = binär 10011011 und soll auf Portd 1 
ausgegeben werden.
a = schleifenzähler
a= 0
1001101"1" unterste Bit 1 = setze Portd 1 auf 1
kleine Pause nach bedarf
a = 1

einmal nach rechts schieben
0100110"1" unterste Bit 1 = setze Portd 1 auf 1
kleine Pause nach bedarf
a = 2

einmal nach rechts schieben
0010011"0"  unterste Bit 0 = setze Portd 1 auf 0
kleine Pause nach bedarf
a = 3

einmal nach rechts schieben
0001001"1"  unterste Bit 1 = setze Portd 1 auf 1
kleine Pause nach bedarf
a = 4

Im Programm macht man das dann mir einer Schleife

usw
Hoffe das war jetzt etwas besser erklärt.

MFG
Dieter

Autor: Marcus Täsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut danke jetzt kann ich ein Bischen Herumspielen :-)
Danke an alle die mir geholfen haben!!!

Autor: Marcus Täsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab auch schohn ein anbieter für die Schieberegistergefunden...

Autor: Marcus Täsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich bins nochmal...
Diese schieberegister kann man doch auch über das PWM ausgang des µC 
Schalten! oder?
aber wenn ich jetzt sgen wir mal 3 Ledmatrix anschliesen wil über 
schieberegister und an portD und PortB(ich hab mir das so gedacht pro 
matrix schliese ich ein Schieberegister an PBx und PDx an wenn ich jetzt 
aber 3 anschliesen will dann funktioniert doch die mehtode von Autor: 
Dieter Brüggemann [*.dip.t-dialin.net]
Datum: 10.04.2003 21:18
nicht.
also zum experimentieren geht das erstmal.
gibt es da auch noch andere möglichkeiten.?

Autor: Andrè (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja ich könnt euch weiterhelfen mach es aber nur wenn ich dafür eine
Laufschriftsteuerung mit eenem 16F84 in MPLap geschribenes Programm
bekomme.

Autor: miwitt001 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso geht das nicht?? Sagen wir mal du hast 3 Register. Die
Clock-Signale kannst du von allen 3 verbinden das spart 2 Pins.
Ich sag einfach mal das Register 1 an PIND1, Register 2 an PIND2 usw
angeschlossen ist. Die Clockpins sind im Bsp auf PIND4
Dann hast du 3 Zahlen (00000110,00000010,00000001) die auf die Register
sollen. Das geht dann so in etwa:

00000110: letztes Bit ist 0, d.h. PIND1 = 0
00000010: letztes Bit ist 0, d.h. PIND2 = 0
00000001: letztes Bit ist 1, d.h. PIND3 = 1

Jetzt PIND4 auf 1 um einen Impuls auf ALLE Register zu geben (weil ja
die Clockpins verbunden sind), damit übernehmen alle ihr zugehöriges
Bit.
PIND4 wieder auf 0, damit das ganze auch wirklich nur ein Impuls und
nicht Dauerzustand ist.

Dann das ganze von vorne, nur das nächste Bit anschaun:

00000110: vorletztes Bit ist 1, d.h. PIND1 = 1
00000010: vorletztes Bit ist 1, d.h. PIND2 = 1
00000001: vorletztes Bit ist 0, d.h. PIND3 = 0

wieder Impuls auf PIND4 und dann so weiter....

Mit dem Pin an dem das PWM Signal ist, kannst du das ganze Ansteuern,
wenn du den PWM Generator nicht benutzt. Dann kannst du den PIN als
ganz normalen I/O Pin verwenden wie alle andern auch.
mfg Michael

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Diese schieberegister kann man doch auch über das PWM ausgang des µC
Schalten!"

Ja, Du kannst das PWM-Signal an den Output Enable Pin anlegen.
Aber Du änderst damit nur die Helligkeit aller LEDs gleichzeitig.
Unterschiedlich helle LEDs gehen damit nicht.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andrè

wenn Du gefrustet bist, weil Du mit Deinem PIC nicht klarkommst, dann
wechsele doch einfach mal den MC.


Peter

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.