Hi.
Einen riesen Dank an dich, sast, ich bin ja so blöd...
Das ist übrigens nicht Bascom sondern CCBasic.
Hier der neue Code:
Code:
define Datenbus byteport[1]
define RS port[9]
define RW port[10]
define E port[11]
define Daten byte ' Pufferbyte
define r1 byte
'---------------------------------------------------------
gosub Init 'Display Initialisieren
Daten = 0 'Den Cursor des Displays...
gosub Cursor '... Auf Position 0 stellen!
'---------------------------------------------------------
#loop
gosub willkommen
goto receive
#receive
GET r1
if r1 = &H31 then goto 2 else goto receive ' &H31 gleich 49 gleich "1"
#2
GET r1
if r1 = &H46 then goto 3 else goto falsch '&H46 gleich 70 gleich "F"
#3
GET r1
if r1 = &H30 then goto 4 else goto falsch 'Admin und 2. Test Karte und 3.
#4
GET r1
if r1 = &H30 then goto 5 else goto falsch 'Admin und 2. Test Karte und 3.
#5
GET r1
if r1 = &H34 then goto 6 else goto falsch 'Admin und 2. Test Karte und 3.
#6
GET r1
if r1 = &H34 then goto 7 else goto falsch 'Admin und 2. Test Karte und 3.
#7
GET r1
if r1 = &H45 then goto 8 'Admin
if r1 = &H43 then goto 8 else goto falsch '2. Test Karte und 3.
#8
GET r1
if r1 = &H38 then goto 9 'Admin
if r1 = &H31 then goto 9 '2. Test Karte
if r1 = &H32 then goto 9 else goto falsch '3. Test Karte
#9
GET r1
if r1 = &H38 then goto 10 'Admin und 3. Karte
if r1 = &H41 then goto 10 else goto falsch '2. Test Karte
#10
GET r1
if r1 = &H32 then goto open 'Admin
if r1 = &H39 then goto open '2. Test Karte
if r1 = &H31 then goto open else goto falsch '3. Test Karte
goto loop
'#receive_one_byte
'GET r1
'if r1 = &H31 then neuer_code = 1
'goto loop
'---------------------------------------------------------------------
' UNTERPROGRAMME:
#falsch
r1 = 0
gosub cls
Daten = &H46 'F
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H48 'H
gosub Zeichen
Daten = &H4C 'L
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H52 'R
gosub Zeichen
Daten = 2 'Auf Zeile 2 Umschalten
gosub LCD_GOTOLINE
Daten = &H54 'T
gosub Zeichen
Daten = &H52 'R
gosub Zeichen
Daten = &H59 'Y
gosub Zeichen
Daten = &H20 '
gosub Zeichen
Daten = &H41 'A
gosub Zeichen
Daten = &H47 'G
gosub Zeichen
Daten = &H41 'A
gosub Zeichen
Daten = &H49 'I
gosub Zeichen
Daten = &H4E 'N
gosub Zeichen
pause 150
goto loop
#open
r1 = 0
gosub cls
Daten = &H4F 'O
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H46 'F
gosub Zeichen
Daten = &H46 'F
gosub Zeichen
Daten = &H4E 'N
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
pause 150
goto loop
#willkommen
gosub cls
Daten = &H53 'S
gosub Zeichen
Daten = &H43 'C
gosub Zeichen
Daten = &H55 'U
gosub Zeichen
Daten = &H42 'B
gosub Zeichen
Daten = &H41 'A
gosub Zeichen
Daten = &H20 '
gosub Zeichen
Daten = &H53 'S
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H43 'C
gosub Zeichen
Daten = &H55 'U
gosub Zeichen
Daten = &H52 'R
gosub Zeichen
Daten = &H49 'I
gosub Zeichen
Daten = &H54 'T
gosub Zeichen
Daten = &H59 'Y
gosub Zeichen
Daten = &H20 '
gosub Zeichen
Daten = &H43 'C
gosub Zeichen
Daten = &H48 'H
gosub Zeichen
Daten = &H45 'E
gosub Zeichen
Daten = &H43 'C
gosub Zeichen
Daten = &H4B 'K
gosub Zeichen
Daten = 2 'Zu Zeile 2 wechseln
gosub LCD_GOTOLINE
Daten = &H56 'V
gosub Zeichen
Daten = &H20 '
gosub Zeichen
Daten = &H31 '1
gosub Zeichen
Daten = &H2E '.
gosub Zeichen
Daten = &H35 '5
gosub Zeichen
return
'###################LCD Routinen##################
#Init
E=0
Daten = &H38 'Initialisierung
gosub Kommando
Daten = &H0E 'Display einschalten
gosub Kommando
Daten = &H01
gosub Kommando
return
#Kommando
RW = 0
RS = 0
Datenbus = Daten
pulse E
return
#Zeichen
RW = 0
RS = 1
Datenbus = Daten
pulse E
return
#Cursor
RW = 0
RS = 0
Datenbus = Daten + &H80
pulse E
return
#cls ' Display loeschen
Daten = &H02
gosub Kommando
Daten = &H01
gosub Kommando
return
#LCD_GOTOLINE
if Daten = 1 then Daten = &H80
if Daten = 2 then Daten = &HC0
goto Kommando
Alles hinter einem ' ist auskommentiert.
Jetzt klappt alles.
Nochmals vielen Dank.
MfG
xythobuz
Lesezeichen