CONFIG LCDPIN/de

Aus MCS Wiki AVR
< CONFIG LCDPIN(Weitergeleitet von CONFIG LCDPIN)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Funktion

Überschreibt die PCD-Pin Zuordnung.

 

 

Syntax

CONFIG LCDPIN = PIN , DB4= PN,DB5=PN, DB6=PN, DB7=PN, E=PN, RS=PN  [WR=PIN] [BUSY=PIN] [MODE=mode]

CONFIG LCDPIN = PIN , PORT=PORTx, E=PN, RS=PN

 

 

Anmerkungen

PN

Der Name des Portpins wie zum Beispiel PORTB.2

PORTX

Wenn Sie das LC-Display im 8-Bit-Modus benutzen wollen dann müssen Sie PORT benutzen.

PIN

Portpin der mit dem Busy-Pin verbunden ist. Der Busy-Pin wird nur vom 20x4VFD Display unterstützt.

MODE

Modus für das 20x4VFD Display. Möglich :

0 : 4 bit parallel upper nibble first

1 : 4 bit parallel lower nibble first

 

Mit diesem Befehl können Sie die PIN-Standardwerte überschreiben so dass eine zweite Konfiguration weitere Pins für ein zweites LC-Display ermöglicht.

 

Der CONFIG Befehl sollte bevorzugt werden gegenüber der Nutzung der Standardwerte von BASCOM weil es im Programmcode klarer darstellt welche Pins benutzt werden. Mit dem CONFIG Befehl werden die Standardwerte überschrieben.

 

PIN und MODE gibt es nur für das 20x4VFD display. Siehe auch LCDAUTODIM

 

Der WR Pin ist optional. Wenn Sie den WR Pin selektieren dann wird eine andere Library benutzt. Diese Library nutzt den WR-Pin und liest das Busy-Signal vom LC-Display.

Die Library lcd4busy_anypin wird benutzt welche auf Lucianos LUC_lcd4busy Library basiert.

Seit der Version 2040 generiert der Compiler LCD Portpin-Infos die Sie für Ihre eigenen Libraries nutzen können.

 

Standardmäßig ist der WR-Pin optional und das WR-Signal des LC-Displays sollte mit Gnd verbunden werden. Dadurch bleibt ein Pin für andere Zwecke frei. Wenn Sie genügend Pins frei haben dann ist es besser, den WR-Pin zu benutzen.

Wenn Sie den WR-Pin nicht mit Gnd verbinden sondern mit einem Pin und Sie den WR-Pin nicht spezifizieren aber Sie einen Logic-Level 0 per Programm setzen dann müssen Sie INITLCD benutzen nachdem Sie den WR-Pin auf 0 gesetzt haben.

 

 

Siehe auch

CONFIG LCD , CONFIG LCDMODE , CONFIG LCDBUS

 

 

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  
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
In anderen Sprachen
Sprache