LED Matrix Uhr (48x8) mit BASCOM

Hallo mnsp2,
gute Nachrichten:

Version 2.0.6.0
- shiftin/shiftout accept a variable for nr of bits

Probier es mal aus, ob es jetzt mit der einfachen Variante geht.

HBA
 
Hallo
Toll das, dass so schnell das angegangen wurde (hätte nicht gedacht das das so schnell geht und gleich im der nächsten Bascom Version behoben wird)
leider gibt es noch keine BASCOM-AVR 2.0.6.0 Demo (ist noch die 2.0.5.0 ??)
konnte es also bis jetzt noch nicht testen

ich habe mal eine Video von den aktuellem Programm hochgeladen
da seht man das zucken der letzten 8. Zeile :fie:

http://www.youtube.com/watch?v=oWB8fEo6u0E

Programm :
Code:
'*******************************************************************************
'                              LED Matix Uhr
'*******************************************************************************

' µC Deklarationen +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 30
$framesize = 40

' Ein-/Ausgänge ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Config Porta = Output
Config Portb = Output
Config Portd.5 = Output                                     '<-- für PWM
Config Portd.7 = Output                                     '<-- DCF77 signal

Config Portc.0 = Input
Taster Alias Pinc.0
Portc.0 = 1

Dataout Alias Portb.2
Strobeout Alias Portb.1
Clockout Alias Portb.0
Enableout Alias Portd.5                                     '<-- für PWM

' Timer und Config +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Config Dcf77 = Pind.6 , Inverted = 0 , Timer = 1 , Debug = 0 , Check = 1 , Update = 1 , Updatetime = 59 , Gosub = Sectic
Config Date = Dmy , Separator = .

Config Timer0 = Timer , Prescale = 64
On Timer0 Timer_0
Enable Timer0
Start Timer0

Config Base = 0                                             ' kann ich nicht verwenden wenn code über 4k ist weil nur BASCOM-AVR 2.0.5.0 nur als DEMO

Enable Interrupts

' Variablen ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Dim Helligkeitswert As Long

Dim I As Byte , Tmp As Byte

Dim Block1(8) As Word
Dim Block2(8) As Word
Dim Block3(8) As Word
Dim Block4(8) As Word
Dim Block5(8) As Word
Dim Block6(8) As Word

Dim Zeile As Byte

Dim Out_str As String * 16
Dim Out_ovly(16) As Byte At Out_str Overlay

Dim Buchstabe As Byte
Dim Offset As Word
Dim Temp As Byte

Dim Block1_w As Word
Dim Block2_w As Word
Dim Block3_w As Word


Dim Block1_l_b As Byte At Block1_w Overlay
Dim Block1_h_b As Byte At Block1_w + 1 Overlay

Dim Block2_l_b As Byte At Block2_w Overlay
Dim Block2_h_b As Byte At Block2_w + 1 Overlay

Dim Block3_l_b As Byte At Block3_w Overlay
Dim Block3_h_b As Byte At Block3_w + 1 Overlay

Dim Block1_2_long As Long At Block1_w Overlay
Dim Block2_3_long As Long At Block2_w Overlay


Dim Scroll_counter As Word
Dim Scroll_position As Byte , Scroll_tmp As Byte


Dim Wechsel_zeit As Byte
Dim Wechsel As Bit
'(
'  - - - -block1 - - - - -block2 - - - - - -block3 - - - - - -block4 - - - - -block5 - - - - - -block6 - -
7. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210
6. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210
5. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210
4. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210
3. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210
2. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210
1. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210
0. 54321098_76543210 54321098_76543210 54321098_76543210 5432109876543210 5432109876543210 5432109876543210

   11111122_22223333 33444444_55555566 66667777_77888888 1111112222223333 3344444455555566 6666777777888888
   Blck_3_l_blck_3_h Blck_2_l_blck_2_h Blck_1_l_blck_1_h
   76543210_76543210 76543210_76543210 76543210_76543210
')

' Werte ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wechsel = 0
Scroll_position = 0
'*******************************************************************************
' Hauptschleife
'*******************************************************************************



Do
 Portd.7 = Dcf_status.0

If Wechsel_zeit = 20 Then
    Toggle Wechsel
    Wechsel_zeit = 0
End If


If Wechsel = 0 Then
   If Scroll_counter > 70 Then
      Scroll_counter = 0
      If Scroll_position > 1 Then
         Decr Scroll_position
      Else
         Scroll_position = 0
      End If
   End If
Else
   If Scroll_counter > 70 Then
      Scroll_counter = 0
      If Scroll_position < 47 Then
         Incr Scroll_position
      Else
         Scroll_position = 48
      End If
   End If
End If

Loop
End


'*******************************************************************************
' SUB ,Gosub
'*******************************************************************************

Sectic:

If Wechsel = 0 Then
   Out_str = Time$
Else
   Out_str = Date$
End If

Incr Wechsel_zeit



If Out_str <> "" Then
   For Zeile = 7 To 0 Step -1

            For Buchstabe = 0 To 7

               If Buchstabe = 5 Then
                  Shift Block3_w , Left , 6
               Elseif Buchstabe = 6 Then
                  Shift Block3_w , Left , 4
               End If

               Shift Block1_2_long , Left , 6
               Offset = Out_ovly(buchstabe) - 32            'Leerzeichen (ASCII= 32) ist der erste Buchstabe, also 0
               Offset = Offset * 8
               Offset = Offset + Zeile
               Temp = Lookup(offset , My_data)
               Block1_l_b = Block1_l_b + Temp               'dies überschreibt nur die unteren 6 Bit

               If Buchstabe = 7 Then Exit For

               Temp = Block2_h_b
               If Buchstabe = 6 Then
                  Shift Temp , Right , 2
                  Temp = Temp And &B00001111
                  Block3_l_b = Block3_l_b + Temp
               Else
                  Block3_l_b = Temp
               End If

            Next Buchstabe

      Incr Offset

      If Wechsel = 0 Then
         Block1(zeile ) = Block3_w
         Block2(zeile ) = Block2_w
         Block3(zeile ) = Block1_w
      Else
         Block4(zeile ) = Block3_w                          'eingescrollter Text ist der gleiche wieder
         Block5(zeile ) = Block2_w
         Block6(zeile ) = Block1_w
     End If

   Next Zeile
   Out_str = ""
End If

Return

'*******************************************************************************
' Timer0 --> Anzeige Prozess
'*******************************************************************************

Timer_0:

Incr Scroll_counter
Porta.zeile = 1                                             'schaltet die vorherige Zeile aus (1=aus 0=ein)

Incr Zeile

If Zeile = 8 Then Zeile = 0

Strobeout = 0
Shiftout Dataout , Clockout , Block1(zeile ) , 0 , 16
Shiftout Dataout , Clockout , Block2(zeile ) , 0 , 16
Shiftout Dataout , Clockout , Block3(zeile ) , 0 , 16

If Scroll_position < 17 Then
    Select Case Scroll_position
      Case 1:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 1
      Case 2:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 2
      Case 3:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 3
      Case 4:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 4
      Case 5:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 5
      Case 6:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 6
      Case 7:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 7
      Case 8:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 8
      Case 9:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 9
      Case 10:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 10
      Case 11:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 11
      Case 12:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 12
      Case 13:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 13
      Case 14:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 14
      Case 15:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 15
      Case 16:
       Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 16
    End Select

Else
   Shiftout Dataout , Clockout , Block4(zeile ) , 0 , 16
   If Scroll_position < 33 Then
      Scroll_tmp = Scroll_position - 16

      Select Case Scroll_tmp
        Case 1:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 1
        Case 2:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 2
        Case 3:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 3
        Case 4:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 4
        Case 5:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 5
        Case 6:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 6
        Case 7:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 7
        Case 8:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 8
        Case 9:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 9
        Case 10:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 10
        Case 11:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 11
        Case 12:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 12
        Case 13:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 13
        Case 14:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 14
        Case 15:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 15
        Case 16:
         Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 16
      End Select

   Else
      Shiftout Dataout , Clockout , Block5(zeile ) , 0 , 16
      Scroll_tmp = Scroll_position - 32

       Select Case Scroll_tmp
        Case 1:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 1
        Case 2:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 2
        Case 3:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 3
        Case 4:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 4
        Case 5:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 5
        Case 6:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 6
        Case 7:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 7
        Case 8:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 8
        Case 9:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 9
        Case 10:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 10
        Case 11:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 11
        Case 12:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 12
        Case 13:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 13
        Case 14:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 14
        Case 15:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 15
        Case 16:
         Shiftout Dataout , Clockout , Block6(zeile ) , 0 , 16
      End Select

   End If
End If

Strobeout = 1

Porta.zeile = 0                                             ' schaltet die neue Zeile ein (1=aus 0=ein)

Return
'*******************************************************************************
' Zeichen Tabelle
'*******************************************************************************

$data                                                       '  * = noch nicht fertig
My_data:
.........
 
Hallo zusammen

Es ist eine ganze zeit vergangen und es haben sich bei meiner LED Matrix Uhr auch was getan

Die wichtigste Nachricht erst ich habe mit BASCOM-AVR Gekauft

Was hat sich verändert:
-- Ein Atmega8 hat sich zu dem Atmega32 gesellt :
da das auswerten eines IR Signal relativ viel Rechenzeit benötigt habe ich mich entschieden eine zweiten Mikrocontroller einzusetzen
der Atmega8 steuert die Helligkeit (über LDR oder Manuell) und übergibt den Helligkeitswert über eine BCD-Code an Atmega32, der zeigt dann die Aktuelle Helligkeitsstufe.
mit der Fernbedienung kann man zwischen den Helligkeitsstufe wählen und den Atmega32 auffordern zwischen Uhrzeit, Datum, Innentemperatur zu wechseln)

-- Habe ein Lösung für das flackern /Blitzen gefunden
Ich danke das ist nicht die beste Lösung (da durch die Methode Helligkeit verloren geht)
ich habe einfach vor die "If Out_str <> "" Then" schleife " Porta.zeile = 1 " geschrieben, damit geht die Anzeige beim erzeugen von neuen Zeichen aus und da nach wieder an,
dass ganze wird sehr schnell wiederholt so sieht man nicht das es aus geht.

-- ich habe eine DS18B20 an den an den Atmega32 an geschlossen

ich denke das es noch einiges gibt was man optimieren kann
z.B. der Atmega32 reagiert manchmal nicht auf die Änderung der Helligkeit

lg mnsp2
(ich werde nochmal ein Video bei Youtube hochladen)

im Anhang:
neuer Schaltplan Anhang anzeigen LED - Matix EAGLE 13.08.11.pdf
Code Atmega32 Anhang anzeigen Test Blocksystem mit scrollen 2.6.3 mit BCD und INT0.bas
Code Atmega8 Anhang anzeigen IR v1.20 mit BCD ohne PRINTBIN.bas
 
Hallo
hier das versprochene Video

[video=youtube;xgKNQuNhtJg]http://www.youtube.com/watch?v=xgKNQuNhtJg[/video]

bei 0:36 sieht man das die Anzeige von 60% auf 40% springt die 50% werden nicht angezeigt
ich habe am Anfang versucht die Datenübertragung über" Printbin Helligkeit" (Sender)
"Inputbin Helligkeitsstufe" (Empfänger) zu realisieren aber der Befehl " Inputbin" verbraucht relativ viel Rechenzeit
als habe ich das mit BCD-Codierung realisieren
die de Decodierung haben ich so gemachen:
Code:
Int0_isr:
Helligkeit_anzeige_bit = 1
Helligkeit_anzeige_zeit = 0

If A = 1 And B = 0 And C = 0 And D = 0 Then
  Helligkeit_%_str = "    0%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 0 And B = 1 And C = 0 And D = 0 Then
  Helligkeit_%_str = "   10%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 1 And B = 1 And C = 0 And D = 0 Then
  Helligkeit_%_str = "   20%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 0 And B = 0 And C = 1 And D = 0 Then
  Helligkeit_%_str = "   30%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 1 And B = 0 And C = 1 And D = 0 Then
  Helligkeit_%_str = "   40%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 0 And B = 1 And C = 1 And D = 0 Then
  Helligkeit_%_str = "   50%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 1 And B = 1 And C = 1 And D = 0 Then
  Helligkeit_%_str = "   60%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 0 And B = 0 And C = 0 And D = 1 Then
  Helligkeit_%_str = "   70%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 1 And B = 0 And C = 0 And D = 1 Then
  Helligkeit_%_str = "   80%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 0 And B = 1 And C = 0 And D = 1 Then
  Helligkeit_%_str = "   90%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 1 And B = 1 And C = 0 And D = 1 Then
  Helligkeit_%_str = "  100%  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If

If A = 0 And B = 0 And C = 1 And D = 1 Then
  Helligkeit_%_str = "  AUTO  "
  Helligkeit_anzeige_bit = 1
  Helligkeit_anzeige_zeit = 0
End If


Return

der Interrupt wird ausgelöst wenn sich die Helligkeitsstufe ändert (siehe Code )
vielleicht gibt es da noch eine bessere/schnellere Lösung

lg mnsp2
 
Seher schöne Matrix

Hab da mal ne frage zu den schiebe register 4094 müssen die daran oder können auch andere genommen werden?
und kann man auch einen längeren ext nehmen oder hab mir hier alles durchgelesen und bin drauf und dran es nachzubauen und
BITTE um Rat und Tipps....

Mit Freundlichen Grüßen
Thorsten Sch.
 
Hallo Thorsten!

Ich weiß nicht, ob mnsp2 oder HBA hier demnächst noch mal reinschauen, denn das Thema ist ja schließlich schon aus August 2011 ! :wink:

Es müssen nicht zwingend die 4094 genommen werden!
Möglich wären zum Beispiel auch die 74HC595.


Ach so....
Was meinst du mit:
... kann man auch einen längeren ext nehmen ....
Was soll das bedeuten? :hmmmm:


Sei doch bitte so nett und schreibe grundsätzlich alle Wörter aus!
Es gibt hier viele helfende User die mit der KKS (Kinder-Kurzform-Schreibweise) nichts am Hut haben!

Grüße,
Cassio
 
Hi Hab da mal ne frage an deine Matrix schaltung

Hallo AVR-Praxis Forum und Bastler
hier in den code von seite 1 ist für eine 8Reihen x 48zeilen ich würde den code gern ändern auf 7Reihen x 50Zeilen wie oder wo muss man das im code ändern....????
ich habe da schon vieles auspropiert komm aber nicht weiter bitte um rat.....

Hier mal den Code
Code:
'*******************************************************************************
'                              LED Matix Uhr
'*******************************************************************************

' µC Deklarationen +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 30
$framesize = 40

' Ein-/Ausgänge ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Config Porta = Output
Config Portb = Output
Config Portc.0 = Input
Config Portc.1 = Input
Config Portd.6 = Output
Dout Alias Portb.2
Ss Alias Portb.1
Clockout Alias Portb.0

Zeile Alias Porta

' Timer und Config +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Config Timer0 = Timer , Prescale = 64
On Timer0 Timer_isr
Enable Timer0
Stop Timer0

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1
Enable Timer1

' Variablen ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Dim A As Word , B As Word
Dim A1 As Word , A2 As Word , A3 As Word
Dim Beginn_zeichen As Word , Ende_zeichen As Word , Db_zeiger As Word
Dim Bz As Word
Dim Ti As Byte , Tl As Byte , Tl2 As Word , Tl3 As Word
Dim Ez As Byte
Dim Dat(1530) As Byte
Dim Ze(8) As Byte
Dim Text As String * 254                                    'Strings können maximal 254 Byte lang
Dim Einzelzeichen As String * 1

Dim Tastendruck As Byte
Dim Helligkeitswert As Long
Dim Laufgeschwindigkeit As Integer
Dim Negiert As Byte


Declare Sub Helligkeit

Enable Interrupts
' Werte ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Porta = 255                                                 ' alles auf 1 --> alles AUS
Portc.0 = 1
Portc.1 = 1

Dout = 0
Ss = 0
Clockout = 0

Ze(1) = 127
Ze(2) = 191
Ze(3) = 223
Ze(4) = 239
Ze(5) = 247
Ze(6) = 251
Ze(7) = 253
Ze(8) = 254

Text = "         Famille Schüle - Bodo - Rosi - Lucy - Klemens -Ben-Lukas      "       'max. 255 Zeichen

Tl = Len(text)                                              'Gibt die Länge eines Strings.
B = 1

A2 = 1

Negiert = 1
Helligkeitswert = 400
Tastendruck = 0

'*******************************************************************************
' Nebenschleife
'*******************************************************************************
For A = 1 To Tl
 Tl2 = Tl * 6
 Einzelzeichen = Mid(text , A , 1)
 Ez = Asc(einzelzeichen)
 Bz = Ez - 32                                               '-32
 Beginn_zeichen = Bz * 6
 Ende_zeichen = Beginn_zeichen + 5
 For Db_zeiger = Beginn_zeichen To Ende_zeichen
  Dat(b) = Lookup(db_zeiger , Zeichensatz)
  Dat(b) = 255 - Dat(b)
  Incr B
 Next Db_zeiger
Next A

Tl3 = Tl2 - 50                                              ' -50



Start Timer0
'*******************************************************************************
' Hauptschleife
'*******************************************************************************

Do

Debounce Pinc.0 , 0 , Helligkeit , Sub

Pwm1a = Helligkeitswert

A3 = A2 + 50
Waitms 40
Incr A2
If A2 = Tl3 Then A2 = 1


Loop





'*******************************************************************************
' SUB ,Gosub
'*******************************************************************************
Sub Helligkeit

  Incr Tastendruck
  Gosub Pwm

End Sub

Pwm:
   Select Case Tastendruck

   If Tastendruck = 5 Then Tastendruck = 1

   Case 1:
    Negiert = 1
    Helligkeitswert = 20

   Case 2:
    Negiert = 1
    Helligkeitswert = 400

   Case 3:
    Negiert = 1
    Helligkeitswert = 1023

   Case 4:
    Negiert = 0
    Helligkeitswert = 1023


   End Select
Return

'*******************************************************************************
' Timer0 --> Anzeige Prozess
'*******************************************************************************

Timer_isr:

If Ti = 9 Then Ti = 1

Select Case Ti

Case 1:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).0
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).0
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(1)

Case 2:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).1
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).1
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(2)

Case 3:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).2
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).2
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(3)

Case 4:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).3
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).3
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(4)

Case 5:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).4
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).4
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(5)

Case 6:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).5
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).5
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(6)

Case 7:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).6
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).6
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(7)

Case 8:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).7
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).7
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(8)

End Select

Incr Ti

Return

'*******************************************************************************
' Zeichen Tabelle
'*******************************************************************************

Zeichensatz:
Data 0 , 0 , 0 , 0 , 0 , 0                                  'Leerzeichen
Data 0 , 0 , 6 , 95 , 6 , 0                                 '!
Data 0 , 7 , 3 , 0 , 7 , 3                                  '""
Data 0 , 36 , 126 , 36 , 126 , 36                           '#
Data 0 , 36 , 43 , 106 , 18 , 0                             '$
Data 0 , 6 , 9 , 9 , 6 , 0                                  '%
Data 0 , 54 , 73 , 86 , 32 , 80                             '&
Data 0 , 0 , 7 , 3 , 0 , 0                                  ''
Data 0 , 0 , 62 , 65 , 0 , 0                                '
Data 0 , 0 , 65 , 62 , 0 , 0                                '
Data 0 , 8 , 62 , 28 , 62 , 8                               '*
Data 0 , 8 , 8 , 62 , 8 , 8                                 '+
Data 0 , 0 , 224 , 96 , 0 , 0                               ',
Data 0 , 8 , 8 , 8 , 8 , 8                                  '-
Data 0 , 0 , 96 , 96 , 0 , 0                                '.
Data 0 , 32 , 16 , 8 , 4 , 2                                '/
Data 0 , 62 , 81 , 73 , 69 , 62                             '0
Data 0 , 0 , 66 , 127 , 64 , 0                              '1
Data 0 , 98 , 81 , 73 , 73 , 70                             '2
Data 0 , 34 , 73 , 73 , 73 , 54                             '3
Data 0 , 24 , 20 , 18 , 127 , 16                            '4
Data 0 , 47 , 73 , 73 , 73 , 49                             '5
Data 0 , 60 , 74 , 73 , 73 , 48                             '6
Data 0 , 1 , 113 , 9 , 5 , 3                                '7
Data 0 , 54 , 73 , 73 , 73 , 54                             '8
Data 0 , 6 , 73 , 73 , 41 , 30                              '9
Data 0 , 0 , 108 , 108 , 0 , 0                              ':
Data 0 , 0 , 236 , 108 , 0 , 0                              ';
Data 0 , 8 , 20 , 34 , 65 , 0                               '<
Data 0 , 36 , 36 , 36 , 36 , 36                             '=
Data 0 , 0 , 65 , 34 , 20 , 8                               '>
Data 0 , 2 , 1 , 89 , 9 , 6                                 '?
Data 0 , 62 , 65 , 93 , 85 , 30                             '@
Data 0 , 126 , 9 , 9 , 9 , 126                              'A
Data 0 , 127 , 73 , 73 , 73 , 54                            'B
Data 0 , 62 , 65 , 65 , 65 , 34                             'C
Data 0 , 127 , 65 , 65 , 65 , 62                            'D
Data 0 , 127 , 73 , 73 , 73 , 65                            'E
Data 0 , 127 , 9 , 9 , 9 , 1                                'F
Data 0 , 62 , 65 , 73 , 73 , 122                            'G
Data 0 , 127 , 8 , 8 , 8 , 127                              'H
Data 0 , 0 , 65 , 127 , 65 , 0                              'I
Data 48 , 64 , 64 , 64 , 63 , 0                             'J <---
Data 0 , 127 , 8 , 20 , 34 , 65                             'K
Data 0 , 127 , 64 , 64 , 64 , 64                            'L
Data 0 , 127 , 2 , 4 , 2 , 127                              'M
Data 0 , 127 , 2 , 4 , 8 , 127                              'N
Data 0 , 62 , 65 , 65 , 65 , 62                             'O
Data 0 , 127 , 9 , 9 , 9 , 6                                'P
Data 0 , 62 , 65 , 81 , 33 , 94                             'Q
Data 0 , 127 , 9 , 9 , 25 , 102                             'R
Data 0 , 38 , 73 , 73 , 73 , 50                             'S
Data 0 , 1 , 1 , 127 , 1 , 1                                'T
Data 0 , 63 , 64 , 64 , 64 , 63                             'U
Data 0 , 31 , 32 , 64 , 32 , 31                             'V
Data 0 , 63 , 64 , 60 , 64 , 63                             'W
Data 0 , 99 , 20 , 8 , 20 , 99                              'X
Data 0 , 7 , 8 , 112 , 8 , 7                                'Y
Data 0 , 97 , 81 , 73 , 69 , 67                             'Z
Data 0 , 0 , 127 , 65 , 65 , 0                              '[
Data 0 , 2 , 4 , 8 , 16 , 32                                '\
Data 0 , 0 , 65 , 65 , 127 , 0                              ']
Data 0 , 4 , 2 , 1 , 2 , 4                                  '^
Data 128 , 128 , 128 , 128 , 128 , 128                      '_
Data 0 , 0 , 3 , 7 , 0 , 0                                  '`
Data 0 , 32 , 84 , 84 , 84 , 120                            'a
Data 0 , 127 , 68 , 68 , 68 , 56                            'b
Data 0 , 56 , 68 , 68 , 68 , 40                             'c
Data 0 , 56 , 68 , 68 , 68 , 127                            'd
Data 0 , 56 , 84 , 84 , 84 , 8                              'e
Data 0 , 8 , 126 , 9 , 9 , 0                                'f
Data 0 , 24 , 164 , 164 , 164 , 124                         'g
Data 0 , 127 , 4 , 4 , 120 , 0                              'h
Data 0 , 0 , 0 , 125 , 0 , 0                                'i     <--
Data 0 , 64 , 128 , 132 , 125 , 0                           'j
Data 0 , 127 , 16 , 40 , 68 , 0                             'k
Data 0 , 0 , 0 , 127 , 64 , 0                               'l
Data 0 , 124 , 4 , 24 , 4 , 120                             'm
Data 0 , 124 , 4 , 4 , 120 , 0                              'n
Data 0 , 56 , 68 , 68 , 68 , 56                             'o
Data 0 , 252 , 68 , 68 , 68 , 56                            'p
Data 0 , 56 , 68 , 68 , 68 , 252                            'q
Data 0 , 68 , 120 , 68 , 4 , 8                              'r
Data 0 , 8 , 84 , 84 , 84 , 32                              's
Data 0 , 4 , 62 , 68 , 36 , 0                               't
Data 0 , 60 , 64 , 32 , 124 , 0                             'u
Data 0 , 28 , 32 , 64 , 32 , 28                             'v
Data 0 , 60 , 96 , 48 , 96 , 60                             'w
Data 0 , 108 , 16 , 16 , 108 , 0                            'x
Data 0 , 156 , 160 , 96 , 60 , 0                            'y
Data 0 , 100 , 84 , 84 , 76 , 0                             'z
Data 0 , 8 , 62 , 65 , 65 , 0                               '{
Data 0 , 0 , 0 , 119 , 0 , 0                                '|
Data 0 , 0 , 0 , 0 , 0 , 0                                  '}
Data 0 , 2 , 1 , 2 , 1 , 0                                  '~
Data 0 , 0 , 0 , 0 , 0 , 0                                  '

ICH BITTE UM RAT oder TIPPS danke

Wünsche euch Allen ein Frohes Ostern fest
Thorsten Schröder
 
Die Firma Holtek baut sehr schöne LED Treiber, wir haben hier auch einen im Shop.

Holtek HT16K33


Hallo Maik!

WOW!
Ihr habt das HT16K33 in der 28pin Version im Shop? :stoned:

Das ist ja genial! :dance3:
Da muss ich doch gleich mal eine Bestellung absenden und mir nachträglich selbst noch ein "Osterei" zukommen lassen. :wink:



Hallo Thorsten!

Bevor du dir den Aufwand machst und das vorhandene Programm umbaust, kann ich dir das IC nur wärmstens empfehlen!
Schau dir doch einfach mal das Datenblatt dazu an, dann wirst du mir ganz schnell zustimmen. :wink:
Bei der Entwicklung können wir dir hier dann auch helfen..... falls du damit überhaupt Hilfe benötigst.

Grüße,
Cassio
 
Frage welche richtung des TEXT

Hallo Forum und bastler

Hab ne frage zur laufrichtung des TEXT
hier mein bild wie ich das habe.....
NEU_4094.JPG

welche der NR ist denn Richtig????
den code habe ich so auf 7 zeilen geändert
Code:
'*******************************************************************************
'                              LED Matix Uhr
'*******************************************************************************

' µC Deklarationen +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 32
$swstack = 30
$framesize = 40

' Ein-/Ausgänge ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Config Porta = Output
Config Portb = Output
Config Portc.0 = Input
Config Portc.1 = Input
Config Portd.6 = Output
Dout Alias Portb.2
Ss Alias Portb.1
Clockout Alias Portb.0

Zeile Alias Porta

' Timer und Config +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Config Timer0 = Timer , Prescale = 64
On Timer0 Timer_isr
Enable Timer0
Stop Timer0

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Prescale = 1
Enable Timer1

' Variablen ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Dim A As Word , B As Word
Dim A1 As Word , A2 As Word , A3 As Word
Dim Beginn_zeichen As Word , Ende_zeichen As Word , Db_zeiger As Word
Dim Bz As Word
Dim Ti As Byte , Tl As Byte , Tl2 As Word , Tl3 As Word
Dim Ez As Byte
Dim Dat(1530) As Byte
Dim Ze(7) As Byte                                           '00000000
Dim Text As String * 254                                    'Strings können maximal 254 Byte lang
Dim Einzelzeichen As String * 1

Dim Tastendruck As Byte
Dim Helligkeitswert As Long
Dim Laufgeschwindigkeit As Integer
Dim Negiert As Byte


Declare Sub Helligkeit

Enable Interrupts
' Werte ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Porta = 255                                                 ' alles auf 1 --> alles AUS
Portc.0 = 1
Portc.1 = 1

Dout = 0
Ss = 0
Clockout = 0

Ze(1) = 127
Ze(2) = 191
Ze(3) = 223
Ze(4) = 239
Ze(5) = 247
Ze(6) = 251
Ze(7) = 253
'000000              Ze(8) = 254

Text = "           WILLKOMMEN BEI FAMILLIE -> SCHUELE = BODO ROSI BEN-LUKAS KLEMENS LUCY.....     "       'max. 255 Zeichen

Tl = Len(text)                                              'Gibt die Länge eines Strings.
B = 1

A2 = 1

Negiert = 1
Helligkeitswert = 100                                       '400
Tastendruck = 0

'*******************************************************************************
' Nebenschleife
'*******************************************************************************
For A = 1 To Tl
 Tl2 = Tl * 6
 Einzelzeichen = Mid(text , A , 1)
 Ez = Asc(einzelzeichen)
 Bz = Ez - 32                                               '-32
 Beginn_zeichen = Bz * 6
 Ende_zeichen = Beginn_zeichen + 5
 For Db_zeiger = Beginn_zeichen To Ende_zeichen
  Dat(b) = Lookup(db_zeiger , Zeichensatz)
  Dat(b) = 255 - Dat(b)
  Incr B
 Next Db_zeiger
Next A

Tl3 = Tl2 - 50                                              ' -50



Start Timer0
'*******************************************************************************
' Hauptschleife
'*******************************************************************************

Do

Debounce Pinc.0 , 0 , Helligkeit , Sub

Pwm1a = Helligkeitswert

A3 = A2 + 50
Waitms 40
Incr A2
If A2 = Tl3 Then A2 = 1


Loop





'*******************************************************************************
' SUB ,Gosub
'*******************************************************************************
Sub Helligkeit

  Incr Tastendruck
  Gosub Pwm

End Sub

Pwm:
   Select Case Tastendruck

   If Tastendruck = 5 Then Tastendruck = 1

   Case 1:
    Negiert = 1
    Helligkeitswert = 20

   Case 2:
    Negiert = 1
    Helligkeitswert = 400

   Case 3:
    Negiert = 1
    Helligkeitswert = 1023

   Case 4:
    Negiert = 0
    Helligkeitswert = 1023


   End Select
Return

'*******************************************************************************
' Timer0 --> Anzeige Prozess
'*******************************************************************************

Timer_isr:

If Ti = 8 Then Ti = 1                                       ' 9

Select Case Ti

Case 1:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).0
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).0
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(1)

Case 2:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).1
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).1
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(2)

Case 3:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).2
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).2
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(3)

Case 4:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).3
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).3
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(4)

Case 5:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).4
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).4
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(5)

Case 6:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).5
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).5
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(6)

Case 7:
   Ss = 0
   Zeile = 255
     For A1 = A2 To A3
      Zeile = 255
      Clockout = 1

      If Negiert = 1 Then
         Dout = Not Dat(a1).6
      End If

      If Negiert = 0 Then
         Dout = Dat(a1).6
      End If

      Clockout = 0
     Next A1
   Ss = 1
   Zeile = Ze(7)

'Case 8:
'   Ss = 0
'   Zeile = 255
'     For A1 = A2 To A3
'      Zeile = 255
'      Clockout = 1

'      If Negiert = 1 Then
'         Dout = Not Dat(a1).7
'      End If

'      If Negiert = 0 Then
'         Dout = Dat(a1).7
'      End If

'      Clockout = 0
'     Next A1
'   Ss = 1
'   Zeile = Ze(8)

End Select

Incr Ti

Return

'*******************************************************************************
' Zeichen Tabelle
'*******************************************************************************

Zeichensatz:
Data 0 , 0 , 0 , 0 , 0 , 0                                  'Leerzeichen
Data 0 , 0 , 6 , 95 , 6 , 0                                 '!
Data 0 , 7 , 3 , 0 , 7 , 3                                  '""
Data 0 , 36 , 126 , 36 , 126 , 36                           '#
Data 0 , 36 , 43 , 106 , 18 , 0                             '$
Data 0 , 6 , 9 , 9 , 6 , 0                                  '%
Data 0 , 54 , 73 , 86 , 32 , 80                             '&
Data 0 , 0 , 7 , 3 , 0 , 0                                  ''
Data 0 , 0 , 62 , 65 , 0 , 0                                '
Data 0 , 0 , 65 , 62 , 0 , 0                                '
Data 0 , 8 , 62 , 28 , 62 , 8                               '*
Data 0 , 8 , 8 , 62 , 8 , 8                                 '+
Data 0 , 0 , 224 , 96 , 0 , 0                               ',
Data 0 , 8 , 8 , 8 , 8 , 8                                  '-
Data 0 , 0 , 96 , 96 , 0 , 0                                '.
Data 0 , 32 , 16 , 8 , 4 , 2                                '/
Data 0 , 62 , 81 , 73 , 69 , 62                             '0
Data 0 , 0 , 66 , 127 , 64 , 0                              '1
Data 0 , 98 , 81 , 73 , 73 , 70                             '2
Data 0 , 34 , 73 , 73 , 73 , 54                             '3
Data 0 , 24 , 20 , 18 , 127 , 16                            '4
Data 0 , 47 , 73 , 73 , 73 , 49                             '5
Data 0 , 60 , 74 , 73 , 73 , 48                             '6
Data 0 , 1 , 113 , 9 , 5 , 3                                '7
Data 0 , 54 , 73 , 73 , 73 , 54                             '8
Data 0 , 6 , 73 , 73 , 41 , 30                              '9
Data 0 , 0 , 108 , 108 , 0 , 0                              ':
Data 0 , 0 , 236 , 108 , 0 , 0                              ';
Data 0 , 8 , 20 , 34 , 65 , 0                               '<
Data 0 , 36 , 36 , 36 , 36 , 36                             '=
Data 0 , 0 , 65 , 34 , 20 , 8                               '>
Data 0 , 2 , 1 , 89 , 9 , 6                                 '?
Data 0 , 62 , 65 , 93 , 85 , 30                             '@
Data 0 , 126 , 9 , 9 , 9 , 126                              'A
Data 0 , 127 , 73 , 73 , 73 , 54                            'B
Data 0 , 62 , 65 , 65 , 65 , 34                             'C
Data 0 , 127 , 65 , 65 , 65 , 62                            'D
Data 0 , 127 , 73 , 73 , 73 , 65                            'E
Data 0 , 127 , 9 , 9 , 9 , 1                                'F
Data 0 , 62 , 65 , 73 , 73 , 122                            'G
Data 0 , 127 , 8 , 8 , 8 , 127                              'H
Data 0 , 0 , 65 , 127 , 65 , 0                              'I
Data 48 , 64 , 64 , 64 , 63 , 0                             'J <---
Data 0 , 127 , 8 , 20 , 34 , 65                             'K
Data 0 , 127 , 64 , 64 , 64 , 64                            'L
Data 0 , 127 , 2 , 4 , 2 , 127                              'M
Data 0 , 127 , 2 , 4 , 8 , 127                              'N
Data 0 , 62 , 65 , 65 , 65 , 62                             'O
Data 0 , 127 , 9 , 9 , 9 , 6                                'P
Data 0 , 62 , 65 , 81 , 33 , 94                             'Q
Data 0 , 127 , 9 , 9 , 25 , 102                             'R
Data 0 , 38 , 73 , 73 , 73 , 50                             'S
Data 0 , 1 , 1 , 127 , 1 , 1                                'T
Data 0 , 63 , 64 , 64 , 64 , 63                             'U
Data 0 , 31 , 32 , 64 , 32 , 31                             'V
Data 0 , 63 , 64 , 60 , 64 , 63                             'W
Data 0 , 99 , 20 , 8 , 20 , 99                              'X
Data 0 , 7 , 8 , 112 , 8 , 7                                'Y
Data 0 , 97 , 81 , 73 , 69 , 67                             'Z
Data 0 , 0 , 127 , 65 , 65 , 0                              '[
Data 0 , 2 , 4 , 8 , 16 , 32                                '\
Data 0 , 0 , 65 , 65 , 127 , 0                              ']
Data 0 , 4 , 2 , 1 , 2 , 4                                  '^
Data 128 , 128 , 128 , 128 , 128 , 128                      '_
Data 0 , 0 , 3 , 7 , 0 , 0                                  '`
Data 0 , 32 , 84 , 84 , 84 , 120                            'a
Data 0 , 127 , 68 , 68 , 68 , 56                            'b
Data 0 , 56 , 68 , 68 , 68 , 40                             'c
Data 0 , 56 , 68 , 68 , 68 , 127                            'd
Data 0 , 56 , 84 , 84 , 84 , 8                              'e
Data 0 , 8 , 126 , 9 , 9 , 0                                'f
Data 0 , 24 , 164 , 164 , 164 , 124                         'g
Data 0 , 127 , 4 , 4 , 120 , 0                              'h
Data 0 , 0 , 0 , 125 , 0 , 0                                'i     <--
Data 0 , 64 , 128 , 132 , 125 , 0                           'j
Data 0 , 127 , 16 , 40 , 68 , 0                             'k
Data 0 , 0 , 0 , 127 , 64 , 0                               'l
Data 0 , 124 , 4 , 24 , 4 , 120                             'm
Data 0 , 124 , 4 , 4 , 120 , 0                              'n
Data 0 , 56 , 68 , 68 , 68 , 56                             'o
Data 0 , 252 , 68 , 68 , 68 , 56                            'p
Data 0 , 56 , 68 , 68 , 68 , 252                            'q
Data 0 , 68 , 120 , 68 , 4 , 8                              'r
Data 0 , 8 , 84 , 84 , 84 , 32                              's
Data 0 , 4 , 62 , 68 , 36 , 0                               't
Data 0 , 60 , 64 , 32 , 124 , 0                             'u
Data 0 , 28 , 32 , 64 , 32 , 28                             'v
Data 0 , 60 , 96 , 48 , 96 , 60                             'w
Data 0 , 108 , 16 , 16 , 108 , 0                            'x
Data 0 , 156 , 160 , 96 , 60 , 0                            'y
Data 0 , 100 , 84 , 84 , 76 , 0                             'z
Data 0 , 8 , 62 , 65 , 65 , 0                               '{
Data 0 , 0 , 0 , 119 , 0 , 0                                '|
Data 0 , 0 , 0 , 0 , 0 , 0                                  '}
Data 0 , 2 , 1 , 2 , 1 , 0                                  '~
Data 0 , 0 , 0 , 0 , 0 , 0                                  '


Ist das soweit richtig Nr1 oder doch eher Nr2??????

Ach ja wie ist das denn bei der 2 schaltung mit ATmega32 und den ATmega8 da sind rote leitungen wo gehen die an den port Atmega32 zu den ATmega8?
Könnte mir einer dabei mal helfen bitte.....

Vielen dank jetzt schon und freundliche Grüße
Thorsten sch.
 
Könnte mal jemand darüber schauen

Hallo Forum ich habe eine Frage könnte jemand dazu mal Ratschlag Geben danke.....

Gruß Thorsten Sch.
 
Hallo Thorsten,

Hallo Forum ich habe eine Frage könnte jemand dazu mal Ratschlag Geben danke.....
immer ruhig mit den jungen Pferden ... man hat ja auch noch was anderes zu tun. Forumsbetreuung macht man ja schließlich nicht hauptberuflich gegen Kohle (wobei sich das bei mir bestimmt lohnen würde :rolleyes:).

Dein Plan ...
NEU_4094_-_Thorsten_Sch.png
bringt einem im ersten Ansatz erstmal nichts da keiner die internen Verstrickungen des 4094 einfach mal so im Kopf hat (Signalnamen des ICs wären da für einen ersten Ansatz schon hilfreich gewesen). Also muß man sich zuerst die Pinbelegung und Internas des 4094 aus dem Datenblatt holen.
4094_BusRegister_1.png . 4094_BusRegister_2.png

... und die Zustandstabelle ...
4094_BusRegister_3.png

Das muß dann im Kopf (oder auf nem Blatt Papier) kombiniert werden und dann gegen deinen Quellcode gehalten werden wie das alles zusammenspielt. Das macht man nicht mal eben in ner Viertelstunde :flute:

So ... und nun mach ich hier erstmal weiter in der Wohnung sauber und räum weiter auf. Das ist nach den Arbeiten an den Fenstern nämlich z.Zt. wichtiger. ;)

Gruß
Dino
 
Hallo,
möchte mal diesen Beitrag wieder vorholen....
Habe ein 95x9 LED Message Board bekommen mit abwechselnd roten und grünen LED's damit auch orange dargestellt werden kann.
Nun gibt es dafür keine Software für also habe ich die Controllerplatiene rausgenommen und nur das LED-Board mit den Schieberegistern dringelassen.
Alle roten und grünen LED's ausgelötet (mit Heißluftfön) und 855 blaue eingelötet... war eine ganz schöne arbeit, sieht aber geiler aus als vorher.
Den Code von http://www.roboternetz.de/community...hrift-mit-Bascom-ATMega32-und-Pollin-Displays
ich mir auch schon geändert auf meine Displaylänge von 95 LED's.
Nun mein Problem...
Dieses Board hat aber 9 Zeilen und nicht 8 wie bei dir...
wie kann ich das machen? Und dann müssten die Zeichen ja auch noch 9 Bit senkrecht haben....
jemand eine Idee? Muss aber nicht sein...kann auch auf die 9te Zeile verzichten.

Was wichtiger ist, ich möchte dieses Display drausen im garten aufhängen und vom Fenster aus die Temperatur, Luftdruck und Luftfeuchtigkeit ablesen (scrollend)

Ich bekomme es nicht hin mir neue Messwerte zu holen....also wenn die Schrift einmal durch ist, dann neue Werte holen.
Der Kobisensor ist ein BME280.
Kann mir jemand sagen, wo das Ende ist wenn die schrift einmal durch ist, da könnte man ja zu Programmstart wieder springen...

würde ja den code posten, ist aber zu lang, und Datei anhängen "unerlaubte Datei" *.bas
 

Ü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)