LCD Display med PIC
LCD Display med PIC
Jag är helt ny på detta med att programera PIC och elektronik i allmänhet. Jag har nu lyckats styra lite LED dioder. Nu till nästa utmaning. Jag har fått hem ett gäng LCD displayer 16X2 hd44780. Själva kodningen tror jag att jag klarar av (hoppas). Det jag behöver hjälp med nu är hur jag ska koppla själva hårdvaran och vilka övriga komponenter som jag behöver. Jag använder ett breadboard och PIC16F690. Vore oerhört tacksam för all hjälp jag kan få! Är som sagt helt ny på elektronik men vill gärna lära mig.
Mvh Johan
Mvh Johan
- Klas-Kenny
- Inlägg: 11841
- Blev medlem: 17 maj 2010, 19:06:14
- Ort: Växjö/Alvesta
Re: LCD Display med PIC
Forumets Wiki är fullt med braiga saker, som till exempel den här artikeln:
http://www.elektronikforumet.com/wiki/index.php/HD44780

http://www.elektronikforumet.com/wiki/index.php/HD44780

Re: LCD Display med PIC
Tackar! Ska kolla den sidan noggrant. Men behöver nog ännu mer grundlägande hjälp. Typ steg 1. hur får jag den till att lysa?
/Johan
/Johan
-
- Inlägg: 8092
- Blev medlem: 18 januari 2009, 00:48:24
- Ort: Alvesta, Småland
Re: LCD Display med PIC
Genom att koppla in den som på wikin. Eller t ex som google förtäljer på:
https://www.google.se/search?q=pic+lcd+ ... 40&bih=753
https://www.google.se/search?q=pic+lcd+ ... 40&bih=753
Re: LCD Display med PIC
Tackar! Ska försöka i morgon. Är det några fler komponenter jag behöver köpa? Har som sagt nu endast breadboard, display ,PIC samt kablar. Såg att man skulle ha ett vridmotstånd på pinne tre. Är det någon speciell typ? Hur gör man med de pinnar som inte ska användas, låter man dom bara vara som do är?
/johan
/johan
Re: LCD Display med PIC
> Jag har fått hem ett gäng LCD displayer 16X2 hd44780.
En enkel länk till källan är alltid mycket bättre än något annat.
Om du har en "standard temp range" LCD (vanligast) så brukar
det fungera med att bara jorda kontrastpinnen. Med en pot
så kan du dock även justera kontrasten optimalt. Men som
sagt, vi vet ju inte vad det är för LCD du har.
> Hur gör man med de pinnar som inte ska användas, låter man dom bara vara som do är?
Menar du om du t.ex kör "4-pin mode"? Eller vilka oanvända pinnar menar du?
Om det är de 4 oanvända D-pinnarna vid 4-bit mode så lämnar du dom bara
oanslutna, det är konstruerat så. Du ska inte koppla dom någonstans alls.
Se även: http://www.jescab.se/HD44780.html.
Du säger ingenting kring vad du använder till programutvecklingen.
Det kan vara viktigt beroende på vad du har mer för frågor.
> ...hur jag ska koppla själva hårdvaran...
Exakt vad är det du undrar över?
Är det något annat än LCD'n det gäller?
En enkel länk till källan är alltid mycket bättre än något annat.
Om du har en "standard temp range" LCD (vanligast) så brukar
det fungera med att bara jorda kontrastpinnen. Med en pot
så kan du dock även justera kontrasten optimalt. Men som
sagt, vi vet ju inte vad det är för LCD du har.
> Hur gör man med de pinnar som inte ska användas, låter man dom bara vara som do är?
Menar du om du t.ex kör "4-pin mode"? Eller vilka oanvända pinnar menar du?
Om det är de 4 oanvända D-pinnarna vid 4-bit mode så lämnar du dom bara
oanslutna, det är konstruerat så. Du ska inte koppla dom någonstans alls.
Se även: http://www.jescab.se/HD44780.html.
Du säger ingenting kring vad du använder till programutvecklingen.
Det kan vara viktigt beroende på vad du har mer för frågor.
> ...hur jag ska koppla själva hårdvaran...
Exakt vad är det du undrar över?
Är det något annat än LCD'n det gäller?
Re: LCD Display med PIC
Tack så jätte mycket för all hjälp. Ska sätta mig nu och testa lite. Kommer garanterat återkomma under dagen med massor av frågor.
Vet inte exakt vilken modell det är på displayen. Fick dom av en polare.
Det jag skulle behöva hjälp med är en väldigt grundläggande beskrivning på hur allt ska kopplas. Typ pinne 1 till plus. Pinne 3 till gnd osv.
Jag använder mikroc för att skriva programmet.
Det slutgilltiga målet är ett litet styrsystem till en luftsolfångare som jag håller på att bygga. Är som sagt helt ny på elektronik så vägen dit är lång...
Vet inte exakt vilken modell det är på displayen. Fick dom av en polare.
Det jag skulle behöva hjälp med är en väldigt grundläggande beskrivning på hur allt ska kopplas. Typ pinne 1 till plus. Pinne 3 till gnd osv.
Jag använder mikroc för att skriva programmet.
Det slutgilltiga målet är ett litet styrsystem till en luftsolfångare som jag håller på att bygga. Är som sagt helt ny på elektronik så vägen dit är lång...
Re: LCD Display med PIC
Alltså, det står i klartext på wikisidan du länkades till tidigare i tråden. Under rubriken "Förklaring av in-/utångarna" finns det en tabell som är exakt det du frågar om.Det jag skulle behöva hjälp med är en väldigt grundläggande beskrivning på hur allt ska kopplas. Typ pinne 1 till plus. Pinne 3 till gnd osv.
- SeniorLemuren
- Inlägg: 8427
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: LCD Display med PIC
I wikin beskrivs en LCD utan bakgrundsbelysning (14 pinnar). Om du har en LCD med 16 pinnar kan du se på första figuren i länken från danielr112 hur du får bakgrundsbelysningen att lysa.
- SeniorLemuren
- Inlägg: 8427
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: LCD Display med PIC
Han menar nog precis som jag, kontakttungorna på LCD:n. Jag brukar alltid löda fast en stiftlist på LCD:n för att lätt kunna ansluta den till motsvarande hylslist på mina mönsterkort, så för mig blir det pinnar per automatik. 

Re: LCD Display med PIC
Nja, det kan vara pinne 1 på processorn eller pinne 1 på LCD'n
eller pinne 1 på något helt annat. Aja, det blir väl lite
mer konkret så ger det sig säkert...
eller pinne 1 på något helt annat. Aja, det blir väl lite
mer konkret så ger det sig säkert...

Re: LCD Display med PIC
Sorry för mina dåliga förklaringar. Har inte koll på terminologin än. När jag skrev pinne 1 menade jag gnd på displayen.
Displayen har 16 pinnar. Har nu kommit så långt att jag lyckats få bakgrundsbelysningen att fungera haha.
Men när jag kopplar de övriga sladdarna är det tvär dött.
Har kopplat på följande sätt. Är förmodligen massor av fel.
Gnd - gnd
Vcc - +5
Vee-gnd
Rs-Rc0
RW-Rc1
E-Rc2
D0,1,2,3-Gnd
D4-Rc3
D5-Rc6
D6-RC7
D7-RB5
Skriver koden i MikroC och har simulerat i proteus. Där fungerar det. Ska försöka posta koden i morgon.
Displayen har 16 pinnar. Har nu kommit så långt att jag lyckats få bakgrundsbelysningen att fungera haha.
Men när jag kopplar de övriga sladdarna är det tvär dött.
Har kopplat på följande sätt. Är förmodligen massor av fel.
Gnd - gnd
Vcc - +5
Vee-gnd
Rs-Rc0
RW-Rc1
E-Rc2
D0,1,2,3-Gnd
D4-Rc3
D5-Rc6
D6-RC7
D7-RB5
Skriver koden i MikroC och har simulerat i proteus. Där fungerar det. Ska försöka posta koden i morgon.
Re: LCD Display med PIC
Nu har det skett vissa framsteg. Kopplade bort D0,1,2,3 helt. Samt kopplade RW till Gnd. Har då fått den till att lysa. Men visar bara konstiga tecken och inte det jag skrev. Testade att koppla ett vridmotstånd till Vee men löste inte problemet. Någon som har förslag på vad jag kan testa?
Re: LCD Display med PIC
> Kopplade bort D0,1,2,3 helt.
Som jag skrev tidigare:
> Om det är de 4 oanvända D-pinnarna vid 4-bit mode så lämnar du dom bara
> oanslutna, det är konstruerat så. Du ska inte koppla dom någonstans alls.
Det fungerar ofta ändå, speciellt om man har RW kopplad til GND, men
det är som sagt konstruerat för att de ska vara oanslutna.
> Samt kopplade RW till Gnd.
Ja, det är normalt/vanligt. Man behöver sällan läsa från LCD'n.
> Men visar bara konstiga tecken och inte det jag skrev.
Säger inte så mycket. Vi behöver veta vad (du tror) du skrev
och också vad "konstiga tecken" betyder. Det kan ge viktiga
ledtrådar om vad som gått fel. Om man t.ex råkar förväxla två D-linjer
så kommer man sannolikt att få en del "konstiga tecken".
> Testade att koppla ett vridmotstånd till Vee men löste inte problemet.
Om du har en OK kontrast så ska det bli en blank rad och en rad med
helt fylda fyrkanter efter att LCD'n har kört sin självtest. D.v.s utan att
man försöker skriva något till den. Efter en OK init från processorn blir
hela LCD'n blank/tom, d.v.s innan man skriver något till den.
De där "konstiga tecknen", kommer det i samband med att ditt program
försöker skriva något ?
Ett sätt att felsöka är att helt enkelt köra riktigt långsamt. En LCD har
inge undre gräns för hur långsamt man kan köra. Det gör det lite
enklare att se vad som händer.
Och som sagt, koden kan ge en del ledtrådar till det hela. T.ex om du
kör LCD rutinerna som finns i mikroc's bibliotek eller har egna LCD rutiner.
Och du ska så klart köra de speciella rutinerna för 4-bit mode, det brukar
finnas seprata rutiner för 8- resp 4-bit mode.
Som jag skrev tidigare:
> Om det är de 4 oanvända D-pinnarna vid 4-bit mode så lämnar du dom bara
> oanslutna, det är konstruerat så. Du ska inte koppla dom någonstans alls.
Det fungerar ofta ändå, speciellt om man har RW kopplad til GND, men
det är som sagt konstruerat för att de ska vara oanslutna.
> Samt kopplade RW till Gnd.
Ja, det är normalt/vanligt. Man behöver sällan läsa från LCD'n.
> Men visar bara konstiga tecken och inte det jag skrev.
Säger inte så mycket. Vi behöver veta vad (du tror) du skrev
och också vad "konstiga tecken" betyder. Det kan ge viktiga
ledtrådar om vad som gått fel. Om man t.ex råkar förväxla två D-linjer
så kommer man sannolikt att få en del "konstiga tecken".

> Testade att koppla ett vridmotstånd till Vee men löste inte problemet.
Om du har en OK kontrast så ska det bli en blank rad och en rad med
helt fylda fyrkanter efter att LCD'n har kört sin självtest. D.v.s utan att
man försöker skriva något till den. Efter en OK init från processorn blir
hela LCD'n blank/tom, d.v.s innan man skriver något till den.
De där "konstiga tecknen", kommer det i samband med att ditt program
försöker skriva något ?
Ett sätt att felsöka är att helt enkelt köra riktigt långsamt. En LCD har
inge undre gräns för hur långsamt man kan köra. Det gör det lite
enklare att se vad som händer.
Och som sagt, koden kan ge en del ledtrådar till det hela. T.ex om du
kör LCD rutinerna som finns i mikroc's bibliotek eller har egna LCD rutiner.
Och du ska så klart köra de speciella rutinerna för 4-bit mode, det brukar
finnas seprata rutiner för 8- resp 4-bit mode.