Jag har testat flera exmepel på internet, kollat igenom databladen och skrivit kod själv men jag har inte lyckats skriva ut text på min LCD (16x2, standard Hitatchi kontroller), initieringen går (förmodligen) utmärkt men sedan faller allt.
Om någon har lyckats att få det hela att fungera så skulle jag bli jätte glad om den kunde posta lite kod + schema.
Har inte provat med just 16F84, men hade själv problem att då det att fungera med 16F877. Felet visade sig vara den hårdvarumässiga kontrastinställningen, så det är det tips jag kan ge. Kontrollera spänningen som styr kontrasten.
$tiff:
1) nix, kör med asm.
2)Nej jag har sök på google och testat olika koder (med schema så klart) jag har hittat (som var skrivna för 16x2 LCD och PIC16F84), har inte direkt provat någon tutorial.
3) Antar det
4) Nej jag använder RB[7:2] + RA[2], RB[7:3] + RA[2]
Kommer ihåg när vi skulle koppla en pic16f84 till en LCD nästan alla grupper hade problem med initieringen väntade inte tillräcligt länge och så. Så kolla alla tider om dom är rätt.
nej det blir inte samma tecken varje gång, ibland är det mellanslag mellan varje tecken (som oftast är en 0:a) och ibland finns inte tecknen med i uppsättningen.
Används E och R/W i rätt ordning - enligt databladet? Håller du dom stabila i de rekommenderade tiderna? Ligger data stablit innan E & R/W? Är spänningen stabil under drift?
Har du testat att slöa ner *all* kod?
...som någon ovan nämnde, kolla timingen en gång till.
nepp, C fungerade inte heller... om någon har något tips på någon fungerande kod och schema så vore det väldigt trevlig och få en länk eller motsvarande någon gång snart eller om ni vet hur man kollar att en LCD verkligen fungerar.
Seven11 skrev:om någon har något tips på någon fungerande kod och schema så vore det väldigt trevlig
Jag har kört alfanumeriska LCD's av olika märken och storlekar - både 'portkopplat' och minnesmappat - med en massa 8051 derivat. Alltid 8-bitars koppling dock. Kod i C.
De enda problem som någonsin har dykt upp har varit timing eller avvikande initieringsrutiner.