Hallo,
habe nachfolgendes Programm aus dem Elektor 11/2005 mit einem
"Nokia-LCD" benutzt. Wenn ich es jetzt mit der aktuellen Version (5.16)
compilieren will wird immer "GoSub WriteToLCD" angemeckert.
Mit einer älteren Version ging es immer, ohne Fehler.
Was muß ich ändern, bzw wo bekomme ich die alte Version wieder her, da
ich nach Systemumbau meines PC's auch neue Festplatten habe?
Danke Maxi
'Attribute VB_Name = "Module1"
symbol SCLK = 0 'Display pin 2 to PICAXE out 0
symbol SDA = 1 'Display pin 3 to PICAXE out 1
symbol DC = 2 'Display pin 4 to PICAXE out 2
symbol CS = 3 'Display pin 5 to PICAXE out 3
symbol RES = 4 'Display pin 8 to PICAXE out 4
symbol Command = bit0
symbol Value = b2
symbol X = b3
symbol Y = b4
symbol GraphicData = b5
symbol Mask = b7
symbol Loop1 = b10
symbol Loop2 = b11
symbol loop3 = b12
setfreq m8
GoSub Init
GoSub PrName
GoSub Graphic
GoSub Invert
pause 500
GoSub Normal
setfreq m4
Stop
End
Graphic:
X = 10
For Loop1 = 15 To 41
read Loop1, GraphicData
Y = GraphicData / 8
loop3 = -Y * 8 + GraphicData + 7
X = X + 1
Command = 1
GoSub GotoXY
Command = 0
read loop3, Value
GoSub WriteToLCD
Next
Return
PrName:
Command = 0
For Loop1 = 43 To 65
read Loop1, Value
GoSub WriteToLCD
Next Loop1
Return
Init:
'initialisation commands
EEPROM 0,(33,197,6,19,32,12)
'powers of 2 for graphs
EEPROM 6,(0,1,2,4,8,16,32,64,128)
'sine wave lookup table
EEPROM
15,(24,26,28,30,31,33,34,36,38,39,41,42,43,44,45,46,47,47,47,47,47,47,47
,46,45,44,43,42)
'some characters to display
EEPROM
43,(127,8,8,8,127,0,32,84,84,84,56,0,124,8,4,4,120,0,72,84,84,84,32)
low SCLK
low SDA
low DC
low CS
low RES
pause 500
high RES
high CS
Command = 1
for Loop1 = 0 to 5 ‘ start a loop
read Loop1, Value ‘ read value from EEPROM
gosub WriteToLCD ‘ transmit to serial LCD module
Next Loop1
GoSub White
X = 0
Y = 0
GoSub GotoXY
GoSub ClearFast
GoSub Normal
Return
WriteToLCD:
high DC 'Data mode
If Command = 0 Then DataMode
low DC 'Command mode
DataMode:
low CS
For Loop2 = 1 To 8
low SCLK
Mask = Value & 128
low SDA
If Mask = 0 Then Skiphigh
high SDA
Skiphigh:
high SCLK
Value = Value * 2
Next Loop2
high CS
Return
ClearFast:
low SDA
high DC
low CS
For Loop1 = 1 To 48
For loop3 = 1 To 84
low SCLK
high SCLK
Next loop3
Next Loop1
Return
GotoXY:
Command = 1
Value = X + 128
GoSub WriteToLCD
Value = Y + 64
GoSub WriteToLCD
Return
Invert:
Command = 1
Value = 13
GoSub WriteToLCD
Return
Black:
Command = 1
Value = 9
GoSub WriteToLCD
Return
White:
Command = 1
Value = 8
GoSub WriteToLCD
Return
Normal:
Command = 1
Value = 12
GoSub WriteToLCD
Return
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.