So habe den Fehler gefunden, laut gefundenem Datenblatt war Pin19+20 nicht angeschlossen, jedoch ist das die Hintergrundbeleuchtung
Nun stehe ich aber vor dem nächsten Problem, die Ansteuerung. Ich habe nun etliche Codes ausprobiert und modifiziert jedoch bleibt mein LCD leer.
Irgendwie habe ich das Gefühl, das der uC die Schleife nicht durchläuft. Ich habe das mal simple getesetet indem ich die Hintergrundbeleuchtung beim Start EIN / AUS schalten lassen wollte, jedoch schaltet er nur EIN und geht dann nicht weiter.
Hier mal mein Quelltext:
Code:
'-----------------------------------------------------------------------------------------
' Info: Programm für KS108 kompatibles LCD mit AT-MEGA168
' Autor: Thilo Sauer DL9NBJ
' Homepage: www.darc-coburg.de
'-----------------------------------------------------------------------------------------
$regfile = "m128def.dat"
$baud = 9600
Config Portd.7 = Output 'LCD Hintergrundbeleuchtung
Licht Alias Portd.7 'Hintergrundbeleuchtung
Aus Alias 1
Ein Alias 0
Licht = Aus
Declare Sub Blinken 'Unterprogramm
$lib "glcdKS108.lib" 'Bibliothek für LCD
'$include "smallfont8x8.font" ' nur Zahlen
$include "font8x8.font" ' kleine Schrift
'$include "font8x8TT.font"
$include "font16x16.font"
Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Porta , Ce = 6 , Ce2 = 7 , Rd = 4 , Reset = 2 , Cd = 3 , Enable = 5
'*** INFO ***
'CE =CS1 Chip select
'CE2=CS2 Chip select second chip
'CD=Data/instruction
'RD=Read
'RESET = reset
'ENABLE= Chip Enable
Dim X As Integer
Do
Licht = Ein
Waitms 300
Licht = Aus
Waitms 300
Licht = Ein
'*** TEXT ***
Cls
Setfont Font16x16
Lcdat 1 , 1 , "PG12864A" , 1
Setfont Font8x8
Lcdat 4 , 1 , "Graphic LCD"
Wait 1
Lcdat 5 , 1 , "128x64 Pixel"
Wait 1
Lcdat 6 , 1 , "KS108 Controller"
Wait 1
Lcdat 8 , 1 , "+Ub = 5 VOLT "
Wait 3
Gosub Blinken
'*** Linie ***
Cls
Wait 1
Line(0 , 0) -(127 , 0) , 1
Line(127 , 0) -(127 , 63) , 1
Line(127 , 63) -(0 , 63) , 1
Line(0 , 63) -(0 , 0) , 1
Line(0 , 0) -(127 , 63) , 1
Line(0 , 63) -(127 , 0) , 1
Wait 2
Gosub Blinken
'*** Kreis ***
Cls
Circle(63 , 31) , 30 , 1
Wait 2
Gosub Blinken
Loop
' Unterprogramm
Sub Blinken
For X = 0 To 3
Licht = Aus
Waitms 200
Licht = Ein
Waitms 200
Next X
X = 0
End Sub
End
Den Reset Port habe ich nicht am uC liegen (geht direkt über einen R an V+), jedoch steht er mit in der Definition. Ist das ein Problem? Denn sobald ich ihn herausnehme gibt es Fehler beim compilen.
Als Dataport ist Port C angegeben, aber es werden niergens die einzelnen Ports DB4-DB7 definiert, muss man das nicht? In meinem Fall wäre das nämlich PortC.4 = DB4 usw.
Lesezeichen