Uhr mit 4x 8x8 Led-Matrix Max7219

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • maheau0 schrieb:

      Aber wenn man eine DCF-Uhr hat, muß sie sich auch in einer relative kurzen Zeit stellen und regelmäßig synchronisieren.
      Das Stellen der Uhr kann je nach Empfang bis zu 10 Minuten dauern. Aber eine Minute braucht es mindestens. Die Synchronisierung, also wie oft die sein soll, kann man im Programm einstellen.

      BASCOM-Quellcode

      1. Config Dcf77 = Pind.2 , Debug = 1 , Inverted = 0 , Check = 2 , Update = 0 , Updatetime = 30 , Switchpower = 0 , Secondticks = 50 , Timer1sec = 1 , Powerlevel = 1 , Timer = 1
      2. 'Update = 0 permanent
      3. 'Update = 1 stündlich
      4. 'Update = 2 täglich
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
    • maheau0 schrieb:

      Deshalb habe ich schon in der bas 'Status = 60' eingesetzt,das sich die Uhr schneller synchronisieren soll.
      Das bringt nix. In dieser Abfrage
      If Dcf_status.7 = 1 Then 'wenn gültiger Zeitempfang war
      Status = 300 '5 Minuten
      Reset Dcf_status.7
      end if
      wird Status bei gültiger Zeit auf 300 gesetzt. Ist Status >0, dann wird als Trenner zwischen den Stunden und Minuten bzw Minuten und Stunden ein Doppelpunkt geschrieben. Status wird aber auch jede Sekunde um 1 erniedrigt. Erreicht Status 0 dann wird aus dem Trenner ein langes Komma. Das ist die Anzeige dafür, das für mindestens 300 Sekunden kein gültige Zeitsignal empfangen wurde, mehr nicht.
      Einfluß auf das Decodieren kannst du bei der 'config dcf'-Zeile nehmen. Vergleiche mal mit der zugehörigen Hilfe
      avrhelp.mcselec.com/configdcf77.htm speziell mit der Option 'check'.

      Verwendest du die .bas, wo zu Beginn die Anzeige ausgeschaltet wird und nur die Led auf dem Uno aktiv ist? Ist da ein Sekundentakt zu erkennen, oder nur ein unregelmäßiges Flackern?
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • maheau0 schrieb:

      Die Uhr zeigt schon über 30min den Doppelpunkt an.
      Dann sollte ja alles passen. Wenn die Uhr DCF-synchron läuft, dann blinkt die Led auf dem Uno sauber im Sekundentakt. Dadurch, dass jetzt die Led nicht mehr die volle Zeit den DCF-Eingang als Signal erhält, kann man keine Unterschiede der Sekundenbits vom Signal mehr erkennen
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • @maheau0 ich hab' das Programm bisschen umgebaut (kleiner gemacht) und dafür Taster zum Stellen der Uhr eingebaut. 2 Taster kommen an portb.0 Anschluß 8 und portb.1 Anschluß 9 am Uno gegen Gnd. Ein Druck auf den Taster erhöht den Wert von Stunden bzw Minuten. So kann man die Uhr stellen, bis sie dann durch DCF synchronisiert wird. Die Tastersteuerung ist nicht sehr aufwändig gemacht, ich will ja auch für die Demo innerhalb der 4k Grenze bleiben

      BASCOM-Quellcode

      1. 'Max7219 Test
      2. 'Uhrzeit wird wie mit einem Walzenzählwerk angezeigt
      3. 'Empfang einer gültigen Zeit in den letzten 5 Minuten wird durch den Trenner signalisiert
      4. 'Die Led ist eine Hilfe für die Beurteilung des Zeitsignals, ein Flackern ist schlecht.
      5. 'Es wird bei Programmstart auf der Led des Unos das Signal des Empfängers ausgegeben, solange, bis ein Empfang gültig war (kann aktiviert werden)
      6. 'Taster zum Stellen von Stunde und Minute an Portb.0 und Portb.1 gegen Gnd
      7. $regfile = "m328pdef.dat"
      8. $crystal = 16000000
      9. $hwstack = 38
      10. $swstack = 12
      11. $framesize = 25
      12. Max_din Alias Portd.2 : Config Max_din = Output
      13. Max_clk Alias Portd.3 : Config Max_clk = Output
      14. Max_cs Alias Portd.4 : Config Max_cs = Output
      15. Led Alias Portb.5 : Config Led = Output
      16. T_min Alias Pinb.0 : Config T_min = Input : Portb.0 = 1 'Stelltaster für Minuten
      17. T_std Alias Pinb.1 : Config T_std = Input : Portb.1 = 1 'Stelltaster für Stunden
      18. 'Das Signal vom DCF-Empfänger wird an den Kontrollerpin portd.7 erwartet
      19. 'DCF77 einrichten
      20. Config Dcf77 = Pind.7 , Timer = 1 , Update = 0 , Inverted = 0 , Check = 1 , Timer1sec = 0
      21. 'Set Portd.7 'pullup setzen
      22. Declare Sub Schreiben(byval Ziffer As Byte , Byval Spalten_nummer As Byte )
      23. Enable Interrupts
      24. Dim Display_speicher(40) As Word '8 Spalten für jedes Modul
      25. Dim Zeile As Byte
      26. Dim Display_speicher_bit As Byte
      27. Dim Zeilen_nummer As Byte
      28. Dim Spalte As Byte , Startspalte As Byte , Endspalte As Byte
      29. Dim Tabellen_stelle As Byte
      30. Dim Display_daten As Byte , Display_digit As Byte
      31. Dim X As Byte , Z As Byte , Zz As Byte
      32. Dim N As Byte
      33. Dim Z_neu(6) As Byte
      34. Dim Z_alt(6) As Byte
      35. Dim Trenner As Byte , Trenner_alt As Byte
      36. Dim Status As Word
      37. Dim Buchstabenspalte As Byte
      38. Dim Sekunde As Byte
      39. Wait 1
      40. Gosub Init_max7219 'Display initialisieren
      41. '(
      42. While Dcf_status.7 = 0 And T_std = 1
      43. Led = Dcf_status.0 'die Led auf dem Uno zeigt das Signal vom DCF-Empfänger
      44. Wend
      45. 'wenn der Empfang erfolgreich was, werden die Matrixen eingeschaltet
      46. ')
      47. Display_digit = &H0C : Display_daten = 1 ' Shutdown Off
      48. Gosub Led_write_command
      49. For N = 1 To 6 'Werte vorbelegen
      50. Z_alt(n) = 10
      51. Next N
      52. Trenner_alt = 10
      53. Do
      54. Do
      55. If Status > 0 Then Decr Status
      56. If Dcf_status.7 = 1 Then 'wenn gültiger Zeitempfang war
      57. Status = 300 '5 Minuten
      58. Reset Dcf_status.7
      59. End If
      60. Sekunde = _sec
      61. Z_neu(1) = _sec Mod 10
      62. Z_neu(2) = _sec / 10
      63. Z_neu(3) = _min Mod 10
      64. Z_neu(4) = _min / 10
      65. Z_neu(5) = _hour Mod 10
      66. Z_neu(6) = _hour / 10
      67. Call Schreiben(z_neu(6) , 1)
      68. Call Schreiben(z_neu(5) , 7)
      69. Call Schreiben(z_neu(4) , 15)
      70. Call Schreiben(z_neu(3) , 21)
      71. Call Schreiben(z_neu(2) , 29)
      72. Call Schreiben(z_neu(1) , 35)
      73. If Status > 0 Then 'Trennzeichen in Abhängigkeit vom Zeitraum zum letzten gültigen Zeitempfang darstellen
      74. Trenner = 1
      75. Display_speicher(13) = Display_speicher(13) And &HFF00
      76. Display_speicher(13) = Display_speicher(13) + &B00101000
      77. Display_speicher(14) = 0
      78. Display_speicher(27) = Display_speicher(27) And &HFF00
      79. Display_speicher(27) = Display_speicher(27) + &B00101000
      80. Display_speicher(28) = 0
      81. Else
      82. Trenner = 0
      83. Display_speicher(13) = Display_speicher(13) And &HFF00
      84. Display_speicher(13) = Display_speicher(13) + &B01110000
      85. Display_speicher(14) = 0
      86. Display_speicher(27) = Display_speicher(27) And &HFF00
      87. Display_speicher(27) = Display_speicher(27) + &B01110000
      88. Display_speicher(28) = 0
      89. End If
      90. 'Ziffern anzeigen und die veränderten umändern
      91. For Z = 1 To 8
      92. Restore Spaltenstart
      93. For X = 6 To 1 Step -1
      94. Read Startspalte
      95. Endspalte = Startspalte + 5
      96. If Z_neu(x) <> Z_alt(x) Then
      97. For Zz = Startspalte To Endspalte
      98. Shift Display_speicher(zz) , Left , 1
      99. Next Zz
      100. End If
      101. Next X
      102. If Trenner <> Trenner_alt Then
      103. Shift Display_speicher(13) , Left , 1
      104. Shift Display_speicher(27) , Left , 1
      105. End If
      106. Gosub Ausgabe
      107. Waitms 50
      108. Next Z
      109. For N = 1 To 6 'Werte vorbelegen
      110. Z_alt(n) = Z_neu(n)
      111. Next N
      112. Trenner_alt = Trenner
      113. 'auf die nächste Sekunde warten
      114. While Sekunde = _sec
      115. Led = Pind.7
      116. Debounce T_std , 0 , Stellen_stunden , Sub
      117. Debounce T_min , 0 , Stellen_minuten , Sub
      118. Wend
      119. Loop
      120. Loop
      121. End
      122. '##################################################### Main-Frame
      123. Sub Schreiben(ziffer As Byte , Byval Spalten_nummer As Byte)
      124. Spalte = Spalten_nummer
      125. Tabellen_stelle = Ziffer * 6
      126. For X = 0 To 5 'das bitmuster spaltenweise in den Speicher schreiben
      127. Buchstabenspalte = Lookup(tabellen_stelle , Font_tabelle)
      128. Display_speicher(spalte) = Display_speicher(spalte) And &HFF00
      129. Display_speicher(spalte) = Display_speicher(spalte) + Buchstabenspalte 'in den lsb-byte vom word schreiben
      130. Tabellen_stelle = Tabellen_stelle + 1
      131. Spalte = Spalte + 1
      132. Next X
      133. End Sub
      134. Stellen_stunden:
      135. Incr _hour
      136. If _hour > 23 Then _hour = 0
      137. _sec = 0 : Sekunde = 100
      138. Return
      139. Stellen_minuten:
      140. Incr _min
      141. If _min > 59 Then _min = 0
      142. _sec = 0 : Sekunde = 100
      143. Return
      144. Ausgabe:
      145. 'Ausgabe an die Module und den neuen Speicherinhalt anzeigen lassen
      146. For Display_speicher_bit = 8 To 15 'die msb-bits werden angezeigt
      147. Zeilen_nummer = Display_speicher_bit - 7
      148. Spalte = 1
      149. Max_cs = 0
      150. While Spalte < 41
      151. For N = 7 To 0 Step -1
      152. Zeile.n = Display_speicher(spalte).display_speicher_bit
      153. Incr Spalte
      154. Next N
      155. Shiftout Max_din , Max_clk , Zeilen_nummer , 1
      156. Shiftout Max_din , Max_clk , Zeile , 1
      157. Wend
      158. Max_cs = 1
      159. Next Display_speicher_bit
      160. Return
      161. Init_max7219: ' Initialisieren des MAX7219
      162. Display_digit = &H0C : Display_daten = &H00 ' Shutdown On
      163. Gosub Led_write_command
      164. Display_digit = &H09 : Display_daten = &H00 ' kein decode "B" für alle Digits
      165. Gosub Led_write_command
      166. Display_digit = &H0A : Display_daten = &H03 ' Helligkeit 0-F
      167. Gosub Led_write_command
      168. Display_digit = &H0B : Display_daten = 7 ' Anzahl Digits 8
      169. Gosub Led_write_command
      170. Display_digit = &H0F : Display_daten = 0 ' Test Off
      171. Gosub Led_write_command
      172. Return
      173. Led_write_command:
      174. Max_cs = 0
      175. For N = 1 To 5 'alle 5 Max bekommen die Einstellungen gesendet
      176. Shiftout Max_din , Max_clk , Display_digit , 1
      177. Shiftout Max_din , Max_clk , Display_daten , 1
      178. Next N
      179. Max_cs = 1
      180. Return
      181. Font_tabelle:
      182. 'Font5x8
      183. 'Data 62 , 81 , 73 , 69 , 62,0 ' 0
      184. Data 62 , 65 , 65 , 65 , 62 , 0 ' O
      185. Data 0 , 66 , 127 , 64 , 0 , 0 ' 1
      186. Data 98 , 81 , 73 , 73 , 70 , 0 ' 2
      187. Data 34 , 73 , 73 , 73 , 54 , 0 ' 3
      188. Data 24 , 20 , 18 , 127 , 16 , 0 ' 4
      189. Data 47 , 73 , 73 , 73 , 49 , 0 ' 5
      190. Data 60 , 74 , 73 , 73 , 48 , 0 ' 6
      191. Data 1 , 113 , 9 , 5 , 3 , 0 ' 7
      192. Data 54 , 73 , 73 , 73 , 54 , 0 ' 8
      193. Data 6 , 73 , 73 , 41 , 30 , 0 ' 9
      194. Data 0 , 0 , 0 , 0 , 0 , 0 'Leerzeichen
      195. Spaltenstart:
      196. Data 1 , 7 , 15 , 21 , 29 , 35
      Alles anzeigen
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • maheau0 schrieb:

      ich habe 5 Einzelmodule zu Testzwecken installiert.
      Dabei mußten sie 180° gedreht. Deshalb sind der Dout und Din nicht unmittelbar gegenüber
      Öhh, ich hab' auch nur Einzelmodule aneinander gereiht. Das verstehe ich jetzt nicht, wie schauen deine aus? Meine sind so, wie im Lexikon gezeigt
      Max7219 mit 8x8 Ledmatrix, Beschreibung der Ansteuerung an Hand eines Beispiels
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • maheau0 schrieb:

      meine haben Stiftleisten nach hinten und ma kann sie über Kurzschlußbrücken miteinander verbinden.
      Das wäre bei mir genauso. Ok, anderer Hersteller, andere Ledzuordnung.
      um 180° jedes Modul drehen, dann passt alles?
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Wenn ich das dann richtig interpretiere, dann muss man bei den einzelnen Modulen die Zeilen umstellen, dass die oberste die unterste wird, und die Spalten genau so, die linke Led wird die rechte.
      Probier mal, ob das schon geht

      BASCOM-Quellcode

      1. 'Max7219 Test
      2. 'alternative Matrixansteuerung
      3. 'Uhrzeit wird wie mit einem Walzenzählwerk angezeigt
      4. 'Empfang einer gültigen Zeit in den letzten 5 Minuten wird durch den Trenner signalisiert
      5. 'Die Led ist eine Hilfe für die Beurteilung des Zeitsignals, ein Flackern ist schlecht.
      6. 'Es wird bei Programmstart auf der Led des Unos das Signal des Empfängers ausgegeben, solange, bis ein Empfang gültig war (kann aktiviert werden)
      7. 'Taster zum Stellen von Stunde und Minute an Portb.0 und Portb.1 gegen Gnd
      8. $regfile = "m328pdef.dat"
      9. $crystal = 16000000
      10. $hwstack = 38
      11. $swstack = 12
      12. $framesize = 25
      13. Max_din Alias Portd.2 : Config Max_din = Output
      14. Max_clk Alias Portd.3 : Config Max_clk = Output
      15. Max_cs Alias Portd.4 : Config Max_cs = Output
      16. Led Alias Portb.5 : Config Led = Output
      17. T_min Alias Pinb.0 : Config T_min = Input : Portb.0 = 1 'Stelltaster für Minuten
      18. T_std Alias Pinb.1 : Config T_std = Input : Portb.1 = 1 'Stelltaster für Stunden
      19. 'Das Signal vom DCF-Empfänger wird an den Kontrollerpin portd.7 erwartet
      20. 'DCF77 einrichten
      21. Config Dcf77 = Pind.7 , Timer = 1 , Update = 0 , Inverted = 0 , Check = 1 , Timer1sec = 0
      22. 'Set Portd.7 'pullup setzen
      23. Declare Sub Schreiben(byval Ziffer As Byte , Byval Spalten_nummer As Byte )
      24. Enable Interrupts
      25. Dim Display_speicher(40) As Word '8 Spalten für jedes Modul
      26. Dim Zeile As Byte
      27. Dim Display_speicher_bit As Byte
      28. Dim Zeilen_nummer As Byte
      29. Dim Spalte As Byte , Startspalte As Byte , Endspalte As Byte
      30. Dim Tabellen_stelle As Byte
      31. Dim Display_daten As Byte , Display_digit As Byte
      32. Dim X As Byte , Z As Byte , Zz As Byte
      33. Dim N As Byte
      34. Dim Z_neu(6) As Byte
      35. Dim Z_alt(6) As Byte
      36. Dim Trenner As Byte , Trenner_alt As Byte
      37. Dim Status As Word
      38. Dim Buchstabenspalte As Byte
      39. Dim Sekunde As Byte
      40. Wait 1
      41. Gosub Init_max7219 'Display initialisieren
      42. '(
      43. While Dcf_status.7 = 0 And T_std = 1
      44. Led = Dcf_status.0 'die Led auf dem Uno zeigt das Signal vom DCF-Empfänger
      45. Wend
      46. 'wenn der Empfang erfolgreich was, werden die Matrixen eingeschaltet
      47. ')
      48. Display_digit = &H0C : Display_daten = 1 ' Shutdown Off
      49. Gosub Led_write_command
      50. For N = 1 To 6 'Werte vorbelegen
      51. Z_alt(n) = 10
      52. Next N
      53. Trenner_alt = 10
      54. Do
      55. Do
      56. If Status > 0 Then Decr Status
      57. If Dcf_status.7 = 1 Then 'wenn gültiger Zeitempfang war
      58. Status = 300 '5 Minuten
      59. Reset Dcf_status.7
      60. End If
      61. Sekunde = _sec
      62. Z_neu(1) = _sec Mod 10
      63. Z_neu(2) = _sec / 10
      64. Z_neu(3) = _min Mod 10
      65. Z_neu(4) = _min / 10
      66. Z_neu(5) = _hour Mod 10
      67. Z_neu(6) = _hour / 10
      68. Call Schreiben(z_neu(6) , 1)
      69. Call Schreiben(z_neu(5) , 7)
      70. Call Schreiben(z_neu(4) , 15)
      71. Call Schreiben(z_neu(3) , 21)
      72. Call Schreiben(z_neu(2) , 29)
      73. Call Schreiben(z_neu(1) , 35)
      74. If Status > 0 Then 'Trennzeichen in Abhängigkeit vom Zeitraum zum letzten gültigen Zeitempfang darstellen
      75. Trenner = 1
      76. Display_speicher(13) = Display_speicher(13) And &HFF00
      77. Display_speicher(13) = Display_speicher(13) + &B00101000
      78. Display_speicher(14) = 0
      79. Display_speicher(27) = Display_speicher(27) And &HFF00
      80. Display_speicher(27) = Display_speicher(27) + &B00101000
      81. Display_speicher(28) = 0
      82. Else
      83. Trenner = 0
      84. Display_speicher(13) = Display_speicher(13) And &HFF00
      85. Display_speicher(13) = Display_speicher(13) + &B01110000
      86. Display_speicher(14) = 0
      87. Display_speicher(27) = Display_speicher(27) And &HFF00
      88. Display_speicher(27) = Display_speicher(27) + &B01110000
      89. Display_speicher(28) = 0
      90. End If
      91. 'Ziffern anzeigen und die veränderten umändern
      92. For Z = 1 To 8
      93. Restore Spaltenstart
      94. For X = 6 To 1 Step -1
      95. Read Startspalte
      96. Endspalte = Startspalte + 5
      97. If Z_neu(x) <> Z_alt(x) Then
      98. For Zz = Startspalte To Endspalte
      99. Shift Display_speicher(zz) , Left , 1
      100. Next Zz
      101. End If
      102. Next X
      103. If Trenner <> Trenner_alt Then
      104. Shift Display_speicher(13) , Left , 1
      105. Shift Display_speicher(27) , Left , 1
      106. End If
      107. Gosub Ausgabe
      108. Waitms 50
      109. Next Z
      110. For N = 1 To 6 'Werte vorbelegen
      111. Z_alt(n) = Z_neu(n)
      112. Next N
      113. Trenner_alt = Trenner
      114. 'auf die nächste Sekunde warten
      115. While Sekunde = _sec
      116. Led = Pind.7
      117. Debounce T_std , 0 , Stellen_stunden , Sub
      118. Debounce T_min , 0 , Stellen_minuten , Sub
      119. Wend
      120. Loop
      121. Loop
      122. End
      123. '##################################################### Main-Frame
      124. Sub Schreiben(ziffer As Byte , Byval Spalten_nummer As Byte)
      125. Spalte = Spalten_nummer
      126. Tabellen_stelle = Ziffer * 6
      127. For X = 0 To 5 'das bitmuster spaltenweise in den Speicher schreiben
      128. Buchstabenspalte = Lookup(tabellen_stelle , Font_tabelle)
      129. Display_speicher(spalte) = Display_speicher(spalte) And &HFF00
      130. Display_speicher(spalte) = Display_speicher(spalte) + Buchstabenspalte 'in den lsb-byte vom word schreiben
      131. Tabellen_stelle = Tabellen_stelle + 1
      132. Spalte = Spalte + 1
      133. Next X
      134. End Sub
      135. Stellen_stunden:
      136. Incr _hour
      137. If _hour > 23 Then _hour = 0
      138. _sec = 0 : Sekunde = 100
      139. Return
      140. Stellen_minuten:
      141. Incr _min
      142. If _min > 59 Then _min = 0
      143. _sec = 0 : Sekunde = 100
      144. Return
      145. Ausgabe:
      146. 'Ausgabe an die Module und den neuen Speicherinhalt anzeigen lassen
      147. For Display_speicher_bit = 8 To 15 'die msb-bits werden angezeigt
      148. Zeilen_nummer = 16 - display_speicher_bit
      149. Spalte = 1
      150. Max_cs = 0
      151. While Spalte < 41
      152. For N = 0 To 7
      153. Zeile.n = Display_speicher(spalte).display_speicher_bit
      154. Incr Spalte
      155. Next N
      156. Shiftout Max_din , Max_clk , Zeilen_nummer , 1
      157. Shiftout Max_din , Max_clk , Zeile , 1
      158. Wend
      159. Max_cs = 1
      160. Next Display_speicher_bit
      161. Return
      162. Init_max7219: ' Initialisieren des MAX7219
      163. Display_digit = &H0C : Display_daten = &H00 ' Shutdown On
      164. Gosub Led_write_command
      165. Display_digit = &H09 : Display_daten = &H00 ' kein decode "B" für alle Digits
      166. Gosub Led_write_command
      167. Display_digit = &H0A : Display_daten = &H03 ' Helligkeit 0-F
      168. Gosub Led_write_command
      169. Display_digit = &H0B : Display_daten = 7 ' Anzahl Digits 8
      170. Gosub Led_write_command
      171. Display_digit = &H0F : Display_daten = 0 ' Test Off
      172. Gosub Led_write_command
      173. Return
      174. Led_write_command:
      175. Max_cs = 0
      176. For N = 1 To 5 'alle 5 Max bekommen die Einstellungen gesendet
      177. Shiftout Max_din , Max_clk , Display_digit , 1
      178. Shiftout Max_din , Max_clk , Display_daten , 1
      179. Next N
      180. Max_cs = 1
      181. Return
      182. Font_tabelle:
      183. 'Font5x8
      184. 'Data 62 , 81 , 73 , 69 , 62,0 ' 0
      185. Data 62 , 65 , 65 , 65 , 62 , 0 ' O
      186. Data 0 , 66 , 127 , 64 , 0 , 0 ' 1
      187. Data 98 , 81 , 73 , 73 , 70 , 0 ' 2
      188. Data 34 , 73 , 73 , 73 , 54 , 0 ' 3
      189. Data 24 , 20 , 18 , 127 , 16 , 0 ' 4
      190. Data 47 , 73 , 73 , 73 , 49 , 0 ' 5
      191. Data 60 , 74 , 73 , 73 , 48 , 0 ' 6
      192. Data 1 , 113 , 9 , 5 , 3 , 0 ' 7
      193. Data 54 , 73 , 73 , 73 , 54 , 0 ' 8
      194. Data 6 , 73 , 73 , 41 , 30 , 0 ' 9
      195. Data 0 , 0 , 0 , 0 , 0 , 0 'Leerzeichen
      196. Spaltenstart:
      197. Data 1 , 7 , 15 , 21 , 29 , 35
      Alles anzeigen
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tschoeatsch ()