Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Enable lijnen van LCD's, gebruiken met uC

Pagina: 1
Acties:

  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 26-11 10:45

Atmoz

Techno!!

Topicstarter
Hallo,

Op 40x4 LCD schermen zitten standaard 2 E(nable) lijnen.
E1 is om de bovenste 2 rijen karakters aan te sturen, en E2 is om de onderste 2 rijen aan te sturen.

Als ik mijn LCD wil interfacen met een microcontroller, dan doe ik dat normaal gewoon bijna hetzelfde als op de LPT1. Maar nu heb ik dus 2 E's en daarom wilde ik graag even weten hoe ik die moet gebruiken.

Ik heb ontdekt dat als ik E1 aan de microcontroller hang, dan stuurt'ie mooi de bovenste 2 rijen aan, en als ik E2 aan de microcontroller hang dat pakt'ie de onderste 2 rijen. Werkt perfect dus. Ik wil met de microcontroller op een pin die ik over heb nog een E(nable) maken, zodat ik toch alle 4 de rijen tegelijk kan aansturen (bijna tegelijk dan, want alles gaat achter elkaar). Alleen nu moet ik weten hoe die Enable lijnen werken? Moeten ze gewoon aan de 5 volt om ze te enabelen? Of juist aan de GND? Wat moet ik die microcontroller laten doen?

Iemand enig idee hoe die Enables werken?
In de search kom je alleen in topics uit die het niet over de werking van enable hebben. Thanx.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Voor zover ik weet (geen praktijkervaring hiermee) bestaan die 40x4 LCDs intern gewoon uit 2 aanstuurchips van 40x2, 1 voor de onderste helft van het scherm en 1 voor de bovenste. De datalijnen etc. van deze chips zijn aan elkaar geknoopt, de enable-lijnen niet. Je stuurt zo'n LCD dan ook aan als 2 40x2-chips, en de enable-lijnen werken dan ook zoals beschreven is in de datasheets.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 26-11 10:45

Atmoz

Techno!!

Topicstarter
Sprite_tm schreef op 30 januari 2004 @ 16:17:
Voor zover ik weet (geen praktijkervaring hiermee) bestaan die 40x4 LCDs intern gewoon uit 2 aanstuurchips van 40x2, 1 voor de onderste helft van het scherm en 1 voor de bovenste. De datalijnen etc. van deze chips zijn aan elkaar geknoopt, de enable-lijnen niet. Je stuurt zo'n LCD dan ook aan als 2 40x2-chips, en de enable-lijnen werken dan ook zoals beschreven is in de datasheets.
Ja klopt. Zo werkt het ook. Ik heb ergens gelezen dat het signaal enkele uS moet zijn, maar nog steeds weet ik niet of op zo'n enable lijn 5 volt mag, of juist helemaal niet. Ik ben al bezig met iets te bedenken dat ik steeds om de buurt die E's aan de uC hang (met relais ofzo). Dan ben ik van het probleem af. Kost me wel een relais enzo, maarja dan werkt het zekersteweten ;)

Maar dat neemt niet weg dat ik niet wil weten hoe dat nu zit met die E's :D

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Nouja, vrij simpel: Check de datasheet van de HD44780, dat is de chip waarvan er waarschijnlijk 2 in je LCD zitten. En hoezo relais ofzo? De E-ingangen zijn gewoon TTL-compatible, ik zou dus beide ingangen gewoon op 2 I/O-pinnetjes van je microcontroller hangen.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 26-11 10:45

Atmoz

Techno!!

Topicstarter
Sprite_tm schreef op 30 januari 2004 @ 16:30:
Nouja, vrij simpel: Check de datasheet van de HD44780, dat is de chip waarvan er waarschijnlijk 2 in je LCD zitten. En hoezo relais ofzo? De E-ingangen zijn gewoon TTL-compatible, ik zou dus beide ingangen gewoon op 2 I/O-pinnetjes van je microcontroller hangen.
Ik zou niet weten hoe ik op de microcontroller 2 E-lijnen kan aansturen (theoretisch natuurlijk wel mogelijk, maar dan moet je zelf libraries gaan maken. Dus ik dacht relais wat om de beurt de 2 E's van het LCD aan de ene E van de uC hangt. Dan "denkt" het LCD dat er steeds maar 1 E is, terwijl die gewoon omgeschakeld worden.

Verder heb ik een andere IO pin van de PIC gepakt en daar heel even (enkele mS) 5 volt op gezet (effe om te testen) maar dat werkt niet. Dan krijg ik geen tekens op het LCD. Dus volgens mij moet het echt HEEEEL kort duren (zoals ik had gelezen enkele uS). Dat is echt een probleem dus. En het LCD gebruiken met maar 2 rijen karakters zou ook niet erg zijn, maar dan staat er weer zo'n lelijke balk in het scherm.

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Relais = bad, mkay? :) Met de snelheden waarmee een LCD aangestuurd wordt wil je geen klapperend relais in de weg hebben zitten.


Maar als ik je goed begrijp zit je met libraries die je perse wilt gebruiken, alleen die slechts ondersteuning hebben voor 40x2 en kleiner? Waarom schrijf je dan niet je eigen schrijf-data-naar-het-LCD-routines? Da's vrij simpel, zeker als je de datasheets erbijhoudt. En met 'alleen' 5 volt op de enable-lijn kom je er niet: het LCD gebruikt de opgaande flank (iirc) van de E-lijn als een indicatie dat de data op de rest van de lijnen geldig is. Met alleen het E-lijntje hoog maken kom je er dus niet, en da's ook de reden dat je experimentje mislukte.





Wat je dus kan doen is hetzij je software omzetten, hetzij een relais-achtig schakelingetje maken (2 i/o pinnen, 2 torretjes en 2 pull-down-weerstandjes zouden moeten werken).



offtopic:
Goh, tis wel een 1-op-1-slowchat zo :)

[ Voor 6% gewijzigd door Sprite_tm op 30-01-2004 16:46 ]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Verwijderd

wij zijn op school bezig met microcontroller en lcd (ATMEGA163)

kijk anders even hier:
http://www.geocities.com/dinceraydin/lcd/intro.htm

als je nog meer info wil hebben laat het maar horen, kan je ect ook een stukje code sturen

  • sebastius
  • Registratie: September 2000
  • Laatst online: 25-11 19:16

sebastius

Laten we lekker link gaan doen

Misschien een gekke maar:

Plaats na je enable uitgang op je PIC een combinatie van een AND en een NOT+AND (op één ingang van de 2e AND de NOT dus). En gebruik een tweede poortbit als signaal om de lagere helft te kiezen.
code:
1
2
3
4
5
-Enable--------|
-LowHalf--NOT--|----AND} Enable 1 (Bovenste helft display)

-Enable--------|
-LowHalf-------|----AND} Enable 2 (Onderste helft display)
Als je nu zorgt dat je software wéét of hij op de bovenste helft of de onderste helft moet gaan plaatsen, (bijvoorbeeld door de regel of het zoveelste character te bepalen) dat je dan de LowHalf poort laag of hoog maakt, dan zoekt dat ding verder uit op welk LCD het moet.

Bedenk je wel dat je de LCD twee keer moet initialiseren. Bovenste en onderste helft apart.

[ Voor 18% gewijzigd door sebastius op 30-01-2004 16:57 ]


  • tafkaw
  • Registratie: December 2002
  • Laatst online: 25-11 13:39
Kun je op deze manier ook 2 4x20 lcd's aansturen (schema van een 4x40 gebruiken en dit in LCD Studio ook selecteren)?

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 29-10 06:07

Sprite_tm

Semi-Chinees

Gr0wlithe: Jahoor, ik zou niet weten waarom niet.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Atmoz
  • Registratie: Juli 2001
  • Laatst online: 26-11 10:45

Atmoz

Techno!!

Topicstarter
Bedankt mensen, ik ga het maken hoe sebastius zegt. Het is niet zo heel netjes (eigenlijk zou ik me er voor moeten in zetten om een 2e E te maken op de PIC, maar omdat dit toch vrij ingewikkeld is ga ik voor de optie met de AND en de NOT AND ;). M'n pa heeft me het schema eventjes getekent en ik ga het zometeen maken.

Als het klaar is post ik wel wat foto's ;) (dus laat topic AUB eventjes open). Dankjewel mensen.

  • sebastius
  • Registratie: September 2000
  • Laatst online: 25-11 19:16

sebastius

Laten we lekker link gaan doen

atmoz schreef op 31 januari 2004 @ 10:10:
Bedankt mensen, ik ga het maken hoe sebastius zegt. Het is niet zo heel netjes (eigenlijk zou ik me er voor moeten in zetten om een 2e E te maken op de PIC, maar omdat dit toch vrij ingewikkeld is ga ik voor de optie met de AND en de NOT AND ;). M'n pa heeft me het schema eventjes getekent en ik ga het zometeen maken.

Als het klaar is post ik wel wat foto's ;) (dus laat topic AUB eventjes open). Dankjewel mensen.
Tis geen lelijke oplossing hoor. Als de software effe niet mee wil werken is het gewoon sneller een miniscule hardware aanpassing te maken. En dan kan altijd nog die library aangepast.

  • Stoney3K
  • Registratie: September 2001
  • Laatst online: 15:41

Stoney3K

Flatsehats!

sebastius schreef op 01 februari 2004 @ 01:39:
[...]
Tis geen lelijke oplossing hoor. Als de software effe niet mee wil werken is het gewoon sneller een miniscule hardware aanpassing te maken. En dan kan altijd nog die library aangepast.
Zou je op deze manier ook grotere displays aan kunnen sturen (bv. 40x8 als die bestaan) door middel van een decodertje (74LS238?)

Want die schakeling die je beschreef was in feite een 1-naar-2 decoder.

Zet het daar maar neer! -- It's time to party like it's 1984 -- Soundcloud


  • sebastius
  • Registratie: September 2000
  • Laatst online: 25-11 19:16

sebastius

Laten we lekker link gaan doen

Stoney3K schreef op 01 februari 2004 @ 12:36:
[...]


Zou je op deze manier ook grotere displays aan kunnen sturen (bv. 40x8 als die bestaan) door middel van een decodertje (74LS238?)

Want die schakeling die je beschreef was in feite een 1-naar-2 decoder.
Misschien wel, maar ik weet niet hoe die grotere displays werken. Werken ze op hetzelfde principe, dan ZOU het kunnen.

Je kunt hier natuurlijk wel oneindig veel normale LCD's mee aansturen (bijvoorbeeld met een BCD naar decimaal decoder).
Pagina: 1