Hallo Diha!
Ja, manchmal geht das mir den Antworten auch etwas schneller.
Laut deinem letztem Snapshot sehen die FUSES in Ordnung aus.
Systemtakt und JTAG sind richtig eingestellt.
Kannst du zu testzwecken den Systemtakt mal 1MHz intern stellen?
Das Display ist ziemlich "empfindlich" und ich habe es meistens mit 1MHz intern, oder 4MHz extern getestet.
Da der Kontrast deinen Angaben nach funktioniert, hast du den SMD-NE555 inklusive SMD-Kondensatoren auch richtig eingelötet. Damit scheidet diese Fehlerquelle wohl auch aus.
Wenn nun noch alles richtig verdrahtet ist und keine Leitung einen "heimlichen" Bruch hat, dann bleibt nur noch die Software.
Dann müssen wir uns die mal anschauen.
Ich stelle deinen Code von oben hier mal direkt sichtbar ein.
So kann man sich besser darüber unterhalten.
Dein Programmcode:
CodeBox bascom
'I used a Staver to test
$regfile = "m16def.dat"
$crystal = 4000000
'$baud = 115000
'--------------------------------------------------------------------
' SED1520.BAS
' demonstrates the SED1520 based graphical display support
'--------------------------------------------------------------------
'some routines to control the display are in the glcdSED.lib file
'IMPORTANT : since the SED1520 uses 2 chips, the columns are split into 2 of 60.
'This means that data after column 60 will not print correct. You need to locate the data on the second halve
'For example when you want to display a line of text that is more then 8 chars long, (8x8=64) , byte 8 will not draw correctly
'Frankly i find the KS0108 displays a much better choice.
$lib "glcdSED1520.lbx"
'First we define that we use a graphic LCD
'Config Graphlcd = 120 * 64sed , Dataport = Porta , Controlport = Portd , Ce = 5 , Ce2 = 7 , Cd = 3 , Rd = 4
Config Graphlcd = 120 * 64sed , Dataport = Portc , Controlport = Portd , Ce = 5 , Ce2 = 6 , Cd = 3 , Rd = 4
Config Porta.0 = Output
'The dataport is the portname that is connected to the data lines of the LCD
'The controlport is the portname which pins are used to control the lcd
'CE =CS Chip Enable/ Chip select
'CE2= Chip select / chip enable of chip 2
'CD=A0 Data direction
'RD=Read
'Dim variables (y not used)
Dim X As Byte , Y As Byte
Do
Glcdcmd &H3E , 1 : Glcdcmd &H3E , 2 ' both displays off
Cls
Wait 1
Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2 'both on
Set Porta.0
Waitms 250
Reset Porta.0
Waitms 250
'clear the screen
Cls
Wait 2
'specify the font we want to use
Setfont Font8x8
'You can use locate but the columns have a range from 1-132
'When you want to show somthing on the LCD, use the LDAT command
'Lcdat Y , Col , Value
Lcdat 1 , 1 , "1231231"
Lcdat 3 , 80 , "11"
'lcdat accepts an additional param for inversing the text
'Lcdat 1 , 1 , "123" , 1 ' will inverse the text
'Wait 2
'Line(0 , 0) -(30 , 30) , 1
'Wait 2
'Showpic 0 , 0 , Plaatje 'show a comnpressed picture
Loop
End 'end program
'we need to include the font files
$include "font8x8.font"
$include "font16x16.font"
'Plaatje:
'include the picture data
'$bgf "smile.bgf"
Ich muss mir den Code aber auch noch mal in Ruhe ansehen und mich in die Thematik mit dem speziellen Display wieder reindenken.
Grüße,
Cassio