Moment. Ich bau mein Board grade mal um und probiere es bei mir.
Negativ, den schluckt er auch net...
an der Hardware liegts net, hab sie grad nochmals ohne Zeichensatz getestet...
?
Moment. Ich bau mein Board grade mal um und probiere es bei mir.
So geht es bei mir.Code:$regfile = "m16def.dat" $crystal = 8000000 Config Portb = Output Declare Sub Ukommando(byval Wert As Byte) Declare Sub Udata(byval Wert As Byte) Declare Sub Initialisierung Declare Sub Lcdloeschen Dim X As Byte Dim Ziff As Byte Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 Dc Alias Portb.3 Ce Alias Portb.2 Re Alias Portb.1 Re = 0 'Reset Waitus 250 Re = 1 Spiinit 'Initialisierung der SPI-Schnittstelle Do Initialisierung Lcdloeschen 'Udata &H7F 'Udata &H02 'Udata &H04 'Udata &H02 'Udata &H7F 'Udata &H00 Restore B For X = 1 To 6 Read Ziff Udata Ziff Next X Wait 2 Loop Sub Initialisierung Ukommando &H21 'Erweiterter Kommando-Mode Ukommando &HC8 Ukommando &H06 Ukommando &H13 Ukommando &H20 'Wieder in den normalen Kommando-Mode Ukommando &H0C End Sub Sub Lcdloeschen Local I As Word Ukommando &H20 'Normaler Kommando-Mode Ukommando &H0C 'Normaler Bildschirm Ukommando &H80 'Setze RAM-Adresse auf 0 Dc = 1 'Sicherstellen, dass man im Daten-Mode ist For I = 0 To 503 Udata &H00 Next End Sub '------------------------------------------------------------------------------ Sub Ukommando(byval Wert As Byte) Dc = 0 'in den Kommando-Mode Spiout Wert , 1 Dc = 1 'zurück in den Daten-Mode End Sub Sub Udata(byval Wert As Byte) Dc = 1 'um sicher zu gehen, dass man auch wirklich im Datenmode ist Ce = 0 Spiout Wert , 1 Ce = 1 End Sub 0: Data &H00 , &H3E , &H51 , &H49 , &H45 , &H3E 1: Data &H00 , &H00 , &H42 , &H7F , &H40 , &H00 2: Data &H00 , &H42 , &H61 , &H51 , &H49 , &H46 3: Data &H00 , &H22 , &H41 , &H49 , &H49 , &H36 4: Data &H00 , &H18 , &H14 , &H12 , &H7F , &H10 5: Data &H00 , &H27 , &H45 , &H45 , &H45 , &H39 6: Data &H00 , &H3E , &H49 , &H49 , &H49 , &H32 7: Data &H00 , &H61 , &H11 , &H09 , &H05 , &H03 8: Data &H00 , &H36 , &H49 , &H49 , &H49 , &H36 9: Data &H00 , &H26 , &H49 , &H49 , &H49 , &H3E A: Data &H00 , &H7C , &H12 , &H11 , &H12 , &H7C B: Data &H00 , &H7F , &H49 , &H49 , &H49 , &H36 C: Data &H00 , &H3E , &H41 , &H41 , &H41 , &H22 D: Data &H00 , &H7F , &H41 , &H41 , &H41 , &H3E E: Data &H00 , &H7F , &H49 , &H49 , &H49 , &H41 F: Data &H00 , &H7F , &H09 , &H09 , &H09 , &H01 G: Data &H00 , &H3E , &H41 , &H49 , &H49 , &H3A H: Data &H00 , &H7F , &H08 , &H08 , &H08 , &H7F I: Data &H00 , &H00 , &H41 , &H7F , &H41 , &H00 J: Data &H00 , &H20 , &H41 , &H41 , &H41 , &H3F K: Data &H00 , &H7F , &H08 , &H14 , &H22 , &H41 L: Data &H00 , &H7F , &H40 , &H40 , &H40 , &H40 M: Data &H00 , &H7F , &H02 , &H04 , &H02 , &H7F N: Data &H00 , &H7F , &H04 , &H08 , &H10 , &H7F O: Data &H00 , &H3E , &H41 , &H41 , &H41 , &H3E P: Data &H00 , &H7F , &H09 , &H09 , &H09 , &H06 Q: Data &H00 , &H3E , &H41 , &H51 , &H61 , &H7E R: Data &H00 , &H7F , &H09 , &H19 , &H29 , &H46 S: Data &H00 , &H06 , &H49 , &H49 , &H49 , &H30 T: Data &H00 , &H01 , &H01 , &H7F , &H01 , &H01 U: Data &H00 , &H3F , &H40 , &H40 , &H40 , &H3F V: Data &H00 , &H1F , &H20 , &H40 , &H20 , &H1F W: Data &H00 , &H7F , &H20 , &H10 , &H20 , &H7F X: Data &H00 , &H63 , &H14 , &H08 , &H14 , &H63 Y: Data &H00 , &H03 , &H04 , &H78 , &H04 , &H03 Z: Data &H00 , &H61 , &H51 , &H49 , &H45 , &H43 'Leerzeichen Leer: Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 'für Kleinbuchstaben A1: Data &H00 , &H30 , &H4A , &H4A , &H52 , &H7C B1: Data &H00 , &H3F , &H48 , &H44 , &H44 , &H38 C1: Data &H00 , &H38 , &H44 , &H44 , &H44 , &H28 D1: Data &H00 , &H38 , &H44 , &H44 , &H48 , &H7F E1: Data &H00 , &H38 , &H54 , &H54 , &H54 , &H18 F1: Data &H00 , &H00 , &H04 , &H7E , &H05 , &H00 G1: Data &H00 , &H0C , &H52 , &H52 , &H4A , &H3C H1: Data &H00 , &H7F , &H08 , &H04 , &H04 , &H78 I1: Data &H00 , &H00 , &H44 , &H7D , &H40 , &H00 J1: Data &H00 , &H00 , &H40 , &H44 , &H3D , &H00 K1: Data &H00 , &H7F , &H20 , &H10 , &H28 , &H44 L1: Data &H00 , &H00 , &H41 , &H7F , &H40 , &H00 M1: Data &H00 , &H7C , &H04 , &H18 , &H04 , &H7C N1: Data &H00 , &H7C , &H08 , &H04 , &H04 , &H78 O1: Data &H00 , &H38 , &H44 , &H44 , &H44 , &H38 P1: Data &H00 , &H7C , &H14 , &H24 , &H24 , &H18 Q1: Data &H00 , &H18 , &H24 , &H24 , &H14 , &H7C R1: Data &H00 , &H7C , &H04 , &H04 , &H08 , &H00 S1: Data &H00 , &H08 , &H54 , &H54 , &H54 , &H20 T1: Data &H00 , &H04 , &H3F , &H44 , &H40 , &H00 U1: Data &H00 , &H3C , &H40 , &H40 , &H40 , &H3C V1: Data &H00 , &H1C , &H20 , &H40 , &H20 , &H1C W1: Data &H00 , &H3C , &H40 , &H30 , &H40 , &H3C X1: Data &H00 , &H44 , &H28 , &H10 , &H28 , &H44 Y1: Data &H00 , &H0C , &H50 , &H50 , &H48 , &H3C Z1: Data &H00 , &H44 , &H64 , &H54 , &H4C , &H44 'Sonderzeichen Punkt: Data &H00 , &H00 , &H60 , &H60 , &H00 , &H00 Strich: Data &H00 , &H18 , &H18 , &H18 , &H18 , &H00 Doppelpunkt: Data &H00 , &H00 , &H6C , &H6C , &H00 , &H00 Gradzeichen: Data &H00 , &H00 , &H07 , &H05 , &H07 , &H00 Pfeilrechts: Data &H00 , &H41 , &H63 , &H36 , &H1C , &H08
Anstelle des M lief erst ein A über's Display und jetzt mit diesem Code ein B.
PS: Wenn du diesen Code kopierst, beachte, das ich B.3 und nicht B.0 benutze!!! Regfile und Crystal wären dir sicherlich auch so aufgefallen.
Und so habe ich ABCb auf dem Display.Code:Do Initialisierung Lcdloeschen 'Udata &H7F 'Udata &H02 'Udata &H04 'Udata &H02 'Udata &H7F 'Udata &H00 Restore A For X = 1 To 6 Read Ziff Udata Ziff Next X Restore B For X = 1 To 6 Read Ziff Udata Ziff Next X Restore C For X = 1 To 6 Read Ziff Udata Ziff Next X Restore B1 For X = 1 To 6 Read Ziff Udata Ziff Next X Wait 2 Loop
Also bei mir frisst er das absolut net...
Ich probier dann morgen noch daran rum..
Achso.. Ich hab den Regler am Netzteil versehentlich auf 2.5V gedreht... So gehts natürlich net... Es funktioniert übrigens!!!!!! Herzlichen Dank für die Hilfe!!
Nur nervig, dass die Sache übern Display läuft... Da werd ich mal ins DB vom Display gucken.
Herzlichen Gruss
Mario
Im Forum von Mikrocontroller.net sind noch weitere Bascom-Beispiele aufgeführt. Vielleicht findest du da noch was anderes interessantes.
PS: Ging es mit Restore A: und Call Udata auch? Ich hab mein Board schon wieder abgebaut und es nicht probiert.
Das mit dem Restore und Call kann ich grad auch nimmer testen, da alles schon verbaut...
Hab aber noch ein Problem... Hinter "Restore" kann man keine Variabel, die eine Ziffer enthält stecken...
Also Restore x, mit x=3 geht net...
Wie kann man das lösen?
Er sagt dann immer beim compilieren "Label not Found [X ]
Ich bräuchte dies Funktion aber.. X ist als Byte definiert....
Achja, X steht für die Nummer eines Labels...
Bei mir hat der Datensatz für den Buchstaben A das Label 1:
Wenn jetzt X=1 ist, soll er diesen Buchstaben restoren, nur: restore x geht ja net, muss ein Label sein...
Soll ich da jetzt 30 If-Then-Abfragen bauen oder kann man das anders lösen?..
Bei deiner Tabelle ist das Problem, daß die ASCII-Zeichen und die Label-Tabelle in der Reihenfolge nicht logisch zueinander passen. So, wie's ist, müßtest du wohl
hinschreibenselect case (gesuchtes zeichen)
case 0: restore 0
case 1: restore 1
.....
case ".": restore punkt
end select
Ist verständlich, leicht erweiterbar und sauber.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ok, werde ich testen, sobald ich wieder ein LCD hab....
Hab meines glaub aus Versehen gekocht, zuviel Spannung... (3.9V)
Er zeigt jetzt nur noch mitten im Display einen Punkt...
Muss ich halt ein neues suchen..
Hallo,
ich habe das mal zusammenkopiert und es läuft bei mir.
Im hauptprogramm steht text=" " und dann gosub words gibt den string aus.. ist äußerst schmutzig programmiert, aber läuft )
Wenn mein rechner zuhause wieder vernünftig läuft dann guck ich mal dass man auch den text scalieren kann etc.
Code:$regfile = "m8def.dat" $crystal = 16000000 Config Portb = Output Declare Sub Ukommando(byval Wert As Byte) Declare Sub Udata(byval Wert As Byte) Declare Sub Initialisierung Declare Sub Lcdloeschen Declare Sub Words Declare Sub Charout Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 128 Dc Alias Portb.1 Ce Alias Portb.6 Re Alias Portb.0 Dim Text As String * 42 Dim Loops As Byte Dim Lenght As Byte Dim Sign As String * 1 Dim Dispdata As Byte Dim Count As Byte Re = 0 'Reset Waitus 250 Re = 1 Spiinit 'Initialisierung der SPI-Schnittstelle Do Initialisierung Lcdloeschen Text = "...OK..." Gosub Words Wait 2 Loop End Sub Initialisierung Ukommando &H21 'Erweiterter Kommando-Mode Ukommando &HC8 Ukommando &H06 Ukommando &H13 Ukommando &H20 'Wieder in den normalen Kommando-Mode Ukommando &H0C End Sub Sub Lcdloeschen Local I As Word Ukommando &H20 'Normaler Kommando-Mode Ukommando &H0C 'Normaler Bildschirm Ukommando &H80 'Setze RAM-Adresse auf 0 Dc = 1 'Sicherstellen, dass man im Daten-Mode ist For I = 0 To 503 Udata &H00 Next End Sub Sub Charout For Count = 1 To 6 Read Dispdata Udata Dispdata Next Count End Sub Sub Words Lenght = Len(text) For Loops = 1 To Lenght If Loops = 1 Then Sign = Left(text , 1) Elseif Loops = Lenght Then Sign = Right(text , 1) Else Sign = Mid(text , Loops , 1) End If If Sign = "0" Then Restore 0: If Sign = "1" Then Restore 1: If Sign = "2" Then Restore 2: If Sign = "3" Then Restore 3: If Sign = "4" Then Restore 4: If Sign = "5" Then Restore 5: If Sign = "6" Then Restore 6: If Sign = "7" Then Restore 7: If Sign = "8" Then Restore 8: If Sign = "9" Then Restore 9: If Sign = "A" Then Restore A: If Sign = "B" Then Restore B: If Sign = "C" Then Restore C: If Sign = "D" Then Restore D: If Sign = "E" Then Restore E: If Sign = "F" Then Restore F: If Sign = "G" Then Restore G: If Sign = "H" Then Restore H: If Sign = "I" Then Restore I: If Sign = "J" Then Restore J: If Sign = "K" Then Restore K: If Sign = "L" Then Restore L: If Sign = "M" Then Restore M: If Sign = "N" Then Restore N: If Sign = "O" Then Restore O: If Sign = "P" Then Restore P: If Sign = "Q" Then Restore Q: If Sign = "R" Then Restore R: If Sign = "S" Then Restore S: If Sign = "T" Then Restore T: If Sign = "U" Then Restore U: If Sign = "V" Then Restore V: If Sign = "W" Then Restore W: If Sign = "X" Then Restore X: If Sign = "Y" Then Restore Y: If Sign = "Z" Then Restore Z: If Sign = "a" Then Restore A1: If Sign = "b" Then Restore B1: If Sign = "c" Then Restore C1: If Sign = "d" Then Restore D1: If Sign = "e" Then Restore E1: If Sign = "f" Then Restore F1: If Sign = "g" Then Restore G1: If Sign = "h" Then Restore H1: If Sign = "i" Then Restore I1: If Sign = "j" Then Restore J1: If Sign = "k" Then Restore K1: If Sign = "l" Then Restore L1: If Sign = "m" Then Restore M1: If Sign = "n" Then Restore N1: If Sign = "o" Then Restore O1: If Sign = "p" Then Restore P1: If Sign = "q" Then Restore Q1: If Sign = "r" Then Restore R1: If Sign = "s" Then Restore S1: If Sign = "t" Then Restore T1: If Sign = "u" Then Restore U1: If Sign = "v" Then Restore V1: If Sign = "w" Then Restore W1: If Sign = "x" Then Restore X1: If Sign = "y" Then Restore Y1: If Sign = "z" Then Restore Z1: If Sign = " " Then Restore Leerzeichen: If Sign = "." Then Restore Punkt: If Sign = ":" Then Restore Doppelpunkt: Call Charout Next Loops End Sub '------------------------------------------------------------------------------ Sub Ukommando(byval Wert As Byte) Dc = 0 'in den Kommando-Mode Spiout Wert , 1 Dc = 1 'zurück in den Daten-Mode End Sub Sub Udata(byval Wert As Byte) Dc = 1 'um sicher zu gehen, dass man auch wirklich im Datenmode ist Ce = 0 Spiout Wert , 1 Ce = 1 End Sub '********************** Daten (ASCII) ****************************************** 0: Data &H00 , &H3E , &H51 , &H49 , &H45 , &H3E 1: Data &H00 , &H00 , &H42 , &H7F , &H40 , &H00 2: Data &H00 , &H42 , &H61 , &H51 , &H49 , &H46 3: Data &H00 , &H22 , &H41 , &H49 , &H49 , &H36 4: Data &H00 , &H18 , &H14 , &H12 , &H7F , &H10 5: Data &H00 , &H27 , &H45 , &H45 , &H45 , &H39 6: Data &H00 , &H3E , &H49 , &H49 , &H49 , &H32 7: Data &H00 , &H61 , &H11 , &H09 , &H05 , &H03 8: Data &H00 , &H36 , &H49 , &H49 , &H49 , &H36 9: Data &H00 , &H26 , &H49 , &H49 , &H49 , &H3E A: Data &H00 , &H7C , &H12 , &H11 , &H12 , &H7C B: Data &H00 , &H7F , &H49 , &H49 , &H49 , &H36 C: Data &H00 , &H3E , &H41 , &H41 , &H41 , &H22 D: Data &H00 , &H7F , &H41 , &H41 , &H41 , &H3E E: Data &H00 , &H7F , &H49 , &H49 , &H49 , &H41 F: Data &H00 , &H7F , &H09 , &H09 , &H09 , &H01 G: Data &H00 , &H3E , &H41 , &H49 , &H49 , &H3A H: Data &H00 , &H7F , &H08 , &H08 , &H08 , &H7F I: Data &H00 , &H00 , &H41 , &H7F , &H41 , &H00 J: Data &H00 , &H20 , &H41 , &H41 , &H41 , &H3F K: Data &H00 , &H7F , &H08 , &H14 , &H22 , &H41 L: Data &H00 , &H7F , &H40 , &H40 , &H40 , &H40 M: Data &H00 , &H7F , &H02 , &H04 , &H02 , &H7F N: Data &H00 , &H7F , &H04 , &H08 , &H10 , &H7F O: Data &H00 , &H3E , &H41 , &H41 , &H41 , &H3E P: Data &H00 , &H7F , &H09 , &H09 , &H09 , &H06 Q: Data &H00 , &H3E , &H41 , &H51 , &H61 , &H7E R: Data &H00 , &H7F , &H09 , &H19 , &H29 , &H46 S: Data &H00 , &H06 , &H49 , &H49 , &H49 , &H30 T: Data &H00 , &H01 , &H01 , &H7F , &H01 , &H01 U: Data &H00 , &H3F , &H40 , &H40 , &H40 , &H3F V: Data &H00 , &H1F , &H20 , &H40 , &H20 , &H1F W: Data &H00 , &H7F , &H20 , &H10 , &H20 , &H7F X: Data &H00 , &H63 , &H14 , &H08 , &H14 , &H63 Y: Data &H00 , &H03 , &H04 , &H78 , &H04 , &H03 Z: Data &H00 , &H61 , &H51 , &H49 , &H45 , &H43 'für Kleinbuchstaben A1: Data &H00 , &H30 , &H4A , &H4A , &H52 , &H7C B1: Data &H00 , &H3F , &H48 , &H44 , &H44 , &H38 C1: Data &H00 , &H38 , &H44 , &H44 , &H44 , &H28 D1: Data &H00 , &H38 , &H44 , &H44 , &H48 , &H7F E1: Data &H00 , &H38 , &H54 , &H54 , &H54 , &H18 F1: Data &H00 , &H00 , &H04 , &H7E , &H05 , &H00 G1: Data &H00 , &H0C , &H52 , &H52 , &H4A , &H3C H1: Data &H00 , &H7F , &H08 , &H04 , &H04 , &H78 I1: Data &H00 , &H00 , &H44 , &H7D , &H40 , &H00 J1: Data &H00 , &H00 , &H40 , &H44 , &H3D , &H00 K1: Data &H00 , &H7F , &H20 , &H10 , &H28 , &H44 L1: Data &H00 , &H00 , &H41 , &H7F , &H40 , &H00 M1: Data &H00 , &H7C , &H04 , &H18 , &H04 , &H7C N1: Data &H00 , &H7C , &H08 , &H04 , &H04 , &H78 O1: Data &H00 , &H38 , &H44 , &H44 , &H44 , &H38 P1: Data &H00 , &H7C , &H14 , &H24 , &H24 , &H18 Q1: Data &H00 , &H18 , &H24 , &H24 , &H14 , &H7C R1: Data &H00 , &H7C , &H04 , &H04 , &H08 , &H00 S1: Data &H00 , &H08 , &H54 , &H54 , &H54 , &H20 T1: Data &H00 , &H04 , &H3F , &H44 , &H40 , &H00 U1: Data &H00 , &H3C , &H40 , &H40 , &H40 , &H3C V1: Data &H00 , &H1C , &H20 , &H40 , &H20 , &H1C W1: Data &H00 , &H3C , &H40 , &H30 , &H40 , &H3C X1: Data &H00 , &H44 , &H28 , &H10 , &H28 , &H44 Y1: Data &H00 , &H0C , &H50 , &H50 , &H48 , &H3C Z1: Data &H00 , &H44 , &H64 , &H54 , &H4C , &H44 'Sonderzeichen Punkt: Data &H00 , &H00 , &H60 , &H60 , &H00 , &H00 Strich: Data &H00 , &H18 , &H18 , &H18 , &H18 , &H00 Doppelpunkt: Data &H00 , &H00 , &H6C , &H6C , &H00 , &H00 Gradzeichen: Data &H00 , &H00 , &H07 , &H05 , &H07 , &H00 Pfeilrechts: Data &H00 , &H41 , &H63 , &H36 , &H1C , &H08 Leerzeichen: Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00
Lesezeichen