CONFIG LCD/de
(→Remarks) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | = | + | = <span class="f_Header">Funktion</span> = |
− | + | Konfiguration des LC-Displays und Überschreiben der Standardwerte | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 15: | Line 15: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Anmerkungen</span> = |
<div style="padding: 0px; margin: 0px 0px 0px 4px;"> | <div style="padding: 0px; margin: 0px 0px 0px 4px;"> | ||
{| width="604" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | {| width="604" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | ||
Line 23: | Line 23: | ||
| valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Type des LC-Displays. Dieses kann sein : | |
− | + | ||
− | + | ||
+ | <span style="font-family: Arial;"></span> | ||
40x4,16x1, 16x2, 16x4, 16x4, 20x2, 20x4, 16x1a or 20x4A. | 40x4,16x1, 16x2, 16x4, 16x4, 20x2, 20x4, 16x1a or 20x4A. | ||
− | + | 16x2 ist der Standardwert. | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Line 38: | Line 37: | ||
| valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Die meisten textbasierten LC-Displays benutzen den Standard-Chip von Hitachi. Manche Displays benutzen allerdings einen KS077 Controller welcher eine sehr hohe Kompatibilität hat aber eine zusätzliche Registerkonfiguration erfordert. Dieser Parameter bewirkt, dass die richtige Registerkonfiguration erfolgt wenn das Display initialisiert wird. | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Line 47: | Line 46: | ||
| valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Der DOGM Chip benötigt eine spezielle Registerkonfiguration. | |
− | + | Die 16 x 2 LC-Displays erfordern DOG162V3 für 3V.Betrieb bzw. DOG162V5 für 5V-Betrieb. | |
− | + | Die 16 x 3 LC-Displays erfordern DOG163V3 für 3V-Betrieb bzw. Dogm163v5 für 5V-Betrieb. | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Line 58: | Line 57: | ||
| valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 502px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Der optionale Kontrast-Parameter wird nur von EADOG Displays unterstützt. Standardmäßig wird ein Werks-Wert des Herstellers benutzt. Mit diesem Parameter kann der Herstellerwert überschrieben werden. | |
− | + | Standardwerte sind : | |
- DOGM162V5 : &H74 | - DOGM162V5 : &H74 | ||
Line 74: | Line 73: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Wenn ein 16x2 Display benutzt wird dann muss dieser Befehl nicht benutzt werden. | |
− | + | Eine Besonderheit ist 16x1a. Das wird für 2x8 Displays benutzt die die Adresse von Zeile 2 haben, beginnend an &H8. | |
− | + | ||
− | + | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | CONFIG LCD kann nur einmal benutzt werden. Man kann nicht dynamisch (zur Laufzeit) die Pins ändern. | |
− | + | Wenn das LC-Display zur Laufzeit (neu) initialisiert werden soll dann kann [[INITLCD]] benutzt werden. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Line 90: | Line 87: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Siehe auch</span> = |
[[CONFIG LCDPIN|CONFIG LCDPIN]] , [[CONFIG LCDBUS|CONFIG LCDBUS]] , [[INITLCD]] | [[CONFIG LCDPIN|CONFIG LCDPIN]] , [[CONFIG LCDBUS|CONFIG LCDBUS]] , [[INITLCD]] | ||
Line 98: | Line 95: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Beispiel</span> = |
<br/><source lang="bascomavr"> | <br/><source lang="bascomavr"> | ||
Line 111: | Line 108: | ||
'----------------------------------------------------------------------------------------- | '----------------------------------------------------------------------------------------- | ||
− | $regfile = "m8515.dat" ' | + | $regfile = "m8515.dat" ' Benutzter Mikrocontroller |
− | $crystal = 4000000 ' | + | $crystal = 4000000 ' Taktfrequenz |
− | $baud = 19200 ' | + | $baud = 19200 ' Baudrate |
$hwstack = 32 ' default use 32 for the hardware stack | $hwstack = 32 ' default use 32 for the hardware stack | ||
$swstack = 10 ' default use 10 for the SW stack | $swstack = 10 ' default use 10 for the SW stack | ||
Line 120: | Line 117: | ||
$sim | $sim | ||
− | ' | + | 'Entfernen Sie &&SIM wenn das Programm gebrannt werden soll !! |
− | '$sim | + | '$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 = 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 | 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 | + | Rem Mit dem config lcdpin Befehl kann man die Stanfardwerte überschreiben |
Dim A As Byte | Dim A As Byte | ||
− | Config Lcd = | + | 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 | + | '16 * 1a wird benutzt für 16-Zeichen Displays mit über 2 Zeilen verteilten Adressen |
− | '$LCD = address | + | '$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 ' | + | Cls 'Löschen des LCD Displays |
− | Lcd "Hello world." ' | + | Lcd "Hello world." 'Anzeigen des Textes in der ersten Zeile |
Wait 1 | Wait 1 | ||
− | Lowerline ' | + | Lowerline 'Positionieren auf die unterste Zeile |
Wait 1 | Wait 1 | ||
− | Lcd "Shift this." ' | + | Lcd "Shift this." 'Anzeigen in unterster Zeile |
Wait 1 | Wait 1 | ||
For A = 1 To 10 | For A = 1 To 10 | ||
− | Shiftlcd Right ' | + | Shiftlcd Right 'Text nach rechts verschieben |
− | Wait 1 ' | + | Wait 1 'Etwas warten |
Next | Next | ||
For A = 1 To 10 | For A = 1 To 10 | ||
− | Shiftlcd Left ' | + | Shiftlcd Left 'Text nach links verschieben |
− | Wait 1 ' | + | Wait 1 'Einen Moment warten |
Next | Next | ||
− | Locate 2 , 1 ' | + | Locate 2 , 1 'Schreibmarke setzen |
− | Lcd "*" ' | + | Lcd "*" 'Zeichen anzeigen |
− | Wait 1 ' | + | Wait 1 'warten |
− | Shiftcursor Right ' | + | Shiftcursor Right 'Schreibmnarke verschieben |
− | Lcd "@" ' | + | Lcd "@" 'Anzeigen |
− | Wait 1 ' | + | Wait 1 'warten |
− | Home Upper ' | + | Home Upper 'Obere Zeile Position 1 |
− | Lcd "Replaced." ' | + | Lcd "Replaced." 'Test anzeigen (alten überschreiben) |
Wait 1 'wait a moment | Wait 1 'wait a moment | ||
− | Cursor Off Noblink ' | + | Cursor Off Noblink 'Schreibmarke nicht anzeigen |
− | Wait 1 ' | + | Wait 1 'warten |
− | Cursor On Blink ' | + | Cursor On Blink 'Schreibmarke wieder anzeigen |
− | Wait 1 ' | + | Wait 1 'warten |
− | Display Off ' | + | Display Off 'Display ausschalten |
− | Wait 1 ' | + | Wait 1 'warten |
− | Display On ' | + | Display On 'Display einschalten |
− | '----------------- | + | '-----------------Neue Unterstützung von 4-Zeilen LC-Displays------ |
Thirdline | Thirdline | ||
Lcd "Line 3" | Lcd "Line 3" | ||
Fourthline | Fourthline | ||
Lcd "Line 4" | Lcd "Line 4" | ||
− | Home Third ' | + | Home Third 'Gehe zu Home der dritten Zeile |
Home Fourth | Home Fourth | ||
− | Home F ' | + | Home F 'Es reicht auch der erste Buchstabe |
Locate 4 , 1 : Lcd "Line 4" | Locate 4 , 1 : Lcd "Line 4" | ||
Wait 1 | 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 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) | Deflcdchar 0 , 240 , 224 , 224 , 255 , 254 , 252 , 248 , 240 ' replace ? with number (0-7) | ||
− | Cls ' | + | Cls 'Selektiere Daten RAM |
− | Rem | + | 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) ' | + | Lcd Chr(0) ; Chr(1) 'Ausgabe von benutzterdefinierten Zeichen |
− | '----------------- | + | '----------------- Benutzung einer internen Routine ------------ |
− | _temp1 = 1 ' | + | _temp1 = 1 'Wert in ACC |
− | !rCall _write_lcd ' | + | !rCall _write_lcd 'auf LCD schreiben |
End | End | ||
− | </source> | + | </source><br/>{{Languages}} |
+ | |||
+ | [[Category:BASCOM Language Reference/de]] | ||
= <span style="font-size: 19px; font-weight: bold;">Example2</span> = | = <span style="font-size: 19px; font-weight: bold;">Example2</span> = |
Latest revision as of 23:25, 24 February 2013
Contents |
Funktion
Konfiguration des LC-Displays und Überschreiben der Standardwerte
Syntax
CONFIG LCD = LCDtype , CHIPSET=KS077 | Dogm163v5 | DOG163V3 | DOG162V5 | DOG162V3 [,CONTRAST=value]
Anmerkungen
LCDtype |
Type des LC-Displays. Dieses kann sein : 40x4,16x1, 16x2, 16x4, 16x4, 20x2, 20x4, 16x1a or 20x4A. 16x2 ist der Standardwert. |
Chipset KS077 |
Die meisten textbasierten LC-Displays benutzen den Standard-Chip von Hitachi. Manche Displays benutzen allerdings einen KS077 Controller welcher eine sehr hohe Kompatibilität hat aber eine zusätzliche Registerkonfiguration erfordert. Dieser Parameter bewirkt, dass die richtige Registerkonfiguration erfolgt wenn das Display initialisiert wird. |
CHIPSET DOGM |
Der DOGM Chip benötigt eine spezielle Registerkonfiguration. Die 16 x 2 LC-Displays erfordern DOG162V3 für 3V.Betrieb bzw. DOG162V5 für 5V-Betrieb. Die 16 x 3 LC-Displays erfordern DOG163V3 für 3V-Betrieb bzw. Dogm163v5 für 5V-Betrieb. |
CONTRAST |
Der optionale Kontrast-Parameter wird nur von EADOG Displays unterstützt. Standardmäßig wird ein Werks-Wert des Herstellers benutzt. Mit diesem Parameter kann der Herstellerwert überschrieben werden. Standardwerte sind : - DOGM162V5 : &H74 - DOGM162V3 : &H78 - DOGM163V5 : &H7C - DOGM163V3 : &H70 |
Wenn ein 16x2 Display benutzt wird dann muss dieser Befehl nicht benutzt werden.
Eine Besonderheit ist 16x1a. Das wird für 2x8 Displays benutzt die die Adresse von Zeile 2 haben, beginnend an &H8.
CONFIG LCD kann nur einmal benutzt werden. Man kann nicht dynamisch (zur Laufzeit) die Pins ändern.
Wenn das LC-Display zur Laufzeit (neu) initialisiert werden soll dann kann INITLCD benutzt werden.
Siehe auch
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 |
---|