home *** CD-ROM | disk | FTP | other *** search
- '**************************************
- '
- ' C-Control/BASIC LCDANZ.BAS
- '
- ' Aufgabe:
- '
- ' - Ansteuern einer LCD-Anzeige
- ' - 2 Zeilen, Display-Daten ⁿber RS232
- '
- '**************************************
- ' --- Definitionen --------------------
-
- define Datenbus byteport[1]
- define RS port[9]
- define RW port[10]
- define E port[11]
- define Zeile bit[1] ' Zeile (0 oder 1)
- define Daten byte ' Pufferbyte
- define Position byte ' Ausgabeposition (0...19)
-
- define Maxpos 7 ' maximal 20 Zeichen pro Zeile
-
- ' --- Programmoperationen -------------
-
- #Start
- gosub Init
- Zeile = 0
- #Loop
- get Daten
- put Daten
- if Daten = 13 then gosub CR
- if Daten = 13 then goto Loop
- if Daten = 10 then goto Loop
- gosub Zeichen
- if Position > Maxpos then gosub LF
- goto Loop
-
- #Init
- E=0
- Daten = &H38 'Initialisierung
- gosub Kommando
- Daten = &H0E 'Display einschalten
- gosub Kommando
- Daten = &H01
- gosub Kommando
- Position = 0
- return
-
- #LF 'Zeilenwechsel
- Zeile = NOT Zeile
- Position = 0
- If Zeile then Daten = 64 else Daten = 0
- gosub Cursor
- return
-
- #CR 'Zeilenwechsel
- Zeile = NOT Zeile
- Position = 0
- If Zeile then Daten = 64 else Daten = 0
- gosub Cursor
- Daten = 13
- return
-
- #cls ' Display loeschen
- Daten = &H02
- gosub Kommando
- Position = 0
- return
-
- #Kommando
- RW = 0
- RS = 0
- Datenbus = Daten
- pulse E
- return
-
- #Zeichen
- RW = 0
- RS = 1
- Datenbus = Daten
- pulse E
- Position = Position + 1
- return
-
- #Cursor
- RW = 0
- RS = 0
- Datenbus = Daten + &H80
- pulse E
- return
-
- end
-