Futurlec 16x2 och ATMega8
Futurlec 16x2 och ATMega8
Jag håller på att trixa med min 16X2 LCD-display från futurlec. Det finns inte så mycket data om den, kolla här http://www.futurlec.com/LED/LCD16x2BL.shtml. Jag antar att den är hitachi-kompatibel. Jag har hämtat C-kod härifrån http://homepage.sunrise.ch/mysunrise/pe ... ibrary.zip.
Jag har kopplat:
pin1 = GND till GND
pin2 = VDD till +5v
pin3 = Vo till 10K till gnd
pin4 = RS till PD4
pin5 = RW till PD5
pin6 = E till PD6
pin7-pin10 = DATA0-DATA3 Ej inkopplade
pin11 = DATA4 till PD0
pin12 = DATA5 till PD1
pin13 = DATA6 till PD2
pin14 = DATA7 till PD3
Jag har satt XTAL-definen i lcd.h till 1000000 (1Mhz är väl standard på ATmega8L-8PI ?) Jag har provat olika inställningar på LCD_START_LINE. Följande händer:
typ nästan inget....
Det blinkar till lite dots när man resettar AVR-en. Inget mer... jag har quadrupel-kollat alla kopplingar. Har ni några ideer om vad det kan va? Har ni någon fungerande kod jag kan få prova?
Jag har kopplat:
pin1 = GND till GND
pin2 = VDD till +5v
pin3 = Vo till 10K till gnd
pin4 = RS till PD4
pin5 = RW till PD5
pin6 = E till PD6
pin7-pin10 = DATA0-DATA3 Ej inkopplade
pin11 = DATA4 till PD0
pin12 = DATA5 till PD1
pin13 = DATA6 till PD2
pin14 = DATA7 till PD3
Jag har satt XTAL-definen i lcd.h till 1000000 (1Mhz är väl standard på ATmega8L-8PI ?) Jag har provat olika inställningar på LCD_START_LINE. Följande händer:
typ nästan inget....
Det blinkar till lite dots när man resettar AVR-en. Inget mer... jag har quadrupel-kollat alla kopplingar. Har ni några ideer om vad det kan va? Har ni någon fungerande kod jag kan få prova?
Ibland krävs det att man jordar de ej anslutna ingångarna (kanske via motstånd, om man använder dubbelriktad kommunikation)
Edit:
Du kan behöva koppla in en pot till kontrasten (pin3?), så du kan justera den. Innan displayen är initierad brukar typ halva displayen vara mörk den andra ljus, är den det behöver du nog ingen pot)
Edit:
Du kan behöva koppla in en pot till kontrasten (pin3?), så du kan justera den. Innan displayen är initierad brukar typ halva displayen vara mörk den andra ljus, är den det behöver du nog ingen pot)
De svarta rutorna ska försvinna efter korrekt initiering, gör de det?
Här kan du simulera en LCD bit för bit: http://www.geocities.com/dinceraydin/dj ... cdsim.html
Edit:
Stavning + länk
Här kan du simulera en LCD bit för bit: http://www.geocities.com/dinceraydin/dj ... cdsim.html
Edit:
Stavning + länk
Har mailat Peter Fleury lite fram och tillbaka. Fick svar nu,
Hi Simon,
Your display is NOT compatible to a HD44780 controller:
The Busy Flag is always bit 7, therefore only bit 0..6 can be used for address counter.
But your datasheet says, address couter is in the ranage 80..CF.
How should I detect the Busy Flag, when bit 7 is always 1 ?
HD44780 compatible displays only use bits 0..6 for address counter.
Regards
Peter
Det börjar bli dags att koda eget känns det som...
Hi Simon,
Your display is NOT compatible to a HD44780 controller:
The Busy Flag is always bit 7, therefore only bit 0..6 can be used for address counter.
But your datasheet says, address couter is in the ranage 80..CF.
How should I detect the Busy Flag, when bit 7 is always 1 ?
HD44780 compatible displays only use bits 0..6 for address counter.
Regards
Peter
Det börjar bli dags att koda eget känns det som...
Ok, jag fortsätter svara mig själv. Jag fick lite exempelkod från futurlec.
men har lite svårt att tyda den. ÅT vilket håll skall det binära talet läsas från i denna kod? blir det 0x30 eller 0x0C ?
men har lite svårt att tyda den. ÅT vilket håll skall det binära talet läsas från i denna kod? blir det 0x30 eller 0x0C ?
Kod: Markera allt
ser temp
out DDR_LCD,temp
ldi temp,0b00110000
out PORT_LCD,temp