AVR - Eine 5x7 Dotmatrix LED effektiv programmieren

OP #974805
Lesenswert?
• ▲
▼
Hi ich möchte gerne eine 5x7 Dotmatrix LED ansteuern.
Ich arbeite mit Bascom und mit einem Atmega16.
Ich habe ein Programm geschrieben das eine "1" darstellt (siehe Anhang). 
Funktioniert auch wunderbar, jedoch ist der Code extrem lang. Es muss 
doch eine möglichkeit geben es effektiver zu programmieren...

Hab ihr eine Idee?

Lg Tryan
Angehängte Dateien:
OP #975010
Lesenswert?
• ▲
▼
hmmm...also ich wollte die Anzeige Direkt ansteuern.
Ich bin noch sehr neu in der µC Welt (sieht man bestimmt an dem 
Programm)
Könnte mir jemand ein groben Programm-Aufbau geben, damit versuche ich 
dann zu arbeiten.
Da ich keine schimmer habe wie ich am besten Anfange...

mfg TRyan
#975062
Lesenswert?
• ▲
▼
@Tobias S. (Firma DESY) (tryan)

>hmmm...also ich wollte die Anzeige Direkt ansteuern.

Das Ding heisst Matrix, kann also nur als Matrix angesteuert werden.

>Könnte mir jemand ein groben Programm-Aufbau geben, damit versuche ich
>dann zu arbeiten.
>Da ich keine schimmer habe wie ich am besten Anfange...

Lies mal den Artikel LED-Matrix, denk drüber nach, morgen reden wir 
weiter.

MFG
Falk
OP #975675
Lesenswert?
• ▲
▼
Der Max 7219 ist schon schön, aber sehr teuer um nur eine Matrix 
anzustuern...
Aber danke für den Tipp.
Bei DESY laufen nicht nur Physiker rum auch Azubis ;)
Aber ich werde es mal mit Asm versuchen, vielleicht komm ich da mein 
Ziel etwas näher.
Danke!

mfg Tryan
#975718
Lesenswert?
• ▲
▼
Tobias S. wrote:
> und langsam finde ich Programmieren echt
> frustrieren. Man hat zwar Ideen kann sie aber einfach nicht umsetzten.

Stimmt, man kann nicht einfach so drauflos programmieren.
Man muß sich erstmal die Aufgabe klar machen.

Am besten fängt man beim Programmieren damit an, daß man den PC 
ausschaltet und zu Papier und Stift greift.
Und dann malt man alle nötigen Schritte auf.
Sind die Schritte zu komplex, daß man sie nicht übersichtlich darstellen 
kann, unterteilt man sie in Unterschritte (neues Blatt).

Und erst wenn man den Überblick hat, kann man mit dem Einhacken 
beginnen.

Du hast ein Zeichen (1 Byte ASCII-Code).
Damit willst Du 5*7 LEDs ansteuern.
Also brauchst Du eine Tabelle mit 5 Bytes je Zeichen.
Diese 5 Bytes schreibst Du in eine 5Byte Puffer.
Dann setzt Du nen Timerinterrupt auf und darin nen Zähler 0..4.
Der Timerinterrupt gibt dann für genau gleiche Zeitabschnitte eine 
Spalte (1 Byte aus dem Puffer) aus und setzt den entsprechenden 
Spaltentreiber.
Nach 5 Interrupts wurden also alle 5 Spalten dargestellt.
Bei ~500Hz Interruptfrequenz sieht das Auge alle 5 Spalten gleichzeitig.
Und fertisch.


Peter
Gast #3699770
Lesenswert?
• ▲
▼
Tobias S. schrieb:
> Der Max 7219 ist schon schön, aber sehr teuer um nur eine Matrix
> anzustuern...
> Aber danke für den Tipp.
> Bei DESY laufen nicht nur Physiker rum auch Azubis ;)
> Aber ich werde es mal mit Asm versuchen, vielleicht komm ich da mein
> Ziel etwas näher.
> Danke!
>
> mfg Tryan

Wenn du aus china bestellst kosten sie ca...1 bis 2 euro
..
Versand dauert aber halt 20-30 tage...
Hab ich auch gemacht....50 Stück für 21,50 eur....

Und die ic's funktionieren wie 'ne eins!

Achtung!!!!! Bestellung + Versandkosten dürfen nicht 22eur übersteigen. 
..sonnst fallen steuern an!!!!

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.