- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 9 von 9

Thema: 10x10 Charlieplexed LED anzeige ansteuern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    10x10 Charlieplexed LED anzeige ansteuern

    Guten tag, ich habe eine 10x10 Charlieplexed LED anzeige gebaut mit dieser Zeichnung:
    Anhang 25116

    Meine microcontroller ist eine ATmega88 und es gibt 11 Tri-State-Pin verwendet:
    Pin1 Alias Portd.2
    Pin2 Alias Portd.3
    Pin3 Alias Portd.4
    Pin4 Alias Portd.5
    Pin5 Alias Portd.6
    Pin6 Alias Portc.0
    Pin7 Alias Portc.1
    Pin8 Alias Portc.2
    Pin9 Alias Portc.3
    Pin10 Alias Portc.4
    Pin11 Alias Portc.5

    Tri-state ist X, 0, 1
    X = nichts
    0 = 0 volt
    1 = 5 volt

    Problem:
    Mein Programm ist zu groß und nicht optimal. Mijn Ziel ist um text auf anzeige von rechts nach links.

    Kennt ihr vielleicht eine Möglichkeit das Programm effektiver zu schreiben?

    Vielen Dank für eure Hilfe

    (Dieser Code-Anzeige, den Buchstaben 'B' von rechts nach links)

    Code:
    $regfile = "m88def.dat"
    $crystal = 8000000
    $baud = 19200
    Dim A As Byte , B As Word , C As Word
    Config Portd = Input
    Config Portc = Input
    
    Pin1 Alias Portd.2
    Pin2 Alias Portd.3
    Pin3 Alias Portd.4
    Pin4 Alias Portd.5
    Pin5 Alias Portd.6
    Pin6 Alias Portc.0
    Pin7 Alias Portc.1
    Pin8 Alias Portc.2
    Pin9 Alias Portc.3
    Pin10 Alias Portc.4
    Pin11 Alias Portc.5
    
    Statepin1 Alias Ddrd.2
    Statepin2 Alias Ddrd.3
    Statepin3 Alias Ddrd.4
    Statepin4 Alias Ddrd.5
    Statepin5 Alias Ddrd.6
    Statepin6 Alias Ddrc.0
    Statepin7 Alias Ddrc.1
    Statepin8 Alias Ddrc.2
    Statepin9 Alias Ddrc.3
    Statepin10 Alias Ddrc.4
    Statepin11 Alias Ddrc.5
    
    A = 0.5
    B = 0
    C = 750
    
    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    
    Do
    For B = 0 To C Step 1
    Gosub Led92
    Gosub Led93
    Gosub Led94
    Gosub Led95
    Gosub Led96
    Gosub Led97
    Gosub Led98
    Next
    
    For B = 0 To C Step 1
    Gosub Led82
    Gosub Led83
    Gosub Led84
    Gosub Led85
    Gosub Led86
    Gosub Led87
    Gosub Led88
    Gosub Led92
    Gosub Led95
    Gosub Led98
    Next
    
    For B = 0 To C Step 1
    Gosub Led72
    Gosub Led73
    Gosub Led74
    Gosub Led75
    Gosub Led76
    Gosub Led77
    Gosub Led78
    Gosub Led82
    Gosub Led85
    Gosub Led88
    Gosub Led92
    Gosub Led95
    Gosub Led98
    Next
    
    For B = 0 To C Step 1
    Gosub Led62
    Gosub Led63
    Gosub Led64
    Gosub Led65
    Gosub Led66
    Gosub Led67
    Gosub Led68
    Gosub Led72
    Gosub Led75
    Gosub Led78
    Gosub Led82
    Gosub Led85
    Gosub Led88
    Gosub Led93
    Gosub Led94
    Gosub Led96
    Gosub Led97
    Next
    
    For B = 0 To C Step 1
    Gosub Led52
    Gosub Led53
    Gosub Led54
    Gosub Led55
    Gosub Led56
    Gosub Led57
    Gosub Led58
    Gosub Led62
    Gosub Led65
    Gosub Led68
    Gosub Led72
    Gosub Led75
    Gosub Led78
    Gosub Led83
    Gosub Led84
    Gosub Led86
    Gosub Led87
    Next
    
    For B = 0 To C Step 1
    Gosub Led42
    Gosub Led43
    Gosub Led44
    Gosub Led45
    Gosub Led46
    Gosub Led47
    Gosub Led48
    Gosub Led52
    Gosub Led55
    Gosub Led58
    Gosub Led62
    Gosub Led65
    Gosub Led68
    Gosub Led73
    Gosub Led74
    Gosub Led76
    Gosub Led77
    Next
    
    For B = 0 To C Step 1
    Gosub Led32
    Gosub Led33
    Gosub Led34
    Gosub Led35
    Gosub Led36
    Gosub Led37
    Gosub Led38
    Gosub Led42
    Gosub Led45
    Gosub Led48
    Gosub Led52
    Gosub Led55
    Gosub Led58
    Gosub Led63
    Gosub Led64
    Gosub Led66
    Gosub Led67
    Next
    
    For B = 0 To C Step 1
    Gosub Led22
    Gosub Led23
    Gosub Led24
    Gosub Led25
    Gosub Led26
    Gosub Led27
    Gosub Led28
    Gosub Led32
    Gosub Led35
    Gosub Led38
    Gosub Led42
    Gosub Led45
    Gosub Led48
    Gosub Led53
    Gosub Led54
    Gosub Led56
    Gosub Led57
    Next
    
    For B = 0 To C Step 1
    Gosub Led12
    Gosub Led13
    Gosub Led14
    Gosub Led15
    Gosub Led16
    Gosub Led17
    Gosub Led18
    Gosub Led22
    Gosub Led25
    Gosub Led28
    Gosub Led32
    Gosub Led35
    Gosub Led38
    Gosub Led43
    Gosub Led44
    Gosub Led46
    Gosub Led47
    Next
    
    For B = 0 To C Step 1
    Gosub Led2
    Gosub Led3
    Gosub Led4
    Gosub Led5
    Gosub Led6
    Gosub Led7
    Gosub Led8
    Gosub Led12
    Gosub Led15
    Gosub Led18
    Gosub Led22
    Gosub Led25
    Gosub Led28
    Gosub Led33
    Gosub Led34
    Gosub Led36
    Gosub Led37
    Next
    
    For B = 0 To C Step 1
    Gosub Led2
    Gosub Led5
    Gosub Led8
    Gosub Led12
    Gosub Led15
    Gosub Led18
    Gosub Led23
    Gosub Led24
    Gosub Led26
    Gosub Led27
    Next
    
    For B = 0 To C Step 1
    Gosub Led2
    Gosub Led5
    Gosub Led8
    Gosub Led13
    Gosub Led14
    Gosub Led16
    Gosub Led17
    Next
    
    For B = 0 To C Step 1
    Gosub Led3
    Gosub Led4
    Gosub Led6
    Gosub Led7
    Next
    Loop
    End
    
    '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    
    
    Restart:
    Waitms A
    Portd.2 = 0
    Portd.3 = 0
    Portd.4 = 0
    Portd.5 = 0
    Portd.6 = 0
    Portc.0 = 0
    Portc.1 = 0
    Portc.2 = 0
    Portc.3 = 0
    Portc.4 = 0
    Portc.5 = 0
    Ddrd.2 = 0
    Ddrd.3 = 0
    Ddrd.4 = 0
    Ddrd.5 = 0
    Ddrd.6 = 0
    Ddrc.0 = 0
    Ddrc.1 = 0
    Ddrc.2 = 0
    Ddrc.3 = 0
    Ddrc.4 = 0
    Ddrc.5 = 0
    Return
    
    Led0:
    gosub restart
    Return
    
    Led1:
    Statepin1 = 1
    Statepin2 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led2:
    Statepin1 = 1
    Statepin3 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led3:
    Statepin1 = 1
    Statepin4 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led4:
    Statepin1 = 1
    Statepin5 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led5:
    Statepin1 = 1
    Statepin6 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led6:
    Statepin1 = 1
    Statepin7 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led7:
    Statepin1 = 1
    Statepin8 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led8:
    Statepin1 = 1
    Statepin9 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led9:
    Statepin1 = 1
    Statepin10 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led10:
    Statepin1 = 1
    Statepin11 = 1
         Pin1 = 1
    gosub restart
    Return
    
    Led11:
    Statepin1 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led12:
    Statepin3 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led13:
    Statepin4 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led14:
    Statepin5 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led15:
    Statepin6 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led16:
    Statepin7 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led17:
    Statepin8 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led18:
    Statepin9 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led19:
    Statepin10 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led20:
    Statepin11 = 1
    Statepin2 = 1
         Pin2 = 1
    gosub restart
    Return
    
    Led21:
    Statepin1 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led22:
    Statepin2 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led23:
    Statepin4 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led24:
    Statepin5 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led25:
    Statepin6 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led26:
    Statepin7 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led27:
    Statepin8 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led28:
    Statepin9 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led29:
    Statepin10 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led30:
    Statepin11 = 1
    Statepin3 = 1
         Pin3 = 1
    gosub restart
    Return
    
    Led31:
    Statepin1 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led32:
    Statepin2 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led33:
    Statepin3 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led34:
    Statepin5 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led35:
    Statepin6 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led36:
    Statepin7 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led37:
    Statepin8 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led38:
    Statepin9 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led39:
    Statepin10 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led40:
    Statepin11 = 1
    Statepin4 = 1
         Pin4 = 1
    gosub restart
    Return
    
    Led41:
    Statepin1 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led42:
    Statepin2 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led43:
    Statepin3 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led44:
    Statepin4 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led45:
    Statepin6 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led46:
    Statepin7 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led47:
    Statepin8 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led48:
    Statepin9 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led49:
    Statepin10 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led50:
    Statepin11 = 1
    Statepin5 = 1
         Pin5 = 1
    gosub restart
    Return
    
    Led51:
    Statepin1 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led52:
    Statepin2 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led53:
    Statepin3 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led54:
    Statepin4 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led55:
    Statepin5 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led56:
    Statepin7 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led57:
    Statepin8 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led58:
    Statepin9 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led59:
    Statepin10 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led60:
    Statepin11 = 1
    Statepin6 = 1
         Pin6 = 1
    gosub restart
    Return
    
    Led61:
    Statepin1 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led62:
    Statepin2 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led63:
    Statepin3 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led64:
    Statepin4 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led65:
    Statepin5 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led66:
    Statepin6 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led67:
    Statepin8 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led68:
    Statepin9 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led69:
    Statepin10 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led70:
    Statepin11 = 1
    Statepin7 = 1
         Pin7 = 1
    gosub restart
    Return
    
    Led71:
    Statepin1 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led72:
    Statepin2 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led73:
    Statepin3 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led74:
    Statepin4 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led75:
    Statepin5 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led76:
    Statepin6 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led77:
    Statepin7 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led78:
    Statepin9 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led79:
    Statepin10 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led80:
    Statepin11 = 1
    Statepin8 = 1
         Pin8 = 1
    gosub restart
    Return
    
    Led81:
    Statepin1 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led82:
    Statepin2 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led83:
    Statepin3 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led84:
    Statepin4 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led85:
    Statepin5 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led86:
    Statepin6 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led87:
    Statepin7 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led88:
    Statepin8 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led89:
    Statepin10 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led90:
    Statepin11 = 1
    Statepin9 = 1
         Pin9 = 1
    gosub restart
    Return
    
    Led91:
    Statepin1 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led92:
    Statepin2 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led93:
    Statepin3 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led94:
    Statepin4 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led95:
    Statepin5 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led96:
    Statepin6 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led97:
    Statepin7 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led98:
    Statepin8 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led99:
    Statepin9 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return
    
    Led100:
    Statepin11 = 1
    Statepin10 = 1
         Pin10 = 1
    gosub restart
    Return

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Das wichtigste zuerst: Das ist kein Charliplexing! Das ist eine ganz normale Matrix.

    Leider kann ich dir kein Beispiel in Bascom anbieten.

    Der Trick ist die Verwendung eines Bildspeichers. Darin werden die einzelnen LED durch Bits repräsentiert. Um etwas anzuzeigen setzt du die entsprechenden Bits und kopierst dann den Inhalt des Bildspeichers in einem Rutsch auf die LED-Matrix. Hier kannst du dich mal ins Thema einlesen:

    https://www.roboternetz.de/community...l=1#post528611

    Gruß

    mic

    P.S.: Hoppla, mein Beispiel ist ja doch in Bascom geschrieben (weitere Beiträge beachten!), allerdings für eine Matrix mit 11 Zeilen in 9 Spalten...
    Geändert von radbruch (13.04.2013 um 12:31 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Zitat Zitat von radbruch Beitrag anzeigen
    Das wichtigste zuerst: Das ist kein Charliplexing! Das ist eine ganz normale Matrix.
    Eine normale 10x10 LED Matrix hat 20 pins notig:
    (Dies ist ein 8x8, weil ich nicht finden konnte 10x10)
    Bild hier  


    Mein Charlieplexed 10x10 LED Matrix hat aber 11 pins notig:
    Bild hier  
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken r7ZOP[1].jpg  

Ähnliche Themen

  1. LED-Anzeige
    Von Schnippsel im Forum Elektronik
    Antworten: 21
    Letzter Beitrag: 14.01.2008, 10:36
  2. 2D - LED-Anzeige
    Von squelver im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 23
    Letzter Beitrag: 05.03.2007, 14:29
  3. LED ANzeige
    Von markus1990 im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 04.03.2006, 02:28
  4. LED Anzeige
    Von Elektronikus im Forum Elektronik
    Antworten: 24
    Letzter Beitrag: 15.02.2005, 19:10
  5. [ERLEDIGT] LED Anzeige
    Von Niki,bin nicht eingeloggt im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 18.05.2004, 19:06

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests