Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: LCD Cursor nach rechts schieben Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Jürgen - 14.04.2008 20:25)
 Als Antwort auf LCD Cursor nach rechts schieben von Andreas Kröß - 2.04.2008 14:37
> Hallo zusammen
> Ich arbeite mich gerade in die LCD Ansteuerung bei der Open Mini ein.
> Dazu meine für Euch sicherlich banale Frage:
> Wie kann man bei dieser Art der Ansteuerung den Cursor dazu veranlassen 1,2,3,4,5 Zeichen weiter
> nach rechts zu springen sodas ich ein Wort auch zentriet schreiben kann ohne viel Leerzeichen
> zu schreiben
>
> ...........Define Line1 &H80 : Define Line2 &HC0 : Define Line3 &H94 : Define Line4 &HD4 'Für 4x20 LCD
> 'Define Line1 &H80 : Define Line2 &HC0 : Define Line3 &H90 : Define Line4 &HD0 'Für 4x16 LCD

Mit diesen Hexwerten gibst Du ja schon die Cusor Positionen vor, jeweils für das erste Zeichen jeder Zeile
Wenn Du z.B.erst LCD_CMD &H83 schreiben würdest und dann einen Text ausgibst, dann Startet der Text
auf dem 4.Zeichen der 1.Zeile des LCD Displays.
Die entsprechenden Änderungen in Deinem Programm mach Bitte selber
Gruß Jürgen

>
> gosub LCD_init
> #start
> LCD_CMD Line1
> LCD_put nk
> LCD_put ek
> LCD_put xk
> LCD_put tk
> LCD_put space
> LCD_put A_
>
> LCD_CMD Line2
> LCD_put S_
> LCD_put ek
> LCD_put kk
> LCD_put uk
> LCD_put nk
> LCD_put dk
> LCD_put ek
> LCD_put nk
> :LCD_put dpp
> LCD_put Space
> LCD_Zahl second
>
> goto start
>
>
>
> '---LCD-Routinen----------
> #LCD_init
>  LCD_Port = &h38
>
>  'Function Set 8 Bit
>  LCD_PORT = &B10000011
>  Pulse LCD_e
>  pause 5
>  LCD_PORT = &B10000011
>  Pulse LCD_e
>
>  LCD_PORT = &B10000011
>  Pulse LCD_e
>
>  ' Function Set 4 Bit
>  LCD_PORT = &B10000010
>  Pulse LCD_e
>
>  LCD_CMD &h28
>  LCD_CMD &h0C
>  LCD_CMD &h06
> #LCD_CLS
>  LCD_CMD &h01
>  pause 5
>  return
>
> #LCD_CMD
>  pop LCD_Param
>  LCD_RS=0
> goto LCD_Write
>
> #LCD_put
>  pop LCD_Param
>  LCD_RS=1
> #LCD_Write
>  LCD_Port = (LCD_Port and &hF0) or (LCD_Param SHR 4)
>  Pulse LCD_e
>  LCD_Port = (LCD_Port and &hF0) or (LCD_Param AND &H0F)
>  Pulse LCD_e
> return
>
> '#LCD_Print ' Zeichenfolge ausgeben.
>  'pop x
>  'looktab LCDtext,x,LCD_Param
>  'while LCD_Param
>  ' LCD_Put LCD_Param
>  ' x=x+1
>  ' looktab LCDtext,x,LCD_Param
>  'wend
> 'return
>
> #LCD_Zahl
>  pop y
>  if y > 99 then LCD_Put ( (y / 100) + &H30)         else LCD_Put Space
>  if y >  9 then LCD_Put (((y mod 100) / 10) + &H30) else LCD_Put Space
>  LCD_Put ((y mod 10) + &H30)
> return

 Antwort schreiben

Bisherige Antworten: