Forum: Mikrocontroller und Digitale Elektronik Powertip PG12864 tut nichts


von Christian (Gast)


Lesenswert?

Hallo,

nachdem ich letztens erfolgreich ein Text-Display mit 4 Zeilen a 27 
Zeichen angesteuert habe, wollte ich mich nun an einem Grafik LCD 
versuchen und habe dabei das Powertip PG12864 in der Bucht ersteigert.

Jedoch bekomme ich das Display nicht dazu, irgendwas anzuzeigen, selbst 
die Hintergrundbeleuchtung habe ich nur ans laufen gekriegt, als ich 
noch nicht alle Pinne des Displays angeschlossen habe. Jetzt scheint da 
irgendeine Sperre drin zu sein, muss man die vielleicht erst über einen 
Befehl einschalten?

Jedenfalls fehlen mir nun die Init Routinen, oder macht das das Display 
selbst?
Ich habe zwar schon die anderen Themen zu diesem Display durchgeguckt, 
aber nie wirklich was passendes gefunden.

Bis jetzt habe ich also nur den Grundaufbau des Programms:
1
.include "m8def.inc"
2
3
.def temp = r16
4
.def param = r17
5
6
.equ LCD_DP = PORTD    ;LCD Data Port
7
.equ LCD_DPD = DDRD    ;LCD Data Port Direction
8
9
.equ LCD_CP = PORTC    ;LCD Control Port
10
.equ LCD_CPD = DDRC    ;LCD Control Port Direction
11
12
.equ LCD_RS = PORTC0  ;LCD Register Select Pin
13
.equ LCD_RW = PORTC2  ;LCD Read/Write Pin
14
.equ LCD_EN = PORTC1  ;LCD Enable Pin
15
.equ LCD_CS1 = PORTC3  ;LCD Chip Select 1 Pin
16
.equ LCD_CS2 = PORTC4  ;LCD Chip Select 2 Pin
17
.equ LCD_RE = PORTC5  ;LCD Reset Pin
18
19
.org 0x000
20
  rjmp reset
21
22
23
24
reset:
25
26
    ldi temp, HIGH(RAMEND)
27
    out SPH, temp
28
    ldi temp, LOW(RAMEND)
29
    out SPL, temp
30
31
    ldi temp, 0xFF
32
    out LCD_DPD, temp    ;LCD Display Port als Ausgang setzen
33
34
    ldi temp, 0x00
35
    out LCD_DP, temp
36
37
    ldi temp, 0xFF
38
    out LCD_CPD, temp    ;LCD Control Port als Ausgang setzen
39
40
    ldi temp, 0x00
41
    out LCD_DP, temp
42
43
    nop
44
    nop
45
    nop
46
47
    ldi temp, 0b00111111
48
    out LCD_DP, temp
49
50
    ldi temp, (1<<LCD_RE) | (1<<LCD_EN) | (1<<LCD_CS1) | (1<<LCD_CS2)
51
    out LCD_CP, temp
52
    nop
53
    nop
54
    nop
55
    ldi temp, 0x00
56
    out LCD_CP, temp
57
58
59
loop:
60
61
62
    rjmp loop

von spess53 (Gast)


Lesenswert?

Hi

>Jedenfalls fehlen mir nun die Init Routinen,

Ja.

>oder macht das das Display selbst?

Nein.

Es gibt fast 10 verschiedene PG12864. Versuche erst mal den Typ des 
Displays und möglichst den Controllertyp zu idendifizieren.

Siehe auch hier:

Beitrag "PG12864 initialisieren"

MfG Spess

von Christian (Gast)


Lesenswert?

Scheint ein PG12864A zu sein, hier mal der Ebay-Link

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=270591963945&ssPageName=STRK:MEWNX:IT

Allerdings steht da auch "PG12864LRM-ANN-L"

von spess53 (Gast)


Lesenswert?

Hi

>Scheint ein PG12864A zu sein, hier mal der Ebay-Link

Was für ICs sind auf der Rückseite?

MfG Spess

von Christian (Gast)


Lesenswert?

Hm das ist etwas schlecht nachzugucken, weil ich das Display schon auf 
eine Lochrasterplatine aufgelötet und verkabelt habe und ich sonst 20 
Pinne wieder ablöten müsste.

Auf dem Ebay Foto kann man das leider nicht ganz genau erkennen, man 
erkennt jedoch 3 Samsung Chips deren Bezeichnung wohl mit S630... 
beginnt.

von spess53 (Gast)


Lesenswert?

Hi

>wohl mit S630...

Eher S6B0... . Damit dürfte als Controller ein S6B0108/KS0108 drauf 
sein.
Dafür sollte sich Software finden lassen. Selbstschreiben ist auch keine 
Hürde. Der Controller ist recht überschaubar.

MfG Spess

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.