Forum: Mikrocontroller und Digitale Elektronik wie steuer ich nen sn7447 mit avr an??


von andi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo
ich würde gerne 7segment-anzeigen über den sn7447 und ein
Schieberegister mit nem atmel 90s2313 ansteuern.
Programmieren mit Bascom klappt ganz gut aber mit dem Rest hab ich noch
nie gearbeitet und keine Ahnung.

Über Schaltpläne sowie link würde ich mich sehr freuen!!!
bitte low level Erklärungen!!
mfg andi

von Jim (Gast)


Lesenswert?

Benutz mal die Suchfunktion und Du kannst Dich freuen.

von Peter D. (peda)


Lesenswert?

"wie steuer ich nen sn7447 mit avr an??"

Am besten garnicht, der ist nur ein unnötiger Stromfresser.


Mit dem Schieberegister bist Du schon auf dem richtigen Weg, z.B. das
74HC595 wird gerne genommen.

Entweder für jedes Digit eins und alle 74HC595 hintereinander
geschaltet.

Oder multiplexen, z.B. ein Register für die Segmente und eins für die
Digits (bis 8 Digits).
Alerdings machen das Anfänger nicht gerne, da man das Multiplexen mit
einem Timerinterrupt machen muß.
Und wenn Du keine low-Current Anzeigen nimmst, brauchts auch noch
Treibertransistoren (npn für die Digits und pnp für die Segmente bei
Anzeigen mit gemeinsamer Anode).


Peter

von andi (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank Peter!!!
Das hilft mir schon mal weiter!
hab grad schon den 7447 durchgeheizt....hatte wohl eine segmentanzeige
mit zu viel mA..
Also dann lass ich den weg und nehm direkt n paar schieberegister.
hab mir zum 74HC595 ein Datenblatt runtergeladen, aber n paar fragen
bleiben mir noch offen....
was mach ich mit den pins: mr,sh, st, oe und ds ?
und auf der programmiertechnischen seite?
0 clock 1 clock???
hoffe die fragen nerven nicht!!!
andi

von Elektrikser (Gast)


Lesenswert?

Ich weiß jetzt nicht, ob dein AVR Hardware-SPI kann. Aber man kann es ja
auch über die Software machen. Anschluß laut Wiki:
http://www.mikrocontroller.net/wiki/Porterweiterung_mit_SPI

Gruß Elektrikser

von Dirk (Gast)


Lesenswert?

Hi,

machnal hilft schon Eigeninitative. Such doch mal mit google da wirtse
fuendig pder schau mal ins Wikki.

Mfg

Dirk

von Peter D. (peda)


Lesenswert?

"hab grad schon den 7447 durchgeheizt"


Du weißt schon, daß LEDs immer mit Vorwiderstand betrieben werden
müssen !

Nur spezielle LED-Treiber (MAX7219) haben diese schon eingebaut.

Der 7447 jedoch nicht, der hat ganz normale TTL-Ausgänge.


Peter

von andi (Gast)


Lesenswert?

Dankeschön für die Hilfreichen tipps!
ich werd mir jetzt mal den link verinnerlichen..
das ich für die leds vorwiderstände brauche wusste ich schon, aber ich
glaub ich hatte entweder die spannung zu hoch oder meine 7segment
anzeige von 5cm höhe braucht doch zu viel strom....
kleine frage hätt ich noch was ist denn hardware spi?
danke andi!

von andi (Gast)


Lesenswert?

hab die spi-frage schon selber gefunden....
hab jetzt nur noch ne aller letzte frage... dann überlass ich die seite
wieder den niveauvolleren fragen...
ich würd gern den 74HC595 an pins des atmel hängen( kein spi-bus)
und programmier mir das dann nach bedarf.
welche pins vom 74HC595 muss ich dann an die atmel-ausgänge
hängen(brauch ich auch eingänge??) und was für I/0 signale muss ich den
einzelnen leitungen geben??
vielen dank schon im vorraus!!
hoffe ich langweile nicht!!!

von Mark Hämmerling (Gast)


Lesenswert?

Salut,

wenn Dir Deine eigenen Fragen zu trivial erscheinen, dann schau doch
vorher einfach mal ins Datenblatt. Dann klären sich die meisten Fragen
schon. :)

http://www.semiconductors.philips.com/acrobat/datasheets/74HC_HCT595_4.pdf

Also, Q7..Q0 gehen über Vor-R an die Segmente, logo.
An den AVR gehen: DS (Daten), SH_CP (high flanken wenn Bit anliegt) und
ST_CP (high flanken wenn "Bild" erscheinen soll, also wenn alle 8, 16,
24 oder mehr Bits draußen sind).
Auf Vcc: /OE
Auf GND: /MR

SH_CP ^= SCK, DS ^= MOSI, für ST_CP wird oft /SS genommen. SPI Mode 0.

Eingänge brauchst Du keine. Du kannst aber, wenn Du willst, das letzte
Q7' der Reihe an MISO legen. Dann kannst Du die Daten, die in den
Shiftregistern gelandet sind, überprüfen und ggf. die Übertragung
wiederholen. Halte ich aber für völlig überflüssig. Ich hab hier noch
nie Fehler bei der SPI-Übertragung feststellen können.

Gruß,
Mark

von Mark Hämmerling (Gast)


Lesenswert?

Salut nochmal,

Unsinn... es muß natürlich heißen:

Auf Vcc: /MR
Auf GND: /OE

Den /OE kannst Du auch an den AVR legen, z.B. an einen OC-Pin. Dann
kannst Du per PWM die Helligkeit der Segmente regeln.

Gruß,
Mark

von andi (Gast)


Lesenswert?

Hallo!
ich glaub jetzt hab ich schon sehr viel verstanden!!
Super!!
Vielen dank  MARK!!!
Kann das sein dass der pin MOSI bei meiner Prozessorbeschreibung mos
heißt und /SS als misc beschrieben wird???
Wenn ich die pins so anschließe, nutz ich ja die
spi-schnittstelle.....
Könnte ich auch über normale ausgänge die pins anschließen und mit der
software ausgleichen??wär wahrscheinlich viel zu programmieren??
Wenn ich also wie von Mark beschrieben die spi-anschlüsse benutze, wie
kann ich das schieberegister dann über Bascom ansteuern???
Gibt es einfach Variablen, die den Ausgangs-settings entsprechen??
Vielen dank ihr helft mir echt weiter!!!!!
Mit freundlichen Grüßen andi

von Mark Hämmerling (Gast)


Lesenswert?

Salut,

natürlich kannst Du ganz normale Pins verwenden. Und SPI in Software
ist völlig trivial.
Prinzip:

// - MOSI, SCK, LOAD auf Ausgang schalten
for (i = 0; i < 8; i++) {
  // - MOSI entsprechend Bitwert setzen
  // - SCK low
  // - SCK high, so generierst Du eine steigende Flanke, unabhängig vom
vorherigen Zustand des Pins
}
// - LOAD (also z.B. /SS) low
// - LOAD high

Was für eine "Prozessorbeschreibung" hast Du denn da? Klingt für mich
nach einer schlechten Fotokopie, wo rechts ein Stück vom Wort fehlt...
so wird aus "MISO" -> "MISC" und aus "MOSI" -> "MOS" ;) Nur ne
wilde Vermutung. :)

Gruß,
Mark

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.