Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
eeg-grimm
Anmeldungsdatum: 19.04.2006 Beiträge: 52 Wohnort: Herzogenaurach
|
Verfasst am: 04.01.2009, 09:16 Titel: LCD-Modul vom Typ HD44780 mit dem LPT1 ansteuern |
|
|
Hallo Jungs,
habe da eine Idee, möchte eine LCD-Modul vom Typ HD44780 (2 X 16 Zeichen) mit dem LPT1 Ausgang ansteuern (z.B. D0 bis D.
Dachte so an eine Eingabe von 2 X 16 Zeichen (Variablen A1 bis A16 und B1 bis B16).
Die Eingaben A werden in der oberen Zeile angezeigt und B in der Unteren.
Die Belegung des LCD-Moduls ist.
Pin # Bezeichnung# Funktion
1# Vss# GND
2# Vcc# 5V
3# Vee# Kontrastspannung (0V bis 5V)
4# RS# Register Select (Befehle/Daten)
5# RW# Read/Write
6# E# Enable
7# DB0# Datenbit 0
8# DB1# Datenbit 1
9# DB2# Datenbit 2
10# DB3# Datenbit 3
11# DB4# Datenbit 4
12# DB5# Datenbit 5
13# DB6# Datenbit 6
14# DB7# Datenbit 7
15# A# LED-Beleuchtung, Anode
16# K# LED-Beleuchtung, Kathode
Ich möchte den 4-Bit-Modus verwenden!!!!!!
Der 4-Bit-Modus hat den Vorteil, dass man 4 IO-Pins weniger benötigt als beim 8-Bit-Modus.
Neben den vier Datenleitungen (DB4, DB5, DB6 und DB7) werden noch die Anschlüsse RS, RW und E benötigt.
•Der 4-Bit-Modus verwendet nur die oberen vier Datenleitungen (DB4-DB7). Um ein Byte zu übertragen braucht man somit zwei Zugriffe, wobei zuerst das höherwertige "Nibble" (= 4 Bits), also Bit 4 bis Bit 7 übertragen wird und dann das niederwertige, also Bit 0 bis Bit 3. Die unteren Datenleitungen des LCDs, die beim Lesezyklus Ausgänge sind, lässt man offen (siehe Datasheets, z.B. vom KS0070).
Hat von euch einer so was bereits gemacht oder hat jemand einen Programmvorschlag.
Gruß aus Erlangen |
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
|
Nach oben |
|
|
ThePuppetMaster
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
|
Nach oben |
|
|
mad23
Anmeldungsdatum: 03.02.2013 Beiträge: 8
|
Verfasst am: 03.02.2013, 16:21 Titel: |
|
|
... soll win xp sein, ich schaue mir mal die links an |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1236 Wohnort: Ruhrpott
|
Verfasst am: 27.02.2013, 19:28 Titel: Parallelport bei Windows XP |
|
|
Anders als frühere Windowsversionen bis einschließlich ME verhindert XP den Direktzugriff auf den Parallelport. Zur Lösung dieses Problems gibt es einen Freeware-Treiber namens "inpout32.dll".
http://logix4u.net/index.php?option=com_content&task=view&id=16&Itemid=1
http://www.highrez.co.uk/Downloads/InpOut32/default.htm
Die dll wird nach "C:\Windows\System32" kopiert und mit
Code: | 'parallelporttreiber für Windows XP einbinden
'[Data Port] Addres: 0x378H
'[Status Port] Addres: 0x379H
'[Control Port] Addres: 0x37AH
'
' *note these port address are in HEX
'Data Pins Status Pins Control Pins
'Pin 9: D7 Pin 10: S6 Pin 1 : C0
'Pin 8: D6 Pin 11: S7 Pin 14: C1
'Pin 7: D5 Pin 12: S5 Pin 16: C2
'Pin 6: D4 Pin 13: S4 Pin 17: C3
'Pin 5: D3 Pin 15: S3
'Pin 4: D2
'Pin 3: D1
'Pin 2: D0
Dim parallelport As Any Ptr
Dim Shared OUT32 As Sub (Adresse As integer, Wert As Integer)
Dim Shared INP32 As Function (Adresse As Integer ) As Integer
parallelport = DylibLoad("inpout32.dll") 'treiber laden
If parallelport Then 'neue befehle deklarieren
Out32 = DylibSymbol(parallelport, "Out32") 'byte ausgeben
Inp32 = DylibSymbol(parallelport, "Inp32") 'byte einlesen
Else 'fehler
Print "INPOUT32.dll nicht gefunden."
Sleep
'End
EndIf
|
in das freeBasic-Programm eingebunden. Die Originalbefehle "Inp" und "Out" werden dann jeweils durch "INP32" bzw. "OUT32" ersetzt.
MfG
grindstone |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1236 Wohnort: Ruhrpott
|
Verfasst am: 02.03.2013, 18:53 Titel: |
|
|
Vielen Dank für die nette Begrüßung!
Für den Link hatte ich nur einmal kurz gegoogelt und die erste Adresse genommen, die nach einem seriösen Download aussah. Meine eigene inpout32.dll fährt schon seit eingen Jahren auf meiner Festplatte Karussell, und ich weiß beim besten Willen nicht mehr, von wo ich sie heruntergeladen habe. Sie ist wahrscheinlich inzwischen total veraltet, aber sie funktioniert.
Falls es jemanden interessiert: Ich steuere über die Parallelschnittstelle einen Plotter an, den ich mir Mitte der 80er gebaut und seitdem ca. 30- bis 40mal umgebaut habe, heute bohre ich damit Platinen und schneide mit einem heißen Lötkolben als "Zeichenstift" (Lackier-) Schablonen aus Klebefolie aus.
Außerdem programmiere ich über die Parallelschnittstelle gelegentlich einen AVR-Controller, dazu braucht man kein teures Programmiergerät.
Die Treiberprogramme dafür habe ich -Ehrensache- selbst geschrieben, früher in QBasic, heute in freeBasic.
Einen HD44780 habe ich allerdings noch nicht angesteuert, obwohl ich 3 Stück davon hier liegen habe (irgendwann mal von der Hobbytronic mitgebracht), aber allzu schwer dürfte es nicht sein. Der Rechner macht schließlich nichts anderes, als en paar Bytes in der richtigen Reihenfolge über das Kabel zu schicken
Welche Bytes in welcher Reihenfolge das sein müssen, steht im Datenblatt...
Gruß
grindstone |
|
Nach oben |
|
|
ThePuppetMaster
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
Verfasst am: 03.03.2013, 00:21 Titel: |
|
|
@grindstone ... ganz wichtig ist allerdings die einhaltung der timings beim init. Leider findet sich allerdings in kaum einem datenblatt etwas zum CGRAM und dessen Ansteuerung. nur auf einigen wenigen seiten im inet findet man was dazu.
diesbezüglich gibts allerdings hier, ganz unten, hilfe: http://mln.ath.cx/user/thepuppetmaster/hard/lcd_xyy/
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
|
|