pbp grafik lcd`yi destekliyormu

Başlatan mmavis, 10 Haziran 2004, 11:24:51

mmavis

merhaba arkadaslar;

pbp`nun grafik lcd icin hazir komutlari var mi. yoksa asm yazar gibi azab
mi cekecegiz.  


tum dostlara kolay gelsin.

sezgin05

Aşağıdaki linkte MHK'nın bir dosyası var bir incele işini görür herhalde

http://groups.yahoo.com/group/PicProjeUP/files/MHK/

axanc

sezgin05, o proje sanırım farklı bir dille yapılmıştı...

kanımca olay şu:

PicBasicPro <> PicBasicPlus farkı varmış?...
Uzmanlık: Bilgisayar Müh. öğrenci Derleyici: PicBasic Pro Compiler Ver. 2.45 Program: Proteus 6.2.5 ve MCSP

ete

Arkadaşlar,

Pic Basic Pro Garik LCD yi direkt olarak desteklemiyor. Bunun için özel komutları yok. Ancak yinede program yazmak çok zor değil. Ben yazdım ve isteyene örnek gönderebilirim veya bir yere Isis dosyası ile upload edebilirim.
ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

axanc

ben öğrenmek isterim... nasıl?... ama bence örnek kodu buraya yaz da forumdaki herkes faydalansın..
Uzmanlık: Bilgisayar Müh. öğrenci Derleyici: PicBasic Pro Compiler Ver. 2.45 Program: Proteus 6.2.5 ve MCSP

ete

Yaptığım Proje bir arkadaşıma lazım idi. Kodu aşağıda veriyorum. Isis te bağlantı için gerekli bacaklar program içinde verilmiştir.
Başlangıçta bende çok zorlandım. Ancak LCD datasheet lerini iyice okuyunca işi biraz kavradım sonuçta bunu yaptım. Anlaşılmayan hususlar için cevaplarınızı bekliyorum.

ETE

'*****************************************
'*  Name    : MICRO.BAS                  *
'*  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
        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
        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
        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
        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
        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
        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
        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
        GOSUB ONAY:NEXT X     'M YAZILDI -----MICROMEDICAL
        
 '---------ÜST ÇİZGİ ÇİZME ------------------------------     
        PORTC.6=0:PORTC.7=1  'CS1 İPTAL EDİLDİ, 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
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

axanc

dostum şu kodları
kodları "code tag"leri içinde verir misin? 
bu şekliyle anlamak biraz zor... 

önceki mesajının sağ üstünde bulunan "edit" seçeneğini kullanarak o mesajının üzerinde değişiklik yapabilirsin...
Uzmanlık: Bilgisayar Müh. öğrenci Derleyici: PicBasic Pro Compiler Ver. 2.45 Program: Proteus 6.2.5 ve MCSP

mmavis

Arkadaşlar soruyu ben sordum ama yeni dönebildim. bilgileriniz çok işimi yaradı herhese çok tesekkür ediyorum.