Hallo,
Mijn naam is Daan Zeeuwe.
Ik heb een probleem met mijn 16F877a, het lukt me niet om iets zinnigs op mijn LCD te plaatsen.
Ik ben al meer dan twee uur aan het zoeken naar de juiste schakeling en de juiste bijhorende code.
Hij is nu wel zover om iets op het scherm te zetten maar dit zijn alleen maar ingevulde blokjes en pijltjes naar links op de eerste regel.
Ik heb de EN op PORTC.1
Ik heb de RS op PORTC.0
Ik heb de R/W aan de grond verbonden (-).
En de uitgangen van de LCD vanaf uitgang 4 tot 7 heb ik aangesloten op de PORTB.0 tot PORTB.3 dus uitgang 4 op PORTB.0 - uitgang 7 op PORTB.1
Voor de rest is het een normale schakeling, zie de foto's.
http://s1211.photobucket.com/albums/cc426/daanz1/?action=view&curr…
http://s1211.photobucket.com/albums/cc426/daanz1/?action=view&curr…
http://s1211.photobucket.com/albums/cc426/daanz1/?action=view&curr…
Zie hieronder de code
Device 16F877A
Config CP_OFF , CPD_OFF , WDT_OFF , HS_OSC , PWRTE_ON , BODEN_OFF , LVP_OFF , DEBUG_OFF
All_Digital TRUE
TRISA = %11111100 ;
TRISB = %00000000 ;
TRISC = %11111100 ;
Xtal=20
Declare LCD_Type 0
Declare LCD_Interface 4 ' 4-bit Interface
Declare LCD_Lines 4
Declare LCD_ENPin PORTC.1
Declare LCD_RSPin PORTC.0
Declare LCD_DTPin PORTB.0
DelayMS 500
Cls
While 1 = 1
Print At 1, 1, "Proef"
DelayMS 500
Wend
End
Kunt u mij alstublieft helpen, want ik ben met mijn PWS bezig en zit nogal in wat tijdnood.
Alvast hartelijk bedankt.
Hoogachtend,
Daan Zeeuwe
Weesp
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Boven staat dat D7 van het display op PortB.1 zit, dat moet hopelijk PortB.3 zijn?
Als er vreemde tekens in het display komen, klopt de timing waarschijnlijk niet. Is het een 20MHz kristal? (Op de foto's niet te zien)
Kan ook zijn dat twee van de datalijnen omgedraaid zitten.
Sommige displays moeten ook met D0...D3 aan Gnd gehangen worden.