avatar_elektro77

winstar glcd sorunu

Başlatan elektro77, 19 Kasım 2016, 21:37:45

elektro77

Bu kodlarla 128x64 Ks0108 glcd simülasyonda çalışıyor. Fakat gerçekte winstar NT7108 çipli WG12864B GLCD kullanıyorum. Ancak çalışmıyor tabi.
Aşağıdaki kodlarda nasıl bir değişikliğe gidersem bu glcd yi kullanabilirim?


Device = 16F877
Config XT_OSC,WDT_OFF,PWRTE_ON,BODEN_ON,LVP_OFF,DEBUG_OFF,CP_ALL 
Xtal = 4
Include "modedefs.bas"
TRISA=%00000001
PORTA=0
TRISB=0
TRISC=0
TRISD=%00000100
TRISE=0
PORTD=0
All_Digital= TRUE                  'ADC PORTLARININ TAMAMI DİJİTAL GİRİŞ VEYA ÇIKIŞ
LCD_DTPort = PORTB                 'GLCD DATA PORTLARI PORTB'YE BAĞLI
LCD_RSPin = PORTC.5                'GLCD RS PİNİ PORTC.5 BAĞLI
LCD_ENPin = PORTC.1                'GLCD ENABLE PİNİ PORTC.1 BAĞLI
LCD_RWPin = PORTC.4                'GLCD RW PİNİ PORTC.4 BAĞLI
LCD_CS1Pin = PORTC.2               'GLCD CS1 PİNİ PORTC.2 BAĞLI
LCD_CS2Pin = PORTC.3               'GLCD CS2 PİNİ PORTC.3 BAĞLI
LCD_Type =  GRAPHIC                'GLCD TİPİ GRAFİK KS0108 128*64B WİNSTAR
Internal_Font = On                 
Font_Addr = 0
GLCD_EXTERNAL_PRINT = PPRINT
Cls
DelayMS 500          
Dim  Xpos    As Byte
Dim  Ypos    As Byte
Dim  Addr    As Word
Dim  char    As Byte
BASLA:
For Ypos = 0 To 7
         For Xpos = 0 To 127

             Addr = (Ypos*128)+Xpos
             char = CRead a+Addr
             LCDWrite Ypos,Xpos,[char]
         Next
     Next
DelayMS 100
   GoTo BASLA
Include  "a.inc"
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

Hattuşa

#1
bu benim WG12864A ya göre yazılmış ve kendi font dosyam ile kullandığım kod.
Declare All_Digital TRUE
Declare LCD_DTPort =PORTD
Declare LCD_ENPin =PORTC.0
Declare LCD_RWPin =PORTC.1
Declare LCD_RSPin =PORTC.2
Declare LCD_CS1Pin =PORTB.0
Declare LCD_CS2Pin =PORTB.1
Declare LCD_Type = Graphic
Declare Internal_Font =On               
Declare Font_Addr =0
Declare GLCD_CS_Invert =On
Declare GLCD_EXTERNAL_PRINT =PPRINT
Declare GLCD_Strobe_Delay 100
Cls
DelayMS 300


sizin ekranda ne gözüküyor?
ekran bağlantınız aşağıdaki şekle göre mi bağlı? glcd uygulamalarında isis sizi yanıltmasın, isisde çalışan gerçekte çalışmayabilir. yada isisde düzgün çalışmayan gerçekte çalışabilir.
GLCD ile işlemci bağlantınız aşağıdaki şekle göre mi?


birde
Declare GLCD_CS_Invert =kısmı on yada OFF olarak değiştirerek deneyin. gerçi bu durum WG12864A serisilerinde oluyor da B serisi küçük ekranlarda pek olmuyor diye biliyorum. birde GLCD nin 3.pini contras pinidir 18. pinde -5V olmalı ve oradan bir dirençle 3.pine bağlayıp aynı şekilde GND veya +5v tanda bir trimpotun bir ucunu 3,pine bağlayarak ekran contrasını yapmalısınız. ekranınız mavi ise 19. ve 20. pinlerle arka ışığı yakmazsanız yazıları tam göremeyebilirisiniz.
son olarak GLCD nin 14,pini (RST) direk +5v a bağlamalısınız

elektro77

Bağlantıları bu şekilde yapınca çalıştı teşekkür ederim size. Çok makbule geçti.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

Powered by EzPortal