Negativ, den schluckt er auch net...
an der Hardware liegts net, hab sie grad nochmals ohne Zeichensatz getestet...
?
Druckbare Version
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
hinschreibenZitat:
select case (gesuchtes zeichen)
case 0: restore 0
case 1: restore 1
.....
case ".": restore punkt
end select
Ist verständlich, leicht erweiterbar und sauber.
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