LCD
Zur Navigation springen
Zur Suche springen
Beschreibung
Die NKC-LCD Platine gestattet das Anschließen von LCDs mit HD44780 oder kompatiblem Controller direkt an den NKC-BUS. Das trifft z.B. auf die meisten erhältlichen 1602, 2002 oder 2004 Module zu. Diese können zum Beispiel zum Debuggen ohne Grafikkarte verwendet oder parallel zu einer GDP64 genutzt werden.
I/O-Adressen
Default I/O-Port: 0AAh/0ABh
Hinweise
Zur Bestimmung des Vorwiderstandes Rv1 (Helligkeit) sollte unbedingt das Datenblatt studiert werden. Einige LCDs mit leistungsstarker Hintergrundbeleuchtung erfordern einen ca. 6 Ohm Widerstand mit bis zu 0,5W Belastbarkeit. In den meisten Fällen kann ein 150 Ohm Potentiometer eingesetzt werden.
Beispiel
Beispielcode für Z80:
cpu z80 aseg ; org 0000h ;start im EPROM org 8800h ;start im RAM ;**************************************** ;* LCD Test * ;**************************************** jp start ;hauptprogramm lcd0 equ 0aah ; lcd steuerregister lcd1 equ 0abh ; lcd datenregister ; warte bis LCD wieder bereit ist lcdbusy: push af lcdbusy0: in a,(lcd0) and 80h jp nz,lcdbusy0 pop af ret ; Initialisierung lcdinit: push af push bc ld b,4 lcdinit0: ld a,38h out (lcd0),a call lcdbusy djnz lcdinit0 ld a,6 out (lcd0),a call lcdbusy ld a,0eh out (lcd0),a call lcdbusy ld a,1 out (lcd0),a call lcdbusy ld a,80h out (lcd0),a call lcdbusy pop bc pop af ret ; Programmstart ; Initialisierung und Text ausgeben start: call lcdinit ld a,'N' out (lcd1),a call lcdbusy ld a,'K' out (lcd1),a call lcdbusy ld a,'C' out (lcd1),a call lcdbusy ld a,'-' out (lcd1),a call lcdbusy ld a,'L' out (lcd1),a call lcdbusy ld a,'C' out (lcd1),a call lcdbusy ld a,'D' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,'2' out (lcd1),a call lcdbusy ld a,'0' out (lcd1),a call lcdbusy ld a,'x' out (lcd1),a call lcdbusy ld a,'4' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,'T' out (lcd1),a call lcdbusy ld a,'e' out (lcd1),a call lcdbusy ld a,'s' out (lcd1),a call lcdbusy ld a,'t' out (lcd1),a call lcdbusy ld a,'k' out (lcd1),a call lcdbusy ld a,'l' out (lcd1),a call lcdbusy ld a,'m' out (lcd1),a call lcdbusy ld a,'n' out (lcd1),a call lcdbusy ld a,'o' out (lcd1),a call lcdbusy ld a,'p' out (lcd1),a call lcdbusy ld a,'q' out (lcd1),a call lcdbusy ld a,'r' out (lcd1),a call lcdbusy ld a,'s' out (lcd1),a call lcdbusy ld a,'t' out (lcd1),a call lcdbusy ld a,'u' out (lcd1),a call lcdbusy ld a,'v' out (lcd1),a call lcdbusy ld a,'w' out (lcd1),a call lcdbusy ld a,'x' out (lcd1),a call lcdbusy ld a,'y' out (lcd1),a call lcdbusy ld a,'z' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,'0' out (lcd1),a call lcdbusy ld a,'1' out (lcd1),a call lcdbusy ld a,'2' out (lcd1),a call lcdbusy ld a,'3' out (lcd1),a call lcdbusy ld a,'4' out (lcd1),a call lcdbusy ld a,'5' out (lcd1),a call lcdbusy ld a,'6' out (lcd1),a call lcdbusy ld a,'7' out (lcd1),a call lcdbusy ld a,'8' out (lcd1),a call lcdbusy ld a,'9' out (lcd1),a call lcdbusy ld a,'a' out (lcd1),a call lcdbusy ld a,'b' out (lcd1),a call lcdbusy ld a,'c' out (lcd1),a call lcdbusy ld a,'d' out (lcd1),a call lcdbusy ld a,'e' out (lcd1),a call lcdbusy ld a,'f' out (lcd1),a call lcdbusy ld a,'g' out (lcd1),a call lcdbusy ld a,'h' out (lcd1),a call lcdbusy ld a,'i' out (lcd1),a call lcdbusy ld a,'j' out (lcd1),a call lcdbusy ld a,'V' out (lcd1),a call lcdbusy ld a,'i' out (lcd1),a call lcdbusy ld a,'e' out (lcd1),a call lcdbusy ld a,'l' out (lcd1),a call lcdbusy ld a,' ' out (lcd1),a call lcdbusy ld a,'S' out (lcd1),a call lcdbusy ld a,'p' out (lcd1),a call lcdbusy ld a,'a' out (lcd1),a call lcdbusy ld a,'s' out (lcd1),a call lcdbusy ld a,'s' out (lcd1),a call lcdbusy ld a,'!' out (lcd1),a call lcdbusy loop: ret