Problem med LCD och PicBasic

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Malm
Inlägg: 215
Blev medlem: 22 februari 2004, 12:55:06
Ort: Borås

Problem med LCD och PicBasic

Inlägg av Malm »

Försöker skriva ut lite text på en HD44780-display med hjälp av en PIC och PicBasic, men det vill sig inte riktigt. Det konstiga är att alla kommandon som flyttar markören fungerar perfekt, medan den helt vägrar ta emot någon text.

Jag har kopplat enligt schemat i PBP-manualen (http://www.melabs.com/resources/pbpmanu ... Image7.gif).

Någon som känner igen problemet och vet vad som kan vara fel?
matseng
Inlägg: 2360
Blev medlem: 16 september 2003, 17:18:13
Ort: Dubai, United Arab Emirates
Kontakt:

Inlägg av matseng »

Kolla att pinne 4 (RS) på displayen är rätt ansluten. Det är den pinnen som styr om det man skickar till displayen ska vara text eller cursorhantering.
Malm
Inlägg: 215
Blev medlem: 22 februari 2004, 12:55:06
Ort: Borås

Inlägg av Malm »

Nu har jag dubbelkollat alla anslutningar och jag är helt säker på att det är rätt kopplat. Upptäckte en annan konstig sak när jag testkörde. Ibland så ballar det ur och displayen initieras inte på rätt sätt. PIC:en slänger ut till synes slumpmässiga tecken på den (bland annat utropstecken och nollor lite här och var). Ofta fungerar det dock och då står markören där och väntar fint på att få skriva :) Första "teckenrutan" är dock alltid svart...

Några fler idéer?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Timing ? Vissa kommandon till LCD'er behöver lite tid på sig.

Förresten, kör du en F84A ??

Kan du visa ett kort "test case" som visar problemet ?

Vad är det för display ?

> Ibland så ballar det ur...

När är "ibland" ?

> och displayen initieras inte på rätt sätt.

Kan hända om man inte väntar på LCD'ns självtest innan man försöker
köra från PIC'en (efter spänningspåslag, alltså). 1-2 sek borde räcka.
Malm
Inlägg: 215
Blev medlem: 22 februari 2004, 12:55:06
Ort: Borås

Inlägg av Malm »

Jag använder mig av PicBasic så timingen sköter inte jag. Det enda jag vet att jag behöver göra är att vänta en halv sekund efter start för att LCD:n ska initieras. Använder en 16F88 och en 2x16-LCD.

Jag har gjort lite nya försök och det fungerar mycket bra att exempelvis ställa in markörer och att hoppa mellan rader. Så länge jag enbart kör markörinstruktioner så funkar allt perfekt, men så fort jag försöker skriva ut text rensas displayen helt. Verkar ju som att det är något med RS-pinnen trots allt...

EDIT: Fick det hela att fungera. Bytte pinne på PIC:en för RS-anslutningen. Gissningsvis var den inställd som analog ingång eller något annat tjafs :P Stort tack för hjälpen.

PS. Sodjan: Wispen funkar nästan för bra för övrigt ;)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Om du hade sagt att du använde F88 och att du hade kopplat
enligt schemat, så hade du direkt kunnat få reda på att du måste
ställa om pinnarna till digial I/O...

Och det är inget "tjafs", det står hur tydligt som helst i beskrivningen
av PORTA i databladet...

> Wispen funkar nästan för bra för övrigt

Hur är det dom säger, "Don't tell me, tell your friends !" :-) :-)
Användarvisningsbild
PacMan
Inlägg: 94
Blev medlem: 3 oktober 2005, 16:12:24
Kontakt:

Inlägg av PacMan »

Jag har labbat lite med PIC16F628A, en display och shareware-versionen av PICBasic och jag kan bekräfta att man i alla fall inte behöver tänka på timing. Det var riktigt enkelt även för mig som nybörjare att få ut text på displayen.
SM7WDG
Inlägg: 1
Blev medlem: 21 januari 2006, 15:04:43

Inlägg av SM7WDG »

Bara Ett tips är att ha följande rader med i "Början" på programmet.
dvs det skall inte ingå i nån loop eller dylikt.

ANSEL=0
CMCON=7

Då slipper du skifta på portar och dylikt.
Lite beroende på vad du skall använda din lösning till .
men läs gärna lite om dessa 2 raderna på nätet eller i manual (Lite tunt där)

// Freddy
Skriv svar