grafik lcd ve bacic

Başlatan kemalsa, 22 Nisan 2003, 18:30:02

kemalsa

ya beyler bu grafic lecdiyi beyzik veya daha basit bi şekşlde kunlanma şansımız varmı bilen varsa cevabını bekliyorum  şimdiden herkeze teşekürler

lovely_man

Arkadaşım bilgim kadarıyla basicte grafik LCD kullanmanın oldukça zor olduğunu hatta bunun içinden çıkılmaz bir sorun olduğunu duymuştum.Bunun yerine sana proton yazılımını önerebilirim.Bu iş için biçilmiş kaftan.Kullanınca BAna dua edeceğinden eminim...

picadam

GLCD(grafik LCD) ye basic ile hükmetmek mümkün. proton Plus programinda GLCD ile ilgili komuylar var. fakat sadece bir model GLCD icin olusturulmus bu kodlar. buna dikkat etmelisin. Eger biraz uzerinde calisirsan animasyonlar bile yaptirabilirsin.
İLİM İLİM BİLMEKTİR, İLİM KENDİN BİLMEKTİR.  SEN KENDİNİ BİLMEZSEN BU NİCE OKUMAKTIR!  ** -- ElektroBOARD http://www.elektroboard.com -- ** Güneşi Balçıkla Kimse Sıvayamaz. Bilgi ve Bilgin Paylaştıkça Değer Kazanır.

NecroCapo

Peki bunların fiyatları ne kadar ? Bİr bilginiz var mı ?

MC_Skywalker

Slm;

Bende Graphic LCD ile uzun zamandır boğuşmaktayım. uzun zaman önce PC nin paralel portuna bağlamak iin aldığım www.crystalfontz.com yapımı 160x160 pixel lilk CFAG160160B-YYH-VU üzerinde çalışıyorum. Sanyo LC7981 contolcüsü yaygın olarak kullanılan LCD modellerinde farklı. piyasada genelikle S1D3305 (SED1335) tanablı LCD ler yaygın. zamannında kargo dahil bana 100$ maal olmuştu.






öncelikli olarak karakter gönderimi üzerinde çalışıyorum.

ete

Arkadaşlar,

Grafik LCD ler ile çalışma biraz zahmetli ama imkansız değil. Yalnızca biraz dikkat ve uğraş istiyor. Tabiiki birazda programlama bilgisi.
Bir ara uğraşmıştım. Baktım bazı arkadaşlar zorlanıyorlar, bir örnek kod koyayım buraya dedim. Belki uğraşır ve işi çözersiniz. Genelde önmeli nokatalarda açıklama var. Sorularınız olursa beklerim. Yalnız bayağı eskiden yazdığım bir program ve cevabı vermek zaman alabilir. Hemen cevap vermedi diye beni suçlamayın.

'*****************************************
'*  Name    : MICRO.BAS                  *
'*  Author  : [Erol Erdal]               *
'*  Notice  : Copyright (c) 2003 [ETE]   *
'*          : All Rights Reserved        *
'*  Date    : 17.10.2003                 *
'*  Version : 1.0                        *
'*  Notes   :                            *
'*          :                            *
'*****************************************

TrisD=0
Trisc=0
  
    X       var byte
    y       var byte
    EK      VAR BYTE
    BAS     VAR BYTE
    SON     VAR BYTE
    BIL     VAR BYTE
    INS CON 63
    XAD CON 184'184 SAYISI
    YAD con 64 '64 SAYISI

'ISIS de AMPIRE 128x64 LCD kullanıldı.
'ENABLE Port.C0 da
'R/W Port.C1 de 
'RS (D/I) Port.C2 de
'CS1  Port.C7 Da
'CS2  Port.C6 De 
'Data D0-D7 PortD ye bağlı


BASLA:  EK=3
        PORTC.0=0   'ENABLE 0 YAPILDI
        PORTC.7=0   'CS1 SEÇİLDİ
        PORTC.6=0   'CS2 SEÇİLDİ
        
        PORTC.1=0   'RW LOW YAPILDI YANİ YAZMA MODU
        PORTC.2=0   'D/I BACAĞI LOW YAPILDI YANİ INSTRUCTION
        PORTD=INS   'DİSPLAY ON YAPILDI
        GOSUB ONAY
        
        PORTD=(XAD+0) 'X=0 nolu satırda
        GOSUB ONAY
        PORTD=(YAD+0)'Y=80 NOLU SIRADA
        GOSUB ONAY
 '-------------EKRAN SIFIRLAMA -------------------------------      
        BIL=0:PORTC.2=1
        PORTD=0
        FOR X=0 TO 1
        FOR Y=0 TO 255
        PORTD=0
        GOSUB ONAY
        NEXT Y
        PORTD=(XAD+4):PORTC.2=0:GOSUB ONAY:PORTC.2=1
        NEXT X      
'---------------------------------------------------------------
'-------MICROMEDICAL YAZDIRMA------------------------------------
        
        BIL=0:PORTC.6=1:GOSUB YOL
        FOR X=0 TO 7
'        LOOKUP X,[0,0,128,128,128,128,128,240],PORTD
        LOOKUP X,[158,190,176,176,176,176,190,158],PORTD
        GOSUB ONAY:NEXT X      'L yazıldı
        
        BIL=1:GOSUB YOL
        FOR X=0 TO 7
'        LOOKUP X,[0,0,8,24,36,60,66,66],PORTD
        LOOKUP X,[249,253,205,205,205,253,249],PORTD
        GOSUB ONAY:NEXT X ' A yazıldı ----- AL
        
        BIL=2:GOSUB YOL 
        FOR X=0 TO 7
'        LOOKUP X,[0,0,39,168,168,168,168,39],PORTD
        LOOKUP X,[126,126,96,120,120,96,126,126],PORTD
        GOSUB ONAY:NEXT X  ' IC  yazıldı  ---------ICAL
        
        BIL=3:GOSUB YOL  
        FOR X=0 TO 7
'        LOOKUP X,[0,0,247,132,228,228,132,247],PORTD
        LOOKUP X,[227,231,255,219,195,195,195,195],PORTD
        GOSUB ONAY:NEXT X    'ED yazıldı ---- EDICAL
        
        BIL=4:GOSUB YOL 
        FOR X=0 TO 7
'        LOOKUP X,[0,0,162,182,170,162,162,162],PORTD
        LOOKUP X,[24,60,102,102,102,102,60,24],PORTD
        GOSUB ONAY:NEXT X   'IM YAZILDI -----IMEDICAL
        
        BIL=5:GOSUB YOL  
        FOR X=0 TO 7
'        LOOKUP X,[0,0,247,148,148,228,148,151],PORTD
        LOOKUP X,[190,191,51,63,62,54,179,179],PORTD
        GOSUB ONAY:NEXT X   'RC YAZILDI CI=O OLDU--------ROMEDICAL
        
        BIL=6:GOSUB YOL  
        FOR X=0 TO 7
'        LOOKUP X,[0,0,78,80,80,80,80,78],PORTD
        LOOKUP X,[103,111,108,108,108,108,111,103],PORTD
        GOSUB ONAY:NEXT X    'IC YAZILDI ------ICROMEDICAL
         
        BIL=7:GOSUB YOL  
        FOR X=0 TO 7
'        LOOKUP X,[0,0,17,27,21,17,17,17],PORTD
         LOOKUP X,[227,231,255,219,195,195,195,195],PORTD
        GOSUB ONAY:NEXT X     'M YAZILDI -----MICROMEDICAL
        
        
 '---------ÜST ÇİZGİ ÇİZME --------------------------------------------     
        PORTC.6=0:PORTC.7=1  'CS1 İPTAL EDİLDİ YALNIZCA CS2'yE YAZILACAK
        FOR X=0 TO 1
        PORTC.2=0:PORTD=(XAD+X):GOSUB ONAY
        PORTD=(YAD+0+EK):GOSUB ONAY:PORTC.2=1     
        FOR Y=(0+EK) TO (60+EK)
        PORTD=255
        GOSUB ONAY
        NEXT Y
        NEXT X    
'---------ORTA ÇİZGİ ÇİZME ---------------------------
        FOR X=2 TO 5
        PORTC.2=0:PORTD=(XAD+X):GOSUB ONAY
        PORTD=(YAD+46+EK):GOSUB ONAY:PORTC.2=1
        FOR Y=(0+EK) TO (14+EK)
        PORTD=255
        GOSUB ONAY
        NEXT Y
        NEXT X      
        
 '---------ALT ÇİZGİ ÇİZME --------------------------------------------     
        FOR X=6 TO 7
        PORTC.2=0:PORTD=(XAD+X):GOSUB ONAY
        PORTD=(YAD+0+EK):GOSUB ONAY:PORTC.2=1
        FOR Y=(0+EK) TO (60+EK)
        PORTD=255
        GOSUB ONAY
        NEXT Y
        NEXT X  
            
HAREKET:EK=19        
'------------------ İLERİ -1-----------------------------
       PORTC.6=1:PORTC.7=0  'CS1 SEÇİLDİ        
       BAS=0+EK:SON=44+EK:GOSUB YAZ:PAUSE 700  'HAREKET1
'------------------------------------------------------------------------
'------------İLERİ - 2 --------------------------------------------------    
       BAS=0+EK:SON=14+EK:GOSUB SIL
       PORTC.6=0:PORTC.7=1  'CS2 SEÇİLDİ        
       BAS=0:SON=14:GOSUB YAZ:PAUSE 700
'------------------------------------------------------------------------       
'------------İLERİ - 3 --------------------------------------------------       
       PORTC.6=1:PORTC.7=0  'CS1 SEÇİLDİ  
       BAS=15+EK:SON=29+EK:GOSUB SIL
       PORTC.6=0:PORTC.7=1  'CS2 SEÇİLDİ        
       BAS=15:SON=29:GOSUB YAZ:PAUSE 700
'------------------------------------------------------------------------       
'------------İLERİ - 4 ----------- --------------------------------------       
       PORTC.6=1:PORTC.7=0  'CS1 SEÇİLDİ  
       BAS=30+EK:SON=44+EK:GOSUB SIL
       PORTC.6=0:PORTC.7=1  'CS2 SEÇİLDİ        
       BAS=30:SON=44:GOSUB YAZ:PAUSE 700
'------------------------------------------------------------------------              
'------------İLERİ - 5---------------------------------------------------       
       BAS=0:SON=3:GOSUB SIL:'PORTC.6=0:PORTC.7=1 'CS2 SEÇİLDİ
       BAS=45:SON=48:GOSUB YAZ:PAUSE 700       
'------------------------------------------------------------------------              

'-------GERİ GİDİŞ -1 ----------------------------------------------
       BAS=45:SON=48:GOSUB SIL:'PORTC.6=0:PORTC.7=1 'CS2 SEÇİLDİ
       BAS=0:SON=3:GOSUB YAZ:PAUSE 700 
'---------------------------------------------------------------------

'-------GERİ GİDİŞ -2 ----------------------------------------------
       PORTC.6=1:PORTC.7=0  'CS1 SEÇİLDİ  
       BAS=30+EK:SON=44+EK:GOSUB YAZ
       PORTC.6=0:PORTC.7=1  'CS2 SEÇİLDİ        
       BAS=30:SON=44:GOSUB SIL:PAUSE 700
'---------------------------------------------------------------------

'------------GERİ GİDİŞ - 3 --------------------------------------       
       PORTC.6=1:PORTC.7=0  'CS1 SEÇİLDİ  
       BAS=15+EK:SON=29+EK:GOSUB YAZ
       PORTC.6=0:PORTC.7=1  'CS2 SEÇİLDİ        
       BAS=15:SON=29:GOSUB SIL:PAUSE 700
'---------------------------------------------------------------------
       
'------------GERİ GİDİŞ - 4 --------------------------------------       
       BAS=0:SON=14:GOSUB SIL
       PORTC.6=1:PORTC.7=0  'CS1 SEÇİLDİ        
       BAS=0+EK:SON=14+EK:GOSUB YAZ:PAUSE 700
'--------------------------------------------------------------------- 
        GOTO HAREKET        
       
       END
'--------------------ALT PROGRAMLAR -----------------------------------        
ONAY:
    PORTC.0=1:PAUSEUS 10:PORTC.0=0
    return

YOL:  PORTC.2=0:PORTD=(XAD+BIL):GOSUB ONAY
        PORTD=(YAD+0):GOSUB ONAY:PORTC.2=1   
        RETURN
    
SIL:
        FOR X=3 TO 4
            PORTC.2=0:PORTD=(XAD+X):GOSUB ONAY
            PORTD=(YAD+BAS):GOSUB ONAY:PORTC.2=1
          FOR Y=BAS TO SON
              PORTD=0:GOSUB ONAY
          NEXT Y
        NEXT X
        RETURN

YAZ:
        FOR X=3 TO 4
            PORTC.2=0:PORTD=(XAD+X):GOSUB ONAY
            PORTD=(YAD+BAS):GOSUB ONAY:PORTC.2=1
          FOR Y=BAS TO SON
              PORTD=255:GOSUB ONAY
          NEXT Y
        NEXT X
        RETURN


isteyene isis simulasyon dosyasınıda gönderirim. Gerçi dosyayı kolaylıkla oluşturabilirsiniz. Açıklama program içinde var.

KOlay Gelsin
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

kasif

Dün akşam bu kodlar(tabi biraz oynayarak) ve 18F877A ile 128x64 lük bir GLCD yi çalıştırmayı başarabildim.

Tabi sorunlarım vardı,

Ekran sıfırlama işlemi bende bütün pixellerin aktif olması olarak görünüyor. Bunun için ekran sıfırlama yerine tek tek piksel sıfırlama kullanmak zorundayım.

Birde ilk çalıştırdığımda çalışıyor, yakın zamanlı olarak ikinci defa çalıştıramıyorum. Biraz bekledikten sonra çalışıyor. Bunun sebebini anlayamadım.

picbasic pro ile GLCD imkansız değilmiş, ben öğrendim.

Ama zor bir iş.

hakankurt

Ete hocam'
GLCD ye BMP olarak nasıl basacağımız konusunda örnek çalışmanız var mı ?

Şimdiden Teşekkürler.