Fel tecken på OLED

Lysdioder, Optiska sensorer, Fiberoptik, Displayer, Lasrar, Optiska kopplare
Michel
Inlägg: 436
Blev medlem: 3 februari 2004, 18:08:04
Ort: Stockholm

Inlägg av Michel »

Men helt klart så kunde man få kontrollern i displayen att bli lite groggy
Med en icke fullgod / för snabb initiering / kommunikation kan man få dom mest underliga saker att hända.

Som t.ex. att halva displayen fungerar korrekt men inte den andra halvan.

Sen beror det på vilken tillverkare som har gjort chippet.
Vissa är *väldigt* slöa.
Chrille
Inlägg: 523
Blev medlem: 24 september 2003, 23:54:12
Ort: Torekov
Kontakt:

Inlägg av Chrille »

mullemeck skrev:Har du lyckats få igång den i 4bits läge?

Mina försök med det gick inte alls, vet inte om det är mina kopplingar eller om min lcd inte gillade det...


du skulle ju kunna testa koppla in alla 8 bitarna och testa om det funkar bättre isåfall..
Ja jag kör den på fyra bits läge nu.

Har funderat lite på att koppla in alla åtta men då får jag knappt några I/O ben över eller finns det något smidigt sätt att få tillgång till några fler I/O ben på en PIC utan att byta till en annan PIC?
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Beroende på vad du ska ha benen till så kan det gå att använda de flesta LCD-pinnarna till annat också... t.ex. knappar.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> Chrille

Man kan ju använda latchar, encoders och allt vad det heter för att expandera antalet utgångar, men då är det i de flesta fall lättare att byta till en större PIC.
Chrille
Inlägg: 523
Blev medlem: 24 september 2003, 23:54:12
Ort: Torekov
Kontakt:

Inlägg av Chrille »

Ok då kanske jag ska prova det för det brukar inte fungera när jag ska prova någon ny PIC så det känns som det blir mindre problem att prova med en latch.


Nu har jag deklarerat alla benen så inte standardbenen är några andra, skrev så här i koden och har kopplat som på bilden ovan men det blir fortfarande samma fel.

'Set LCD Data port
DEFINE LCD_DREG PORTA
'Set starting Data BIT (0 OR 4) IF 4-BIT bus
DEFINE LCD_DBIT 0
'Set LCD Register Select port
DEFINE LCD_RSREG PORTA
'Set LCD Register Select BIT
DEFINE LCD_RSBIT 4
'Set LCD Enable port
DEFINE LCD_EREG PORTB
'Set LCD Enable BIT
DEFINE LCD_EBIT 3
'Set LCD bus size (4 OR 8 bits)
DEFINE LCD_BITS 4
'Set number of lines ON LCD
DEFINE LCD_LINES 2
'Set command delay time in us
DEFINE LCD_COMMANDUS 2000
'Set Data delay time in us
DEFINE LCD_DATAUS 50
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Det ser rätt ut...

Prova att öka "LCD_dataus" till exempelvis 100

Du har väl pulldown på LCDns R/W-pinne? (ja, det har du om du kopplat enligt schemat)

Vad är det för LCD du använder?
Senast redigerad av $tiff 29 april 2004, 18:22:58, redigerad totalt 1 gång.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Missa inte pause 1000( en cekund) innan du startar programmet, det behöver displayen för starta, efter define...
Användarvisningsbild
EagleSpirit
Inlägg: 1288
Blev medlem: 27 maj 2003, 23:15:48
Ort: Västerås
Kontakt:

Inlägg av EagleSpirit »

har inte orkat läsa igenom tråden men jag vet att 628 och de lite "bättre" kretsarna har specialfunktioner på pinnarna som måste stängas av. Iaf RA pinnarna. CMCON måste vara 0 eller hur det var, kommer dock inte ihåg vilket register den låg i. Återkommer med det. Jag hade en jävla massa problem att få igång grejjerna när jag inte visste det eftersom de inte kunde bli utgångar :P
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> EagleSpirit

På 628 är det bara A5 som endast kan vara input. Alla andra pinnar kan ha de vanliga I/O-egenskaperna.
PICBasic fixar nog registerna så att alla pinnar blir vanliga I/O så länge man inte anger annat. Det förutsätter förstås att man väljer rätt alternativ vid programmeringen också.
Chrille
Inlägg: 523
Blev medlem: 24 september 2003, 23:54:12
Ort: Torekov
Kontakt:

Inlägg av Chrille »

>$tiff
Har provat att ändra "LCD_dataus" fram och tillbaka mellan alla möjliga värden men det verkar inte hjälpa.

Yepp jag har pulldown på R/W pinnen.

Jag använder Fractronics OLED.

>tusse
Jag har lagt in en paus på en sekund.
Koden ser ut så här nu:

Kod: Markera allt


'Set LCD Data port
DEFINE LCD_DREG PORTA
'Set starting Data BIT (0 OR 4) IF 4-BIT bus
DEFINE LCD_DBIT 0
'Set LCD Register Select port
DEFINE LCD_RSREG PORTA
'Set LCD Register Select BIT
DEFINE LCD_RSBIT 4
'Set LCD Enable port
DEFINE LCD_EREG PORTB
'Set LCD Enable BIT
DEFINE LCD_EBIT 3
'Set LCD bus size (4 OR 8 bits)
DEFINE LCD_BITS 4
'Set number of lines ON LCD
DEFINE LCD_LINES 2
'Set command delay time in us
DEFINE LCD_COMMANDUS 2000
'Set Data delay time in us
DEFINE LCD_DATAUS 100
 
Pause 1000

	LCDOut $FE,1

	LCDOut $FE, $80 , "abcdefghijklmno"

End
Michel
Inlägg: 436
Blev medlem: 3 februari 2004, 18:08:04
Ort: Stockholm

Inlägg av Michel »

Om du inte gör det redan (inte enligt schemat ovan) så testa med att även styra R/~W.

D.v.s. en korrekt skrivcykel består av E (aktiv) - <RS> - <DATA> - R/~W (aktiv) - R/~W (inaktiv) - E (inaktiv).

Vissa drivkretsar verkar går på den låga nivån - andra går på den uppåtgående flanken - på R/~W. Jag har stött på båda delarna.
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Prova med:
LCDOut $FE,1,"abcd"
LCDOut $FE,$14"efgh"

Jag kan inte finna LCDOut $FE,$80 som du skrev.

Här är en kopia från manualen.

$FE, 1
Clear display
$FE, 2
Return home (beginning of first line)
$FE, $0C
Cursor off
$FE, $0E
Underline cursor on
$FE, $0F
Blinking cursor on
$FE, $10
Move cursor left one position
$FE, $14
Move cursor right one position
$FE, $C0
Move cursor to beginning of second line
$FE, $94
Move cursor to beginning of third line
$FE, $D4
Move cursor to beginning of fourth line
Chrille
Inlägg: 523
Blev medlem: 24 september 2003, 23:54:12
Ort: Torekov
Kontakt:

Inlägg av Chrille »

Tyvärr så hjälpte det inte.
Ser ut så här på LCD:n:
"abc6 eVfv"


När jag kollar i manualen ser det ut så här, kollade i pdf manualen för Picbasic Pro:
Command Operation
$FE, 1 Clear display
$FE, 2 Return home
$FE, $0C Cursor off
$FE, $0E Underline cursor on
$FE, $0F Blinking cursor on
$FE, $10 Move cursor left one position
$FE, $14 Move cursor right one position
$FE, $80 Move cursor to beginning of first line
$FE, $C0 Move cursor to beginning of second line
$FE, $94 Move cursor to beginning of third line
$FE, $D4 Move cursor to beginning of fourth line
Användarvisningsbild
tusse
Inlägg: 1364
Blev medlem: 19 augusti 2003, 21:56:17
Ort: Järfälla

Inlägg av tusse »

Kolla databit D6 D7 så att du inte fått en kortis mellan dom, kolla dom andra också.

Tusse
Chrille
Inlägg: 523
Blev medlem: 24 september 2003, 23:54:12
Ort: Torekov
Kontakt:

Inlägg av Chrille »

Har kollat och där är ingen kortslutning.
Skriv svar