Karakteristiek LCD aansturen vanaf het begin met Atmega

Beste Co'ers,

graag wil ik eens proberen om een Karakteristiek LCD display aan te sturen met behulp van een Atmega.

Ik heb al een tijd zitten zoeken en het al aardig wat theoretische kennis gevonden. Zo weet ik dat je een LCd 4 of 8 bits kan aansturen. In veel gevallen gebeurd dit met de HD44780 driver IC.

Ook heb ik gelezen dat er in de meeste gevallen (bij 8 bits) 14 of 16 aansluitpennen op het display zitten:
-Vss = Gnd
-Vdd = voeding (5V)
-Vlc = voor contrast (met potmeter)
-RS (verschil commando of data)
-RW (schrijven of lezen)
-Enable (Pinnen uitlezen/schrijven of niet)
-en dan vervolgens de datalijnen (8 stuks).
-eventuele 15 en 16 is voor backlight.

heb ook gevonden hoe je van die mooie tabellen met "symbolen" kan uitlezen.

Alleen is nu mijn grote probleem de software code. Ik heb wel eens simpele programma's geschreven waarbij ik bepaalde poorten openstuurde. Ook wel eens wat gedaan met timers en PWM.

maar ik moet eerlijk zeggen dat ik geen flauw idee heb hoe ik met de schrijven van mijn LCD code moet beginnen.

Ik wil graag in C programmeren.

Kan iemand mij hierbij tips geven?

4-bits mode is het makkelijkst, kijk eens op de site van Peter Fleury, die heeft een kant en klare C library voor zulke LCDs.

daar heb ik gekeken, maar kom daar niet uit.

Inderdaad peter Fleury heeft een mooie Library geschreven voor LCD's maar wel wat uitgebreid.

Ik moet eerlijk toegeven dat ik mijn Oled-schermpje met peter fleury's lib ook nog niet aan de praat heb gekregen.

ik zou nog wel eens een uiterst simpele voorbeeldcode voor een LCD willen zien?

Verder zijn er honderden topics over LCD's op avrfreaks.net.
Ik zou zeggen kijk even wat je daar allemaal tegenkomt.

ben nu idd op avr freaks aan het speuren. Wellicht kom ik daar wat tegen.

Is het niet voor iemand een uitdaging om een tutorial te maken voor CO :P:P:P

Op 7 februari 2007 15:48:46 schreef madwizard:
4-bits mode is het makkelijkst, kijk eens op de site van Peter Fleury, die heeft een kant en klare C library voor zulke LCDs.

ben ik het niet mee eens.. heb twee week geleden mijn eerste ervaring gehad met LCD displays
en als je in kijkt op de site
http://www.avrbeginners.net
daar staan kant en klare voorbeelden om je LCD aan te sturen.
ik heb het zelf aardig uitgebreid en heb nu een 20x4 Display volledig functionerend op een ATmega8515.
ik heb voor de 8bits sturing gekozen scheelt een deel in het uitsturen naar het display. bij 4bits mode moet je dubbel sturen dus de ascii code die bij het karakter hoort delen in twee..

ik zou zeggen lees het deel wat avrbeginners uitlegd hierover eens en ik weet cker dat je een heel eind komt.

Wat extra werk door de data in nibbles te sturen is zeker het investeren waard. Als je dezelfde code wil gebruiken voor een uC met minder i/o ga je met 8 bits in de problemen komen. Eenmaal geschreven hoef je er nooit meer naar om te kijken.

Gr,

Rik.

ik moet zeggen dat er weinig voorbeeld code te vinden is in C. Ik kom veel info tegen in assambly, maar dat wil ik niet...

Hmz... Wat is er mis met assembly? ALS het een goede lib is... onder het motto 'beter goed gejat dan slecht zelf verzonnen'... even uitspitten hoe jouw compiler assembly vanuit C kan callen en klaar.

Feitelijk kun je veel daarvan zo naar C omkrikken, enige wat je even uit moet spitten is hoe je in jouw C variant je port pins initialiseert / set / cleared / read.
Als je een knipperled kunt programmeren en een drukknop uit kunt lezen, ben er jer feitelijk.

Er was nog ergens... (graaf, graaf... kan 'm zo snel niet vinden) een link waaring een 44780 in Java geemuleerd werd. Geinig als je niet echt weg komt met de datasheet en wat wilt experimenteren. Zoals elke emulator is het ding niet 100%.
(als iemand de link wel hapklaar heeft...)

er is niks mis met assambly, buiten dat ik het niet kan, maar mijn bedrijf werkt alleen met c. Vandaar ;)

Op mijn site heb ik wel een stukje staan over het aansturen van een lcd met de lib van peter fleury.
artikel