CONFIG LCD/de

From MCS Wiki AVR
< CONFIG LCD
Revision as of 22:59, 24 February 2013 by Stefanhamburg (Talk | contribs)
Jump to: navigation, search

Contents

= (**COPIED FROM ENGLISH PAGE**) === Action

Configure the LCD display and override the compiler setting.

 

 

Syntax

CONFIG LCD = LCDtype , CHIPSET=KS077 | Dogm163v5 | DOG163V3 | DOG162V5 | DOG162V3 [,CONTRAST=value]

 

 

Remarks

LCDtype

The type of LCD display used. This can be :

 

40x4,16x1, 16x2, 16x4, 16x4, 20x2, 20x4, 16x1a or 20x4A.

Default 16x2 is assumed.

Chipset

KS077

Most text based LCD displays use the same chip from Hitachi. But some use the KS077 which is highly compatible but needs an additional function register to be set. This parameter will cause that this register is set when you initialize the display.

CHIPSET

DOGM

The DOGM chip set uses a special function register that need to be set.

The 16 x 2 LCD displays need DOG162V3 for 3V operation or DOG162V5 for 5V operation.

The 16 x 3 LCD displays need DOG163V3 for 3V operation or Dogm163v5 for 5V operation

CONTRAST

The optional contrast parameter is only supported by the EADOG displays. By default a value from the manufacture is used. But you might want to override this value with a custom setting.

The default values are :

- DOGM162V5 : &H74

- DOGM162V3 : &H78

- DOGM163V5 : &H7C

- DOGM163V3 : &H70

 

When you have a 16x2 display, you don't have to use this statement.

The 16x1a is special. It is used for 2x8 displays that have the address of line 2, starting at location &H8.

The 20xA is also special. It uses the addresses &H00, &H20, &H40 and &H60 for the 4 lines. It will also set a special function register.

 

The CONFIG LCD can only be used once. You can not dynamic(at run time) change the pins.

When you want to initialize the LCD during run time, you can use the INITLCD statement.

 

 

See Also

CONFIG LCDPIN , CONFIG LCDBUS , INITLCD

 

 

Beispiel


'-----------------------------------------------------------------------------------------
'name : lcd.bas
'copyright : (c) 1995-2005, MCS Electronics
'purpose : demo: LCD, CLS, LOWERLINE, SHIFTLCD, SHIFTCURSOR, HOME
' CURSOR, DISPLAY
'micro : Mega8515
'suited for demo : yes
'commercial addon needed : no
'-----------------------------------------------------------------------------------------
 
$regfile = "m8515.dat" ' Benutzter Mikrocontroller
$crystal = 4000000 ' Taktfrequenz
$baud = 19200 ' Baudrate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
 
 
$sim
'Entfernen Sie &&SIM wenn das Programm gebrannt werden soll !!
'$sim wird für eine schnellere Simulation verwendet.
 
 
'Anmerkung: Getestet mit PIN Mode mit 4-bit
 
'Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6
'Settings für ein STK200 in PIN Mode
'Verbinden Sie DB4 bis DB7 des LCD mit dem LCD Anschluss des STK D4-D7
'Verbinden Sie E des LCD mit A15 (PORTC.7) und NICHT mit E des LCD Anschlusses
'Vervinden Sie RS, V0, GND und =5V des LCD mit dem STK LCD Anschluss
 
Rem Mit dem config lcdpin Befehl kann man die Stanfardwerte überschreiben
 
 
Dim A As Byte
Config Lcd = 16 * 2 'Konfigurieren des LC Displays.
 
 
'Andere Optionen sind 16 * 4 and 20 * 4, 20 * 2 , 16 * 1a
'Wenn nichts angegeben wird dann wird 16 * 2 angenommen
'16 * 1a wird benutzt für 16-Zeichen Displays mit über 2 Zeilen verteilten Adressen
 
'$LCD = address    Setzt das LC-Display in 8-Bit Mode
' Benutzen Sie das für uP mit externem RAM und/oder ROM
' weil die nicht die Portpins benutzen
 
Cls 'Löschen des LCD Displays
Lcd "Hello world." 'Anzeigen des Textes in der ersten Zeile
Wait 1
Lowerline 'Positionieren auf die unterste Zeile
Wait 1
Lcd "Shift this." 'Anzeigen in unterster Zeile
Wait 1
For A = 1 To 10
Shiftlcd Right 'Text nach rechts verschieben
Wait 1 'Etwas warten
Next
 
For A = 1 To 10
Shiftlcd Left 'Text nach links verschieben
Wait 1 'Einen Moment warten
Next
 
Locate 2 , 1 'Schreibmarke setzen
Lcd "*" 'Zeichen anzeigen
Wait 1 'warten
 
Shiftcursor Right 'Schreibmnarke verschieben
Lcd "@" 'Anzeigen
Wait 1 'warten
 
Home Upper 'Obere Zeile Position 1
Lcd "Replaced." 'Test anzeigen (alten überschreiben)
Wait 1 'wait a moment
 
Cursor Off Noblink 'Schreibmarke nicht anzeigen
Wait 1 'warten
Cursor On Blink 'Schreibmarke wieder anzeigen
Wait 1 'warten
Display Off 'Display ausschalten
Wait 1 'warten
Display On 'Display einschalten
'-----------------Neue Unterstützung von 4-Zeilen LC-Displays------
Thirdline
Lcd "Line 3"
Fourthline
Lcd "Line 4"
Home Third 'Gehe zu Home der dritten Zeile
Home Fourth
Home F 'Es reicht auch der erste Buchstabe
Locate 4 , 1 : Lcd "Line 4"
Wait 1
 
'Definition benutzerdefinierter Zeichen
'Die erste Ziffer ist die Zeichennummer (0-7)
'Die anderen Zahlen sind die Zeilenwerte
'Benutzen Sie das LCD Tool und Zeichen zu erstellen und diese Zahlen einzustellen
 
Deflcdchar 1 , 225 , 227 , 226 , 226 , 226 , 242 , 234 , 228 ' replace ? with number (0-7)
Deflcdchar 0 , 240 , 224 , 224 , 255 , 254 , 252 , 248 , 240 ' replace ? with number (0-7)
Cls 'Selektiere Daten RAM
Rem Es ist wichtig, dass ein CLS nach den DEFLCDCHAR Befehlen kommt weil das den LCD-Controller wieder in den Datenmode zurücksetzt.
Lcd Chr(0) ; Chr(1) 'Ausgabe von benutzterdefinierten Zeichen
 
'----------------- Benutzung einer internen Routine ------------
_temp1 = 1 'Wert in ACC
!rCall _write_lcd 'auf LCD schreiben
End

Languages   English Deutsch  

Example2


'--------------------------------------------------------------
' EADOG-M163.bas
' Demonstration for EADOG 163 display
' (c) 1995-2006, MCS Electronics
'--------------------------------------------------------------
'
 
$regfile = "M8515.dat"
$crystal = 4000000
'I used the following settings
'Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
 
'CONNECT vin TO 5 VOLT
Config Lcd = 16x3 , Chipset = Dogm163v5 '16*3 type LCD display
'other options for chipset are DOG163V3 for 3Volt operation
 
 
'Config Lcd = 16 * 3 , Chipset = Dogm163v3 , Contrast = &H72 '16*3 type LCD display
'The CONTRAST can be specified when the default value is not what you need
 
 
'The EADOG-M162 is also supported :
'Chipset params for the DOGM162 : DOG162V5, DOG162V3
 
Cls 'Dit maakt het scherm leeg
Locate 1 , 1 : Lcd "Hello World"
Locate 2 , 1 : Lcd "line 2"
Locate 3 , 1 : Lcd "line 3"
End

Languages   English Deutsch  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language