ik heb een schakelingetje gemaakt met de pic 16F84 maar deze wil niet werken ik heb hem geprogrammeert met jal.. als ik er spanning op zet wordt het scherm warm en zie ik alleen maar zo nu en dan twee vertikale streepjes in het begin van het beeld... is dit een programmeerfout of niet?? ik heb hem al een keer overnieuw aangesloten maar misschien is er wel iets fout met hoe ik 'm aansluit

Ik zou voor de grap eens de code posten ;)

En het schema zou ook niet verkeerd zijn!!

[Bericht gewijzigd door Atmoz op ]

Hey feit dat je scherm warm wordt, doet mij sterk vermoeden dat je je scherm verkeerd heb aangesloten.
Ik weet niet hoe groot je scherm is, maar als de aansturing fout gaat, blijft het scherm in zijn ongeïnitialiseerde staat, wat je kan zien aan balken op het scherm.
Bij een 1x16 zijn dan de eerst 8 velden zwart, bij 2x20 de bovenste regel en bij 4x20 de bovenste en de 3de regel. Dit is vooral te zien als je het contrast iets opdraait.

Maar zoals Atmoz zegt, post even hoe je je scherm hebt aangesloten.

Ik heb hem aangesloten zoals jal dat aangeeft in het library van pinouts ik zit nu op school dus ik heb dat zo niet bij de hand maar ik zal kijken dat ik het morgen ff kan posten.. kzal gelijk de code erbij kan doen

Alvast bedankt!

ik ben niet bekent met jal, maar ik ben bang dat je een fout in de voeding/contrast regeling hebt zitten.
Ik heb zelf inmiddels een stuk of 4 hd47780 lcd's aangesloten, en heb ook weleens een scherm gehad dat heet werd. Meestal had ik dan een draadje van de voeding fout zitten, check dat dus.

er zijn twee mode beschikbaar op de hd447804 een 4 en een 8 bis mode.

in de handleiding (woord doc) staat een verwijzing naar hd44780p waarin de pin aansluitingen voor bijde mode beschreven staan.

Door dit aan te passen kan gekozen worden tussen bijde.

ik dacht het gedeelde dat je niet gebruikt als commetaar met -- aan geven dus kies je voor 4 bit mode markeer je 8 bit mode of andersom.

Hier het proggie simpel om het uit te testen!

include 16f84_10
include jlib
include hd447808

pin_a2_direction = output
pin_a2 = high

forever loop
hd44780_clear

hd44780 = "H"
hd44780 = "e"
hd44780 = "l"
hd44780 = "l"
hd44780 = "o"
hd44780 = " "
hd44780 = "W"
hd44780 = "o"
hd44780 = "r"
hd44780 = "l"
hd44780 = "d"

delay_1S(1)
pin_a2 = low
delay_1S(1)
pin_a2 = high
delay_1S(1)
pin_a2 = low
delay_1S(1)
pin_a2 = high

hd44780_clear
hd44780 = "B"
hd44780 = "Y"
hd44780 = "E"
hd44780 = " "
hd44780 = "W"
hd44780 = "O"
hd44780 = "R"
hd44780 = "L"
hd44780 = "D"

delay_1S(1)
pin_a2 = low
delay_1S(1)
pin_a2 = high
delay_1S(1)
pin_a2 = low
delay_1S(1)
pin_a2 = high
Delay_1s(1)

hd44780_clear
hd44780 = "3"
Delay_1s(1)
hd44780_clear
hd44780 = "2"
Delay_1s(1)
hd44780_clear
hd44780 = "1"
Delay_1s(1)
hd44780_clear
hd44780 = "E"
hd44780 = "N"
hd44780 = "D"
hd44780 = " "
hd44780 = "P"
hd44780 = "R"
hd44780 = "O"
hd44780 = "G"
hd44780 = "R"
hd44780 = "A"
hd44780 = "M"
delay_1S(1)
pin_a2 = low
delay_1S(1)
pin_a2 = high
delay_1S(1)
pin_a2 = low
delay_1S(1)
pin_a2 = high

end loop

Dan volgt de pinouts nog!
Pic HD 44870

-- 5 Gnd 1 Gnd
-- 14 Vcc 2 Vcc
-- 5 Gnd 3 Contrast
-- 17 A0 4 RS D/I_
-- 5 Gnd 5 R/W_
-- 18 A1 6 E
-- 6 B0 7 D1
-- 7 B1 8 D2
-- 8 B2 9 D3
-- 9 B3 10 D4
-- 10 B4 11 D4
-- 11 B4 12 D5
-- 12 B6 13 D6 (2k2 series resistor for ISP!)
-- 13 B7 14 D7 (2k2 series resistor for ISP!)

Kzal die voeding ff checken!

Je hebt 2 punten waar ik mijn vraag tekens bij heb in de aansluiting van je scherm.
Punt 1: pin 3 van je lcd moet niet aan de massa hangen, maar via een spannings deler worden aangesloten. Hiermee regel je namelijk je contrast, en zoals het nu zit, zal je nooit wat op je scherm zien. Contrast staat namelijk minimaal nu. Gebruikelijk is om een 10kOhm instelpotje te nemen, met 1 pin op de +5volt, de andere aan de massa en de sleper verbonden aan pin 3.
Punt 2: pin 5 van je lcd. Ik weet niet meer precies hoe deze werkt, maar je selecteerd hiermee of de data pinnen van je scherm data ontvangen of juist zenden (je kan de huidige info op het scherm ook weer uitlezen). Ik geloof wel dat een 0-input daar het scherm in ontvangen forceerd.

laatste puntje, ik neem aan dat je Vcc 5 volt is. Is die hoger, dan zul je waarschijnlijk een nieuw scherm mogen kopen.

suc6

vanzelfsprekend is de spannning 5V anders zou mijn microcontroller er ook door zijn. Ik heb ook de achtergrondverlichting zoals je waarschijnlijk kunt zien in mijn proggie geschakeld via pin A2 deze gaat netjes aan en uit dus microcontroller doet het (denk ik dan) nog goed..

Van dat contrast vond ik ook al raar maar ik dacht ze zullen het wel weten ?? niet duz, kan het wel zijn dat hij hierdoor warm wordt?? of niet.

Over die r/w pin ik heb wel eens vaker gelezen dat deze niet perse aangesloten hoeft te worden. maar misschien zou die aan de plus moeten met een R ertussen??

Ik begrijp dat je backlight knippert met een frequentie van 1 keer per seconde tussen de momenten dat je tekst zou moeten verschijnen?
Ik heb niet echt veel ervaring met microcontrollers, dus op dat gebied kan ik je niet helpen, maar als je de contrast regeling aanpast, zoals ik beschreef, en je zet met die spanningsdeler 5 volt op je scherm (maximaal contrast), dan moet hij (bijna) helemaal zwart worden. Als je dan langzaam je contrast terugdraait, moet je op een gegeven moment balken zien verschijnen, zoals ik beschreef in mijn eerste post.
Als je dan data naar je scherm stuurd, moeten die balken verdwijnen. Als dat gebeurt, dan is je scherm in ieder geval goed aangesloten.
Wat betreft pin 5 op je scherm, ik kan op het moment geen datasheet meer vinden van een hd47780 scherm, dus ik weet niet echt meer hoe pin 5 werkt... Maar om je scherm goed te kunnen laten werken, moet je hem zeker niet laten zweven, maar of aan de GND verbinden (als 0 de write state set) of aan de +5 volt.

Ik zit net wat aansluitschema's te bekijken voor een serieel aangesloten lcd, waarbij er alleen data naar het scherm gestuurd kan worden, en daar wordt idd pin 5 aan de massa gehangen. Het scherm zou dus verder moeten werken.

OK dan zal ik het eens goed gaan bekijken wat ik fout heb gedaan bedankt!!!