Probleem:
LCD met 16F887 doen niks, Contrast is mooi te regelen, maar er verschijnt geen tekst, wat op de 16F628A wel goed gaat.

Het contrast blijft ook op dezelfde sterkte tijdens het opstarten, (betekend dit dat het initialiseren goed gaat?)

Code:

DEVICE 16F887
ASM
CONFIG_REQ
__CONFIG _CONFIG1, HS_OSC & WDT_OFF & DEBUG_OFF & FCMEN_OFF & IESO_OFF & BOR_OFF & CPD_OFF & CP_OFF & MCLRE_ON & PWRTE_ON & LVP_OFF
__CONFIG _CONFIG2, WRT_OFF & BOR21V 
ENDASM 
xtal                = 20
ALL_DIGITAL         = TRUE

DECLARE LCD_LINES 1
DECLARE LCD_ENPIN portb.2
DECLARE LCD_RSPIN portb.3
DECLARE LCD_DTPIN portb.4

Delayms  500                   ;LCD stabilisering

CLS                           ;Wis scherm en zet cursor links bovenaan 
PRINT at 1, 1, "Hello"      ;Plaats tekst op het display
END                           ;Einde programma

Halfe tekst ivm het werken van een 1x16 LCD als een 2x8

Schema:
http://www.technojunk.nl/image/Schema1.JPG

Moet je in basic niet opgeven dat je met 4 databits werkt?
Of is dat standaard ingebakken in basic?

Als je niks opgeeft zit het standaard op B7 t/m B2
e/ Waarom werken 16F887's nooit mee?
met een 628A nog nooit problemen gehad...

[Bericht gewijzigd door Technojunk op (48%)]

Hoe programmeer je die 877?
Ik was hier ook mee aan het klooien met de programmer eraan werkte het niet goed ding eraf en gaan. Was trouwens op een breadbordje.
De programmer die ik gebruik is een PICkit 2 Clone.

ik gebruik ook de ISCP PICkit 2 clone, programmer er af maakt (helaas) niks uit.

Had je bij die 16f628a ook de interne oscillator aan staan + de instelling xtal=20 ?
Die 2 zijn niet in overeenstemming volgens mij. De interne osc draait maximaal op 8 MHz.

INTOSCIO verandert naar HS_OSC, maar helaas zonder resultaat.

gwoon led laten knipperen werkt wel?
klinkt als een probleem wat ik van de week ook had...

begon precies het zelfde... wilde een LCD aansturen met een 16F88 ;)

Pak eens een andere compiler. Mikroc oid. ALs dat wel werkt ligt het niet aan je hardware.

Red-E:
Led laten knipperen werkt perfect..

Bas Smit:
Mikroc is toch voor C?
In mijn simulatieprogramma Isis werkt het trouwens perfect.

[Bericht gewijzigd door Technojunk op (13%)]

Op 9 juni 2009 15:26:09 schreef Technojunk:
Het contrast blijft ook op dezelfde sterkte tijdens het opstarten, (betekend dit dat het initialiseren goed gaat?)

Contrast is hardwarematig, krijg je een zwarte balk die na 500ms verdwijnt?

ASM en ENDASM zijn overbodig, maar maakt verder niet uit.

Op 9 juni 2009 15:30:51 schreef Zonnepaneeltje:
Moet je in basic niet opgeven dat je met 4 databits werkt?
Of is dat standaard ingebakken in basic?

Default, en de TS gebruikt alle default aansluitingen

[Bericht gewijzigd door Henry S. op (27%)]

Henry S:
Nee, geen last van.

Hoezo last? Dat is de normale startup procedure van een display...

mmm.. Toch een hardware fout dan?
Eens even zoeken.

Daarom zeg ik mikroc / andere taal. Als een andere taal wel werkt dan is het geen hardware fout en is er iets mis in de software.

Zeker dat alles op de goede pinnetjes zit

Stel alle declares eens in, dan weet je zeker dat dat goed zit.

Nee, alles blijft gewoon grijs.
Er verandert niks na 500ms

e/ net per ongeluk RS/ EN omgedraaid, toen kreeg ik allemaal EEEs en chinese letters op het display.

[Bericht gewijzigd door Technojunk op (18%)]

Zeker dat alles rond je xtal goed is? Probeer het anders eens op de interne.

Ook zeker dat er niet ergens een draadbreuk is oid?

Nee, nergens een draadbreuk, op een 16F628A ernaast werkt het perfect..

Intern kristal door HS_OSC te vervangen door INTOSCIO?
Moet ik dan nog een Xtal opgeven?

Op 9 juni 2009 18:50:25 schreef Technojunk:
mmm.. Toch een hardware fout dan?
Eens even zoeken.

Je kan blijven gokken of zeggen wat er wel met je display gebeurt.

Zonder uC (en zonder programma) moet je een zwarte balk krijgen, met programma moet het display gewist worden.

Op 9 juni 2009 19:06:56 schreef Technojunk:
Intern kristal door HS_OSC te vervangen door INTOSCIO?
Moet ik dan nog een Xtal opgeven?

Weer aan het gokken? Dat staat in de datasheet.

xtal is voor de compiler. Je kan niet delayms 500 tegen een pic zeggen. Die 500ms moet omgerekend worden in een rits instructies die een vertraging van 500ms moeten opleveren. De compiler heeft dus de xtal freq nodig om de juiste delays te berekenen.

Maar de interne osc heeft een vaste freq, die is niet instelbaar. Het is dus vooraf al bekend welke freq het xtal is, dus die regel is niet nodig.

Of het erg is om het te laten staan weet ik niet. Misschien wordt er niet naar gekeken als er intrc staat, misschien wel. Maar dan zijn alle timings verpest, dus kom je er makkelijk achter.

Op dit moment is zijn alle blokjes lichtgrijs,
na 500mS wordt het 1e blokje zwart.

Soms na een paar keer aan/uit blijft hij gewoon zwart.

e/ LCD werkt (helaas) nog niet op het interne kristal

[Bericht gewijzigd door Technojunk op (17%)]

Als je eens probeert "hoi" oid naar het display te sturen, ipv meerdere regels enzo. Misschien dat daar wat fout gaat.

Bas:
Werkt helaas niet..

Henry:
Display werkt op een 628A perfect..

Nog iemand een suggestie?