Nogmaals vraag PIC + LCD-aansturing

Tja, is het ene probleem opgelost, dient zich het volgende aan: de aansturing van het display (op basis van een KS0066U-controller) in 4-bits modus lukt niet.

(Zie

formatting link
Als ik de datasheets van de KS0066U goed begrijp, moet de 4-bits modus als volgt werken (pagina 15 van de PDF):

  • DB0 - DB4 worden niet aangesloten (liggen hier via 10K aan massa)
  • Het aansturen gebeurt algemeen door op DB4 - DB7 van elke 'normale byte' eerst de hoogste vier bits aan te bieden, waarna E een H-puls krijgt, en daarna de laagste vier bits, waarna E weer een H-puls krijgt.
  • Voor het instellen van deze modus stuur je dus 0x20 uit, en wel eerst
0010 en daarna 0000 naar DB4 - DB7 (4-bits modus, eenregelig display, 5x8 font mode). Hierbij moeten RS en R/W laag zijn.

Nu heb ik dit ook precies zo gedaan, maar het ding blijft het testpatroon weergeven en reageert verder nergens op. Ter controle heb ik aan E, RS, R/W en DB4 - DB7 een set LED's hangen (direct aan de aansluitingen op het display, om vergissingen met bedrading te voorkomen), en de aanstuursoftware wacht iedere keer op een knopdruk van mij alvorens de lijnstatus te veranderen. Ik zie hiermee exact de juiste niveaus in de juiste volgorde optreden. Door deze proefopstelling zijn timingfouten ook uitgesloten - de signalen volgen elkaar op met tussenpozen van seconden ...

Overigens had iemand op het forum van circuitsonline exact hetzelfde probleem

formatting link
maar daar is zo te zien ook geen oplossing voor gevonden :-(

Samengevat: bedrading klopt, signalen kloppen, timing is geen probleem - en toch doet 'ie het niet. Heb ik (weer eens) iets simpels over het hoofd gezien? Of heeft iemand anders deze 4-bits modus wel aan de praat gekregen? Ook na uren proberen en zoeken wil het niet echt werken ...

Alvast weer mijn dank voor mogelijke suggesties :-)

Richard Rasker

--
Linetec Translation and Technology Services

http://www.linetec.nl/
Reply to
Richard Rasker
Loading thread data ...

Wellicht dat het naar ground trekken van die pinnen, om reden X, foute waarden in je instructie register propt? Ik laat ze altijd lekker zweven, en in de datasheet kan ik niet vinden dat ze aan een ground geknoopt moeten worden. Daar staat slechts "open these pins".

Ook hoef je volgens mij als je de 4 bits modus selecteerd niet de 0000 meer te sturen, want die instructie is nl. nog uitgevoerd terwijl het display in

8 bit modus staat? (dit is slechs een gok, maar niet zo heel moeilijk om even te proberen toch?)

formatting link

Hier kan je overigens virtueel spelen met een LCD, en krijg je ook commentaar op de instucties die je aan het invoeren bent. (als link niet werkt, googlen op DjLCDSIM)

Succes!

Groets

Jasper

Reply to
Jasper Keuning

Ik vermoed dat die pinnen intern een pull-up weerstand hebben en daarmee is het enige wat je dus niet mag doen: ze via een weerstand naar aarde leggen.........

Mijn vermoeden is nog gesterkt door het feit dat ik bij de elektrische karakterstieken een input low current van 100 uA heb gevonden. Verder staat er pull-up bij..................

Dus zal een pull-up naar Vcc of "open connectie" waarschijnlijk prima werken......

Groeten Bert

Reply to
Tweedel

Op Fri, 16 Dec 2005 18:19:45 +0000, schreef Tweedel:

Ah, dat was 'm dus ... ik zie nu een knipperende cursor als resultaat. Wederom mijn grote dank!

Richard Rasker

--
Linetec Translation and Technology Services

http://www.linetec.nl/
Reply to
Richard Rasker

Op Fri, 16 Dec 2005 18:56:28 +0100, schreef Jasper Keuning:

...

Sterker nog: als je het wel doet, gaat het ding een halve byte uit de pas lopen, met natuurlijk niet helemaal de gewenste resultaten ...

formatting link

Ja, erg leuk! En inderdaad leerzaam om met die signalen te spelen!

Is inmiddels wel zo ongeveer gegarandeerd - dankzij jullie hulp :-)

Richard Rasker

--
Linetec Translation and Technology Services

http://www.linetec.nl/
Reply to
Richard Rasker

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.