Beste co'ers,

Vanwege mijn probleem met de 16f874A waar ik nog op aan het zoeken bent dacht ik met de 16f877A te werken omdat deze veel gebuikt wordt, de bedoeling is om een spanning te meten. Maar als ik het programma in de pic stak kwam er niks op het lcd scherm. Dus ik maak een simpel test progje en zelfs dat doet het niet, enkel de BOVENSTE LIJN is volledig zwart, sluit ik iets verkeerd aan ???, ik doe het zoals op picbasic :
RS-B3
EN-B2
DB4-B4
DB5-B5
DB6-B6
DB7-B7

Ik heb de draden al meermaals gecontroleerd en een nieuw lcd scherm aangesloten maar niks blijkt te helpen, steeds hetzelfde probleem.
Dit is het programma:

Device 16F877A
DelayMS 500
Cls
Print "PIC Basic cursus"
End

moet je geen rs-lijnen enzo definen? anders weet dat programma niet aan welke pinnen het hangt natuurlijk :P

Ik probeer nu dit maar nog werkt het niet:

Device 16F877A
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.1
Declare LCD_LINES 2
Declare LCD_RSPIN PORTB.2
Declare LCD_INTERFACE 4

DelayMS 500
Cls
Print "PIC Basic cursus"
End

EN ik sluit het dan ook zo aan, is het dan toch een bekabelingsfout?

Wat voor LCD gebruik je?
2x16 of 2x8 of wat anders.
en
Draai eens aan de contrast potmeter.

2x16 karakters
en als ik aan de contrastregeling draai wordt enkel de bovenste lijn zwart dus ik zie wel reactie.

IK gebruik wel geen extern krstal maar kan dat het zijn?

[Bericht gewijzigd door Herman R. op ]

En je read/write? Waar hangt die aan?

Op 3 mei 2006 06:50:34 schreef ruben herman:
IK gebruik wel geen extern krstal maar kan dat het zijn?

Geen extern kristal op een 877A, welke oscillator mode gebruik je dan wel?

De R/W die hangt aan massa. Zoals op picbasic.
Ik heb niks speciaal gedeclareerd voor de klok, neemt deze dan niet standaard de interne klok?

ja hoor, neemt standaart de interne klok. ;)
van 0hz.:+ (zit geen interne klok in:))

je zal echt even een kristal eraan moeten hangen. of een andere externe klok.

edit: heb ff de datasheet gepakt. je kan als externe klok kiezen uit:

low power kristal (lp_osc)
standaard kristal/resonator (xt_osc)
snel kristal (hs_osc (moet bij xtallen boven 4mhz)
weerstand/ condensator (rc_osc)

dan moet je dus in de config instructie in picbasic, opgeven dat je een kristal gebruikt met b.v.:
config hs_osc

ook is het handig om dingen als mclr_on, mclr_off, debug_on, debug_off, por_on, por off etc ook ff in de config line te zetten, dan hoef je dat niet meer in te stellen in icprog/winpic/welk proggerprog je ook gebruikt

kijk ook ff in de helpfunctie van picbasic bij config.

en in de datasheet van de 877a op blz 145-146

[Bericht gewijzigd door Lucky Luke op ]

@Lucky luke, alvast bedankt voor je waardevolle info.
Maar als je nu INTRC_OSC_NOCLKOUT schrijft, werkt dat dan niet?

Op 3 mei 2006 19:35:12 schreef ruben herman:
Maar als je nu INTRC_OSC_NOCLKOUT schrijft, werkt dat dan niet?

Die bestaat niet op een 877(A). Als je compiler/assembler dat accepteert is dat slordig.

Ja wel maar ik heb het nog niet geprobeerd ik dacht maar even luidop als beginner maar dan moet ik eerst nog om een kristal want die die ik liggen heb zijn nogal rare waarden.

Dus het gebrek aan een oscilator zou dus het probleem kunnen zijn voor de lcd? Of kan ik buiten de fuses nog dingen misdoen (die ik zeker moet weten?).

[Bericht gewijzigd door Herman R. op ]

Zolang er geen kristal op die pic is aangesloten gebeurt er helemaal niets, er moet gewoon een kristal op en het maakt niet uit wat voor een en welke snelheid hij heeft.

Als je de fuses goed heb ingesteld en het het lcd en kristal goed zijn aangesloten moet het werken.

Bedankt,

Maar als ik een kristal van 6,666 Mhz aansluit kan ik heb dat toch niet zeggen je kan toch maar een beperkt aantal frequenties gebruiken in picbasic (kheb de pro)

Ow ik begin het te snappen dat gaat idd wel, beetje traag zo laat :)

Morgen eens proberen, op hoop van zegen.

[Bericht gewijzigd door Herman R. op ]

Op 3 mei 2006 23:24:43 schreef ruben herman:
Maar als ik een kristal van 6,666 Mhz aansluit kan ik heb dat toch niet zeggen je kan toch maar een beperkt aantal frequenties gebruiken in picbasic (kheb de pro)

Stel dan in op 10 MHz en XT OSC. Dan gaat alles wat langzamer, maar het LCD moet dan wel werken.

Op 4 mei 2006 08:20:16 schreef Wouter van Ooijen:
[...]

Stel dan in op 10 MHz en XT OSC. Dan gaat alles wat langzamer, maar het LCD moet dan wel werken.

bij picbasic pro kan je dan toch gewoon xtal = 6,66 neerzetten? (iig was er een commando om je kristalfreq. mee op te geven. of dat ook werkt met dit soort waardes weet ik niet...)

moest alles boven de 4 mhz trouwens niet hs_osc zijn? dacht ik hoor...

Op 3 mei 2006 23:15:19 schreef Switching Power:
Zolang er geen kristal op die pic is aangesloten gebeurt er helemaal niets, er moet gewoon een kristal op en het maakt niet uit wat voor een en welke snelheid hij heeft.

Als je de fuses goed heb ingesteld en het het lcd en kristal goed zijn aangesloten moet het werken.

uhm, boven de 20 mhz zou ik toch niet doen hoor...

Op 4 mei 2006 19:03:42 schreef Lucky luke:
uhm, boven de 20 mhz zou ik toch niet doen hoor...

Ik heb er een op 25 MHz lopen omdat het anders te langzaam gaat terwijl hij maar tot 20 kan, doet het al een half jaar zonder probleem :)

Op 4 mei 2006 19:03:42 schreef Lucky luke:
moest alles boven de 4 mhz trouwens niet hs_osc zijn? dacht ik hoor...

woeps, je hebt helemaal gelijk. HS dus.

Op 4 mei 2006 19:15:15 schreef Switching Power:
[...]
Ik heb er een op 25 MHz lopen omdat het anders te langzaam gaat terwijl hij maar tot 20 kan, doet het al een half jaar zonder probleem :)

ik zou het toch niet op hogere freq's proberen.
hoewel. als test...

nee, toch maar niet...

Alvast bedankt!!!
Het werkt, het was idd het kristal.
Het enige dat me nog niet helemaal duidelijk is zijn de betekenissen van de fuse settings, daar moet ik me nog wat in verdiepen.
Maar die voldoening ahhh :)

Op 4 mei 2006 23:02:58 schreef ruben herman:
Alvast bedankt!!!
Het werkt, het was idd het kristal.
Het enige dat me nog niet helemaal duidelijk is zijn de betekenissen van de fuse settings, daar moet ik me nog wat in verdiepen.
Maar die voldoening ahhh :)

ja, die fuses zijn niet echt leuk... waarschijnlijk ook de reden dat mijn eerste progsels de mist in gingen (in asm)
zou nu mischien eens moeten kijken of ik asm kan nu ik weet hoe die fuses moeten... maar ach, basic werkt veel lekkerder en tot nu toe heb ik genoeg codegeheugen over

edit: moet je ff in poicbasic bij config kijken, en in de datasheet van pic in kwestie, en in de mid range MCU manual die in die datasheet genoemd word

[Bericht gewijzigd door Lucky Luke op ]