hoi,
ik ben bezig met een klein projectje met een LCD display en een PIC16F84a. aangezien ik de programmacode niet maak weet ik ook niet hoe ik zo een LCD display moet sturen. Ik zou er graag ook met experimenteren. De LCD is met een 44780 poc. en is 16*2 karakters (hitashi).
Nu wou ik graag zelf eens iets 'heel simpel' op mijn scherm willen toveren. Dit is mij nog niet gelukt. Aan de datasheet raak ik ook al niet uit, en de meeste sites op internet vertellen niet wat ik zoek.
kan mij iemand kort en bondig uitleggen hoe ik bvb het woord 'hallo' op mijn scherm moet toveren?
alvast bedankt.

Wie schrijft die code dan?
zonder code geen text

Op 19 maart 2003 23:33:02 schreef k.p.meinesz:
Wie schrijft die code dan?
zonder code geen text

Die code is al geschreven. het is een schakeling die ik namaak, maar ik zou iets anders willen toevoegen aan die schakeling.
Het is nu vooral om er mee te proberen voor ik het vastsoldeer.
ik zou graag weten hoe mijn schakeling die ik maak ongeveer werkt. elke elektronicus heeft toch een drang naar meer kennis... ;)

Op 19 maart 2003 23:42:13 schreef sille:

[...]

ik zou graag weten hoe mijn schakeling die ik maak ongeveer werkt. elke elektronicus heeft toch een drang naar meer kennis... ;)

okee dan de code bestaat reeds

als je een link naar de code geeft kan ik mischien helpen en je honger naar kennis stillen

nenee, je begrijpt me verkeerd.
ik wil gewoon zonder die code of elke andere code zelf iets maken. ik wil van niets beginnen, en gewoon een kleine basis van hoe je zo een display moet sturen met een pic om er een tekste je op te laten komen. volgens mij niet zo moeilijk, maar het is me zelf nog niet gelukt om dit te doen

Ge moet eerst de LCD drivers initialiseren, t.t.z. vertellen in welke mode ze moeten gaan werken (4 of 8 bits bus, cursor, rechts doorschuiven, etc..) Dan pas kunt ge met een schrijfbewerking naar de LCD bus de characters in ASCII schrijven. Alles moet uiteraard in code geschreven worden.

Op 20 maart 2003 08:38:17 schreef Andy:
Ge moet eerst de LCD drivers initialiseren, t.t.z. vertellen in welke mode ze moeten gaan werken (4 of 8 bits bus, cursor, rechts doorschuiven, etc..) Dan pas kunt ge met een schrijfbewerking naar de LCD bus de characters in ASCII schrijven. Alles moet uiteraard in code geschreven worden.

dankje, nu ja, ik weet ook niet precies hoe ik dat moet doen. ik snap iets niet, gebruikt de schakeling geen gemeenschappelijke klok puls? de display weet toch niet wanneer hij mijn code moet lezen?
ik zal het eens proberen met jal, maar ik zou het liever in assambler doen.

update: met jal lukt het me nu al ietsje om een statische tekst op het scherm te plaatsen :d

Een lcd werkt met een clk lijn, anders zou die het inderdaad niet kunnen volgen.

Op 20 maart 2003 11:05:24 schreef Bastiaan:
Een lcd werkt met een clk lijn, anders zou die het inderdaad niet kunnen volgen.

Bij de HD44780 en familieleden heet dat de E (enable) lijn.

Voor de OP: als je liever assembler hebt: jal produceert ook een .asm file, maar die is natuurlijk niet voorzien van commentaar. Heb je al eens op http://www.piclist.com rondgeneusd?

Op 20 maart 2003 11:38:37 schreef Wouter van Ooijen:
Voor de OP: als je liever assembler hebt: jal produceert ook een .asm file, maar die is natuurlijk niet voorzien van commentaar. Heb je al eens op http://www.piclist.com rondgeneusd?

uit die asm file uit de jal compiler kan ik ook niet echt iets halen. is niet overzichtelijk en ik raak zo de kluts kwijt.
op piclist is ook niet echt iets duidlijks te vinden.

het is me nu wel al gelukt in jal, maar mijn bedoeling is te weten hoe jal dat nu doet om die tekst op het scherm te plaatsen.

Je moet gewoon de datasheet van Hitachi lezen die over het LCD en zijn controller gaat. Daar staat alles in.

Kijk eens op http://www.idwlcd.com/Products/catalog/ModuleTypes/StandardLCDModules.… en kies dan rechts een van de opties.

-Je van een pot meter de uiteinden op + en - aansluiten en de middelste op VO (pin 3)
-Je moet pin 5 met de - verbinden mits je later ook instructies van het display wilt lezen
-Pin 4 verbind je met de microcontroller
-Pin 5 verbind je met de microcontroller
1=VSS (-)
2=VDD (+)
3=VO (Contrast)
4=RS (Register select)
5=R/W (Read/Write) deze pin moet naar de - (Write mode)
6=E Enable(Bij elke 8 bits code moet je deze code 'activeren' door hier een hoog (1)naar laag (0)signaal te zetten (LET OP geen nul naar 1!)het hele Enable signaal moet minimaal 1US duren dus bij een pic16F84 (doet over 1 instructie 1 Microseconde (us), dus je hoeft verder geen "wachten" in je programma te bouwen)
7=DB0 8=DB1 9=DB2 10=DB3 11=DB4 12=DB5 13=DB6 14=DB7 15=DB8
16 en 17 zijn de backlight (ong. 3V)

Je moet eerst een 00111000 naar het display sturen gevolgd door een hoog naar laag signaal op Enable daarna moet je een 00001111 gevolgd door een hoog naar laag signaal op enable sturen (je moet altijd na elk 8 bits signaal een hoog naar laag signaal op de enable pin zetten.
Het is ook zeer belangrijk om op de timing te letten bij een karakter lcd module. sommige instructies hebben een bepaalde tijd nodig om ze te verwerken dus je kan niet zomaar achter elkaar signalen naar het display sturen.
Meer info (ook over de PIC16F84 (pinout)) komt zo

probeer eens een programma voor de PIC16F84 te schrijven in MPLAB van Microchip (de fabrikant van de PIC16F84)
Deze is te downloaden van de Microchip site.

Ik weet niet of je dit al wist
PIC16F84
1=RA2
2=RA3
3=RA4/TOCK1
4=MCLR (een 1 is normaal en een nul is reset)
5=VSS
6=RB0/INT
7=RB1
8=RB2
9=RB3
10=RB4
11=RB5
12=RB6
13=RB7
14=RB8
15=OSC2/CLKOUT
16=OSC1/CLKIN
17=RA0
18=RA1
Anders kijk je even in de PIC microcontroller tutorial in "Artikelen" op deze site...

Als je nog vragen hebt over de PIC16F84 of de LCD karakter module, vraag dan maar raak ik heb er een tijdje terug een heleboel over gestudeerd

Miter, heel hard bedankt. ik zou dit graag direct willen uitproberen, maar alles ligt in mijn kot, het zal dus voor na het weekend worden.
k heb al iets ervaring met MPLAB en de PIC16F84 (ledjes laten pinken en zo ;)) dat zal wel geen probleem zijn.

heb nog een vraagje. Dat Enable signaal van de display is reageert dus op een flank? en niet op een hoog niveau?
En euh, de register select, waar dient die dan voor?
Wat is een veilige tijd om instructies na elkaar te versturen?

Op 21 maart 2003 22:55:38 schreef sille:
heb nog een vraagje. Dat Enable signaal van de display is reageert dus op een flank?

Klopt, alleen op een opgaande flank om precies te zijn.

en niet op een hoog niveau?

Idd, dat houd het dan automatisch in.

En euh, de register select, waar dient die dan voor?

Om het display duidelijk te maken of je een commando gaat sturen of data die die direct op zijn scherm moet zetten.

Op 22 maart 2003 00:02:19 schreef Bastiaan:
[...]

Om het display duidelijk te maken of je een commando gaat sturen of data die die direct op zijn scherm moet zetten.

ik ben misschien moeilijk aan het doen, maar die commando's, welke zijn dat en wat kan je daar mee doen?

Op 22 maart 2003 12:38:32 schreef sille:
[...]
ik ben misschien moeilijk aan het doen, maar die commando's, welke zijn dat en wat kan je daar mee doen?

Dan moet je denken aan commando's als: zet cursor een regel verder, laat cursor knipperen, clear scherm, enz. Je kunt dit alles in datasheets vinden zoals ik al zo vaak roep ;)

Op 22 maart 2003 12:38:32 schreef sille:
ik ben misschien moeilijk aan het doen, maar die commando's, welke zijn dat en wat kan je daar mee doen?

Je zou misschine de datasheet eens kunnen lezen...

het lukt mij nog steeds niet met de tips die ik van miter gekregen heb. kan iemand de uitleg nog iets duidelijker maken?

is er iemand die ff tijd zou hebben en eens een programmatje om een statische, vaste tekst (in zijn simpelste vorm) te schrijven en mij dat eens mee te delen. de programmatjes die ik vind op internet zijn veel te onoverzichtelijk door de andere functies...

Heb je de datasheet al eens gelezen?

Op 23 maart 2003 22:40:21 schreef Bastiaan:
Heb je de datasheet al eens gelezen?

al meer dan eens. maar meestal vind ik het bos niet meer tussen de bomen. ik vind wel stukjes terug, maar de ganse datasheet lezen en begrijpen lukt me niet echt

Jammer dat je niet in de buurt woont, want dit is echt iets wat je gewoon ff in real moet worden uitgelegd als je de datasheet niet snapt.

Op 23 maart 2003 23:39:32 schreef Bastiaan:
Jammer dat je niet in de buurt woont, want dit is echt iets wat je gewoon ff in real moet worden uitgelegd als je de datasheet niet snapt.

Ik geef niet op ;)