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: LC-Display löschen Kategorie: Programmierung Basic (von Rene - 9.04.2004 13:57)
 Als Antwort auf LC-Display löschen von Simon - 9.04.2004 13:00
> Hallo!
> Mit den folgenden Zeilen kann man ein LC-Display ansteuern:
> #LCD_INIT
>
> ' alle ports 0
>   lcd_port = OFF
>
> ' 8-Bit-Modus aktivieren
>   lcd_param=&H38 : gosub LCD_WRITECMD
>
> ' mit 8-Bit-Command in 4-Bit-Modus umschalten
>   lcd_port=&B00000010
>   tog lcd_e
>   tog lcd_e
>
> ' ab jetzt 4-Bit-Modus
>   lcd_param = &H28 : gosub LCD_WRITECMD
>   lcd_param = &H0C : gosub LCD_WRITECMD
>
> ' Display loeschen
> #LCD_CLS
>   lcd_param = &H02 : gosub LCD_WRITECMD
>   lcd_param = &H01 : gosub LCD_WRITECMD
> return
>
> ' Zeilenwechsel
> #LCD_GOTOLINE
>   if lcd_param = 1 then lcd_param = &H80
>   if lcd_param = 2 then lcd_param = &HC0
>   goto LCD_WRITECMD
>
> ' LCD-Kommando
> #LCD_WRITECMD
>   lcd_buf = OFF
>   goto LCD_WRITE
>
> ' Zeichenausgabe
> #LCD_WRITECHAR
>   lcd_buf = &B00100000
>
> ' Kommando oder Zeichen an Display senden
> #LCD_WRITE
>   lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble
>   tog lcd_e
>   tog lcd_e
>   lcd_port = lcd_buf or (lcd_param and &H0F)  ' Lo-Nibble
>   tog lcd_e
>   tog lcd_e
> return
>
> Jetzt wollte ich wissen, ob man auch nur eine Zeile löschen kann. Also entweder die obere oder die
> untere. Mit gosub LCD_CLS wird das komplette Display gelöscht. Ich möchte nur eine Zeile löschen.
> Wie kann man das am besten Realisieren?
>
> mfg Simon

Hallo Simon

Ein einzelnes Zeichen oder gar eine Zeile läßt sich  auf Grundlage der
 jeweiligen Adressen des Display löschen.

Zum Beispiel :

lcd_param = &Hcd    :gosub LCD_GOTOLINE
lcd_param = leerz : gosub LCD_WRITECHAR

löscht in der  2ten Zeile die 11 stelle

Willst Du eine komplette Zeile löschen , verwende  die Anfangsadresse und die
Endadresse der entsprechenden Zeile innerhalb einer Schleife.
Das Beschreiben einzelner Positionen Im Display funktioniert ebenso  .

MfG

Rene

 Antwort schreiben

Bisherige Antworten: