Ok, ik zit dus nu met het volgende probleem.

Ik heb een schakeling gemaakt met daarin een PIC16F84, twee debugger leds aan Poort A0(pin 17) en A1(18). En poort A2(1) zit aan de Enable van het LCD en A3(2) zit aan de RS van het lcdschermpje.
Nou heb ik D4..D7 van het LCD aangesloten op B0..B3 (pin6..9).

Ik heb verschillende code geprobeerd voor de PIC, heb zelf ook geprobeerd code te schrijven ervoor aan de hand van het datasheet(het is een GDM1602A van Xiamen Ocular, met een KS0066U controller), maar niks werkt, het lcd blijft 1 rij aangeven met zwarte blokjes, net als ie doet als je hem alleen aan de stroom zet...

Heeft iemand misschien een idee wat dit is? Ik heb het lcd ook met de pc getest, in 8 bits werkte hij perfect via de paralelle poort.

Alex,

Je moet hiervoor dus wel de insturcties in tweeën delen, en zo dus voor elke instructie, twee maal de /E klokken

Btw, de KS0066U = HD44780 + speciale functies, heb er ook eentje

[Bericht gewijzigd door Antoine op ]

Op za 21-09-2002 13:42:51 schreef Alex Nauta:
Ik heb verschillende code geprobeerd voor de PIC, heb zelf ook geprobeerd code te schrijven ervoor aan de hand van het datasheet(het is een GDM1602A van Xiamen Ocular, met een KS0066U controller), maar niks werkt.

Dan heb je het waarschijnlijk toch niet goed gedaan. Zoals Antoine al zegt moet je bij het 4-bits protocol de instructies in 2en verzenden en dus ook 2x clocken. Doe je dat?

Ik heb meerdere standaard 4bits aanstuur codes geprobeerd uit andere programma's (wel aangepast naar de juiste poorten) die werkten allemaal niet.

Toen heb ik m'n eigen programma geschreven, met initialisatie volgens de datasheets van de KS0066U in 4bit.
En daarna dus eerst de hoogste bits zenden, /E 1x klokken, en dan de lage bits gevolgd door nog een keertje de /E..

niks werkt... maar LCD werkt wel in 8 bit mode op de PC ..

Ik zal even proberen of ik hem in 8 bit mode aan de praat krijg...neemt wel alle Bpoorten in beslag, maarja, ff testen.

[Bericht gewijzigd door Alex Nauta op ]

heb je het LCD wel op 4 bits modus gezet met de eerste instructie ? D.w.z. hiermee MOET je beginnen, anders in het nada

Ja, als het goed is doet hij dat door 2x 0x02 te zenden naar het lcd en daarna de rest, zoals beschreven in de datasheet van de KS0066U

Maargoed, ik hoorde dat de timings van de KS0066U wat verschilden van de Hitachi compatible's?

Hola, als je 0x02 naar je LCD schrijft, dan stuur je dus feitelijk 0000.0011, maar die eerst 4 bits doen niet meer mee in 4bits modus dussehm, moet het dan niet 0011.xxxx zijn ?

En heb je de R/W lijn op 0V staan ?

R/w staat op de gnd aangezien ik die niet nodig heb

0x02 klopt wel, aangezien ik alleen de 4 lage bits gebruik..dus als ik 0b00000011 heb dan gebruik ik dus feitelijk alleen 0011, van de poorten 0 t/m 3

Ik zal het ff zo neerzetten:

76543210 - PoortB mapping op de PIC
00000011 - 0x02h
____76543210 - Poorten van het LCD
____0011xxxx - zo komt de 0x02h dus door op het lcd

[Bericht gewijzigd door Alex Nauta op ]

Op zo 22-09-2002 23:17:05 schreef Alex Nauta:
R/w staat op de gnd aangezien ik die niet nodig heb

0x02 klopt wel, aangezien ik alleen de 4 lage bits gebruik..dus als ik 0b00000011 heb dan gebruik ik dus feitelijk alleen 0011, van de poorten 0 t/m 3

Ik zal het ff zo neerzetten:

76543210 - PoortB mapping op de PIC
00000011 - 0x02h
____76543210 - Poorten van het LCD
____0011xxxx - zo komt de 0x02h dus door op het lcd

Klopt niet hoor, het is zoals Antoine zegt.
Want hoe krijg jij ooit van zijn leven:
____76543210 - Poorten van het LCD
____0011xxxx - zo komt de 0x02h dus door op het lcd
als je dit:
00000011 - 0x02h
stuurt naar je portB, toch knap :)

Je moet naar portB 00110000 sturen.

huh, maar van die 00110000 zou de 0000 alleen maar doorkomen bij het lcd aangezien alleen de eerste 4 poorten aangesloten zitten op de laatste 4 poorten van het LCD.

Wil je ff een "

" plot geven van welke pin van de PIC aan welke pin van het LCD zitten. Anders gaan we denk ik teveel rommelen met getallen en aansluitingen die we denken dat er zijn.