$LCDRS/de
From MCS Wiki AVR
< $LCDRS(Difference between revisions)
m (1 revision) |
(→Remarks) |
||
(3 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | + | = <span class="f_Header">Funktion</span> = | |
− | + | Weist den Compiler an, Code für 8-Bit LC-Displays zu generieren, die am Datenbus angeschlossen sind. | |
<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: 514px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 514px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Address an die geschrieben werden soll um das LC-Display zu enablen. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | db0-db7 des LCD müssen mit den D0-D7 Datenverbindungen verbunden werden. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Bei Systems mit externam RAM ist es sinnvoller das LCD in Busmode anzuschließen. Mit einem Addressen Decoder können Sie das LCD selektieren. | |
|} | |} | ||
Line 37: | Line 37: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Der Compiler generiert eine Konstante namens ___LCDRS_ADR die Sie in eigenen Libraries benutzen können. | |
| | ||
Line 43: | Line 43: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Siehe auch</span> = |
[[$LCD]] , [[CONFIG LCDBUS|CONFIG LCDBUS]] | [[$LCD]] , [[CONFIG LCDBUS|CONFIG LCDBUS]] | ||
Line 51: | Line 51: | ||
<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"> | ||
− | '--------------------------- | + | '----------------------------------------------------------------------------------------- |
− | + | 'name : lcd.bas | |
− | + | 'copyright : (c) 1995-2005, MCS Electronics | |
− | ' | + | 'purpose : demo: LCD, CLS, LOWERLINE, SHIFTLCD, SHIFTCURSOR, HOME |
− | ' demo: LCD, CLS, LOWERLINE, SHIFTLCD, SHIFTCURSOR, HOME | + | |
' CURSOR, DISPLAY | ' 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 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6 | ||
− | Rem | + | 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 | Dim A As Byte | ||
− | Config Lcd = 16 * 2 ' | + | Config Lcd = 16 * 2 'Konfigurieren des LC Displays. |
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | Cls ' | + | 'Andere Optionen sind 16 * 4 and 20 * 4, 20 * 2 , 16 * 1a |
− | Lcd "Hello world." ' | + | '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 | 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><br/>{{Languages}} | </source><br/>{{Languages}} | ||
− | [[Category: | + | [[Category:BASCOM Language Reference/de]] |
Latest revision as of 02:27, 25 February 2013
Contents |
Funktion
Weist den Compiler an, Code für 8-Bit LC-Displays zu generieren, die am Datenbus angeschlossen sind.
Syntax
$LCDRS = [&H]address
Anmerkungen
Address |
Address an die geschrieben werden soll um das LC-Display zu enablen.
db0-db7 des LCD müssen mit den D0-D7 Datenverbindungen verbunden werden.
Bei Systems mit externam RAM ist es sinnvoller das LCD in Busmode anzuschließen. Mit einem Addressen Decoder können Sie das LCD selektieren. |
Der Compiler generiert eine Konstante namens ___LCDRS_ADR die Sie in eigenen Libraries benutzen können.
Siehe auch
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 |
---|