ATMega16 - Porterweiterung mit 4x74HC595 und 7-Segmentanzeigen

JustiZe

Neues Mitglied
06. Feb. 2011
6
0
0
Sprachen
Hallo,

ich suche eine Möglichkeit, wie ich auf "einfache Weise" Zahlenwerte auf mein Display schicken kann, dass aus 4 7-Segment-Anzeigen mit gemeinsamer Anode und 4 74HC595-Schieberegistern aufgebaut ist.
Siehe Skizze:
http://img24.imageshack.us/i/imgeya.jpg/

Momentan kann ich nur etwas darstellen, wenn ich jedes Bit einzeln in BASCOM definiere und dann per SPI-Schnittstelle zum Display sende.

Hier mal der Code, um die Zahlen 0,1,2,3 darzustellen:


Code:
$regfile = "m16def.dat"
$crystal = 8000000

Do

' SERiell nach PArallel (serpa) mit Hardware-Unterstuetzung
' Beispiel mit 2 Datenbytes
' SPI Bus (Hardware) als Master konfiguiren
Config Spi = Hard , Master = Yes
' SPI Bus initialisieren
' setzt das DDR Register entsprechend
Spiinit
' Bytes für die Daten
Dim Serpa(4) As Byte
Serpa(1) = &B10110000
Serpa(2) = &B10100100
Serpa(3) = &B11111001
Serpa(4) = &B11000000
' Die Bytes auf den SPI Bus schieben
Spiout Serpa(1) , 4

Loop
End


Ich kann ja nun schlecht für 10000 mögliche Zahlen Bitmuster hinterlegen, dass muss doch auch einfacher gehen ?!

Hat da jemand eine Idee?

MfG JustiZe
 
Ich kann ja nun schlecht für 10000 mögliche Zahlen Bitmuster hinterlegen
.....


Hallo !

Warum musst du denn zig Tausende Bitmuster hinterlegen? :hmmmm:

Für jede Zahl von 0 bis 9 ein Bitmuster.... zzgl. ein weiteres, falls alle Segmente mal dunkel sein sollen.

Ergo benötigste du nur zehn Bitmuster, die du dann an die jeweilige Stelle schiebst. Fertig!

Ich hatte HIER mal dazu einen Beitrag geschrieben.... allerdings mit SHIFTOUT und nicht via SPI.
Letztlich ist das Prinzip aber das Gleiche. ;)


Grüße,
Cassio
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)