Sida 1 av 1
Problem med LCD och PicBasic
Postat: 25 januari 2006, 16:11:31
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?
Postat: 25 januari 2006, 16:18:13
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.
Postat: 25 januari 2006, 22:56:10
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?
Postat: 25 januari 2006, 23:09:42
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.
Postat: 25 januari 2006, 23:15:04
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

Stort tack för hjälpen.
PS. Sodjan: Wispen funkar nästan för bra för övrigt

Postat: 25 januari 2006, 23:27:11
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 !"

Postat: 27 januari 2006, 17:54:58
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.
Postat: 28 januari 2006, 08:42:57
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