(LCD Ansteuerung Manuell) |
K (kategorie) |
||
| Zeile 1: | Zeile 1: | ||
| − | + | = Einleitung = | |
| − | + | ||
| − | + | ||
| − | + | ||
[[Bild:LCDCCM2.jpg|thumb|24x1,5 Zeichen Display]] | [[Bild:LCDCCM2.jpg|thumb|24x1,5 Zeichen Display]] | ||
LCD ist eine Abkürzung und bedeutet Liquid Crystal Display. Übersetzt bedeutet dies Flüssigkristall-Anzeige. Flüssigkristalle sind organische Verbindungen, die Eigenschaften von Flüssigkeiten und Festkörpern besitzen. Zwischen zwei Glasplatten mit Polarisationsfiltern schwimmen die Flüssigkristalle. Durh Anlegen einer Wechselspannung ändert sich die Polarisationsebene der Flüssigkristalle und damit, ob das einfallende Licht reflektiert oder absorbiert wird. Bei einem LCD-Modul befindet sich neben dem LCD auch ein Controller zur Ansteuerung des LCDs. | LCD ist eine Abkürzung und bedeutet Liquid Crystal Display. Übersetzt bedeutet dies Flüssigkristall-Anzeige. Flüssigkristalle sind organische Verbindungen, die Eigenschaften von Flüssigkeiten und Festkörpern besitzen. Zwischen zwei Glasplatten mit Polarisationsfiltern schwimmen die Flüssigkristalle. Durh Anlegen einer Wechselspannung ändert sich die Polarisationsebene der Flüssigkristalle und damit, ob das einfallende Licht reflektiert oder absorbiert wird. Bei einem LCD-Modul befindet sich neben dem LCD auch ein Controller zur Ansteuerung des LCDs. | ||
| − | + | = Anschlussbelegung für Displays mit HD44780 an der C-Control M2.0 (4-Bit Modus) = | |
{|{{Blauetabelle}} | {|{{Blauetabelle}} | ||
| Zeile 86: | Zeile 83: | ||
|} | |} | ||
| − | + | = LCD Ansteuerung mit LCD.Objekt = | |
Das LCD wir hier vom Betriebssystem im 4-Bit Modus angesteuert (Pinbelegung siehe oben). | Das LCD wir hier vom Betriebssystem im 4-Bit Modus angesteuert (Pinbelegung siehe oben). | ||
| Zeile 113: | Zeile 110: | ||
LOOP | LOOP | ||
| − | + | = LCD Ansteuerung manuell = | |
Dies ist ein Programm um ein LCD manuell anzusteuern. | Dies ist ein Programm um ein LCD manuell anzusteuern. | ||
| Zeile 285: | Zeile 282: | ||
| − | + | = LCD Ansteuerung über I²C = | |
Folgt noch. Aber im Prinzip ähnlich der manuellen Ansteuerung | Folgt noch. Aber im Prinzip ähnlich der manuellen Ansteuerung | ||
| − | + | =Autoren= | |
[[Benutzer:Amiwerewolf|Amiwerewolf]] | [[Benutzer:Amiwerewolf|Amiwerewolf]] | ||
| + | |||
| + | |||
| + | [[Kategorie:Microcontroller]] | ||
Version vom 14. Oktober 2006, 22:38 Uhr
Inhaltsverzeichnis
Einleitung
LCD ist eine Abkürzung und bedeutet Liquid Crystal Display. Übersetzt bedeutet dies Flüssigkristall-Anzeige. Flüssigkristalle sind organische Verbindungen, die Eigenschaften von Flüssigkeiten und Festkörpern besitzen. Zwischen zwei Glasplatten mit Polarisationsfiltern schwimmen die Flüssigkristalle. Durh Anlegen einer Wechselspannung ändert sich die Polarisationsebene der Flüssigkristalle und damit, ob das einfallende Licht reflektiert oder absorbiert wird. Bei einem LCD-Modul befindet sich neben dem LCD auch ein Controller zur Ansteuerung des LCDs.
Anschlussbelegung für Displays mit HD44780 an der C-Control M2.0 (4-Bit Modus)
| Pin LCD | Bezeichnung | Pin CCM2.0 | Beschreibung |
| 1 | GND | GND | Masse |
| 2 | VCC | 5V | Spannungsversorgung +5V |
| 3 | VEE | - | Kontrast Poti 0..0,5V |
| 4 | RS | Port 14 | Register Select, 1=Daten schreiben / 0=Kommando senden. |
| 5 | R/W | Port 13 | 1=Read / 0=Write zum lesen / schreiben in das Display RAM |
| 6 | Enable | Port 15 | Fallende Flanke -> Übertragen des Kommandos oder der Daten, H-Pegel -> Lesen von Daten aus dem Display |
| 7 | DB0 | Not Used | Datenbus Bit0 LSB |
| 8 | DB1 | Not Used | Datenbus Bit1 |
| 9 | DB2 | Not Used | Datenbus Bit2 |
| 10 | DB3 | Not Used | Datenbus Bit3 |
| 11 | DB4 | Port 9 | Datenbus Bit4 |
| 12 | DB5 | Port 10 | Datenbus Bit5 |
| 13 | DB6 | Port 11 | Datenbus Bit6 |
| 14 | DB7 | Port 12 | Datenbus Bit7 MSB |
LCD Ansteuerung mit LCD.Objekt
Das LCD wir hier vom Betriebssystem im 4-Bit Modus angesteuert (Pinbelegung siehe oben). Das Programm ist in Workbench++/Basic++ geschrieben.
'//////////////////////////////////////////////////////////////// '// '// Basic++ '// Destination C-Control I M2.0 '// Beschreibung: LCD an C-Control M-Unit2 betreiben mit Objekt '// Autor: Amiwerewolf 13. Oktober 06 V1.0 '// '//////////////////////////////////////////////////////////////// OPTION CC2.0 'Zielplattform definieren LCD.INIT 'LCD Initialisieren LCD.CLEAR 'LCD Löschen LCD.POS 1,1 'Schreibposition Zeile, Spalte LCD.PRINT "LCD an C-Control M-Unit2 für RN" 'Text LCD.OFF 'LCD Übertragung ausschalten DO 'Endlosschleife LOOP
LCD Ansteuerung manuell
Dies ist ein Programm um ein LCD manuell anzusteuern. Dürfte nicht nur auf der M-Untit 2 funktionieren sondern sondern auch auf allen außer Station 1 und Micro. Geteset wurde es aber auf M-Unit 2. Das Programm hat die Pinbelegung wie oben beschrieben (4 Bit Mode). Das Programm ist in Workbench++/Basic++ geschrieben.
'///////////////////////////////////////////////////////
'//
'// Basic++
'// Destination C-Control I M2.0
'// Beschreibung: LCD an C-Control betreiben (Manuell)
'// Autor: Amiwerewolf 13. Oktober 06
'//
'///////////////////////////////////////////////////////
OPTION CC2.0 'Zielplattform
define lcd_port byteport[2]
define lcd_rw port[13]
define lcd_rs port[14]
define lcd_e port[15]
define lcdbyte as byte
const leer=20h
const z0=30h
const z1=31h
const z2=32h
const z3=33h
const z4=34h
const z5=35h
const z6=36h
const z7=37h
const z8=38h
const z9=39h
const gA=41h
const gB=42h
const gC=43h
const gD=44h
const gE=45h
const gF=46h
const gG=47h
const gH=48h
const gI=49h
const gJ=4Ah
const gK=4Bh
const gL=4Ch
const gM=4Dh
const gN=4Eh
const gO=4Fh
const gP=50h
const gQ=51h
const gR=52h
const gS=53h
const gT=54h
const gU=55h
const gV=56h
const gW=57h
const gX=58h
const gY=59h
const gZ=5Ah
const ka=61h
const kb=62h
const kc=63h
const kd=64h
const ke=65h
const kf=66h
const kg=67h
const kh=68h
const ki=69h
const kj=6Ah
const kk=6Bh
const kl=6Ch
const km=6Dh
const kn=6Eh
const ko=6Fh
const kp=70h
const kq=71h
const kr=72h
const ks=73h
const kt=74h
const ku=75h
const kv=76h
const kw=77h
const kx=78h
const ky=79h
const kz=7Ah
const zka=40h ' Klammeraffe
const zp=2Eh ' Punkt
const zk=2Ch ' Komma
const zmin=2Dh ' Minus
const zdp=3Ah ' Doppelpunkt
const zar=21h ' Ausrufezeichen
pause 10
lcd_init()
pause 1
lcd_clr()
pause 1
lcd_line(1)
pause 1
lcd_write(gL)
lcd_write(gC)
lcd_write(gD)
lcd_write(leer)
lcd_write(ka)
lcd_write(kn)
lcd_write(leer)
lcd_write(gC)
lcd_write(zmin)
lcd_write(gC)
lcd_write(kO)
lcd_write(kN)
lcd_write(kO)
lcd_write(kT)
lcd_write(kr)
lcd_write(kL)
lcd_write(leer)
lcd_write(gm)
lcd_write(zmin)
lcd_write(gu)
lcd_write(kn)
lcd_write(ki)
lcd_write(kt)
lcd_write(z2)
do
loop
sub lcd_init()
lcd_port=00000010b
lcd_ena()
pause 1
lcd_cmd(28h)
pause 1
lcd_cmd(0Ch)
pause 1
end sub
sub lcd_clr()
lcd_cmd(02h)
pause 1
lcd_cmd(01h)
pause 1
end sub
sub lcd_cmd(lcd_param ref lcdbyte)
lcd_port = 00000000b or (lcd_param shr 4)
lcd_ena()
lcd_port = 00000000b or (lcd_param and 0Fh)
lcd_ena()
end sub
sub lcd_line(line ref lcdbyte)
if line = 1 then lcd_cmd(80h)
if line = 2 then lcd_cmd(C0h)
end sub
sub lcd_write(lcd_param ref lcdbyte)
lcd_port = 00100000b or (lcd_param shr 4)
lcd_ena()
lcd_port = 00100000b or (lcd_param and 0Fh)
lcd_ena()
end sub
sub lcd_ena()
lcd_e = ON
lcd_e = OFF
end sub
LCD Ansteuerung über I²C
Folgt noch. Aber im Prinzip ähnlich der manuellen Ansteuerung
Autoren