LCD kopplad till Pic 16F84A
Jag har det kopplad som bilden
http://www.haksberg.net/fredrik/lcd.bmp
Men den kod Bengt-re har skrivit vet jag inte om den stämmer för jag har inte hittat något output kommando som heter LCDWRITE.
Min kode ser ut så här:
DEFINE OSC 4
Define LCD_LINES 4
Pause 1000
looP:
LCDOUT $FE, 1
LCDOUT $FE, $80, "Eriak"
LCDOUT "Hello"
PORTB.0 = 1
Pause 1000
PORTB.0 = 0
LCDOUT $FE, $C0, "WORLD"
LCDOUT $FE, $94, "hej"
LCDOUT $FE, $D4, "Kalle"
PAUSE 5000
Goto looP
Så nu kan ni se både hur jag har kopplat och hur min kod ser ut.
Hoppas någon som är mer kunnig än mig kan hjälpa mig för jag vet inte vad jag har gjort för fel.
//Fredrik
http://www.haksberg.net/fredrik/lcd.bmp
Men den kod Bengt-re har skrivit vet jag inte om den stämmer för jag har inte hittat något output kommando som heter LCDWRITE.
Min kode ser ut så här:
DEFINE OSC 4
Define LCD_LINES 4
Pause 1000
looP:
LCDOUT $FE, 1
LCDOUT $FE, $80, "Eriak"
LCDOUT "Hello"
PORTB.0 = 1
Pause 1000
PORTB.0 = 0
LCDOUT $FE, $C0, "WORLD"
LCDOUT $FE, $94, "hej"
LCDOUT $FE, $D4, "Kalle"
PAUSE 5000
Goto looP
Så nu kan ni se både hur jag har kopplat och hur min kod ser ut.
Hoppas någon som är mer kunnig än mig kan hjälpa mig för jag vet inte vad jag har gjort för fel.
//Fredrik
Jag tycker din kod bör fungera.. Men jag har tyckt fel förut..
Dock kanske det är smartare att börja i en liten skala med tex enbart LCDOUT $FE, 1, Hello och inte någon loop.
Tror "define" ska stå med stora bokstäver också.. Även om det kanske inte spelar någon roll. Men testa.
Händer det inget alls med displayen?
Dock kanske det är smartare att börja i en liten skala med tex enbart LCDOUT $FE, 1, Hello och inte någon loop.
Tror "define" ska stå med stora bokstäver också.. Även om det kanske inte spelar någon roll. Men testa.
Händer det inget alls med displayen?
Hej. Detta är mitt första inlägg så jag hoppas att det går att läsa.
Här är en länk som jag tror kan vara användbar. Testa zip-filen längst ner på sidan. Är visserligen en 16c84 men funkar lika bra på en 16f84a.
http://home.iae.nl/users/pouweha/lcd/lc ... IC_example
Här är en länk som jag tror kan vara användbar. Testa zip-filen längst ner på sidan. Är visserligen en 16c84 men funkar lika bra på en 16f84a.
http://home.iae.nl/users/pouweha/lcd/lc ... IC_example
Tack för länken tyvärr var den inte till så stor hjälp i och med att jag inte kan assebmbler.
Och ni som pratar om hurvida dEfInE ska vara med små eller stor bokstäver så kan jag berätta att mitt program som jag kodar i gör automatisk om det till stora bokstäver.
Kanske man helt enkelt måste lära sig assembler för att få det här att funka!
Och ni som pratar om hurvida dEfInE ska vara med små eller stor bokstäver så kan jag berätta att mitt program som jag kodar i gör automatisk om det till stora bokstäver.

Kanske man helt enkelt måste lära sig assembler för att få det här att funka!
Vill du bara testa om displayen fungerar så behöver du bara bränna över hex-filen till picen. Funkade på min 16x2 och jag hade ingen erfarenhet av assembler. Spelar ingen roll om displayen är 16x2 eller 20x4, bara den är HD44780 kompatibel
http://home.iae.nl/users/pouweha/lcd/zips/lcd-pic.zip
http://home.iae.nl/users/pouweha/lcd/zips/lcd-pic.zip
Testa att skriva DEFINE med stora bokstäver i alla fall, programmet kanske bara kapitaliserar alla tecken men egentligen är dem inte det, om man testar att kopiera nånting som MicroCode studio har gjort om till stora bokstäver så kopierar man det man har skrivit. Kan hända att det är så vid kompileringen också, att tecknen är som man har skrivit in dem...