glcd yardım

Başlatan styx75, 08 Nisan 2014, 18:19:13

styx75

selam arkadaşlar..
proton ile program yazmaya bugün başladım..basit birkaç led yak/sön falan yaptıkdan sonra hazırda buldugum bir glcd programını kopyala yapıştır yaptım ama derleme hatası veriyor ..kodları ekledim
Device = 16F877A
Xtal = 4
LCD_DTPort = PORTD
LCD_RSPin = PORTC.1
LCD_ENPin = PORTE.0
LCD_RWPin = PORTC.0
LCD_CS1Pin = PORTE.1
LCD_CS2Pin = PORTE.2
LCD_Type = GRAPHIC
Internal_Font = On
Font_Addr = 0
Dim Xpos As Byte
Dim Ypos As Byte
DelayMS 400
Cls
Print "Graphic LCD Test"
Again:
For Xpos = 0 To 63
Ypos = Sin Xpos
Plot Xpos , Ypos
DelayMS 10
Next
For Xpos = 0 To 63
Ypos = Sin Xpos
UnPlot Xpos , Ypos
DelayMS 10
Next
GoTo Again
Include "FONT.INC"


aldıgım hatalar
"protected keywords used by the compiler preprocessor or assmebler and cannot be used at this postion"

Maxim

tanımlamaların başına declare yazmalısın
şöyle

Device = 16F877A
Declare Xtal = 4

Declare LCD_DTPort = PORTD
Declare LCD_RSPin = PORTC.1
Declare LCD_ENPin = PORTE.0
Declare LCD_RWPin = PORTC.0
Declare LCD_CS1Pin = PORTE.1
Declare LCD_CS2Pin = PORTE.2
Declare LCD_Type = GRAPHIC
Declare Internal_Font = On
Declare Font_Addr = 0

ayrıca sin komutu ve float sayı tanımı 18F serisi işlemciler içindir diye uyarı çıkıyor

unutmadan
kodun başında config ayarlarını yapmamışsın

styx75

teşekkür ederim cevabınız için..

Maxim

neden yeni başlık açıyorsunuz?
buradan devam ediniz

styx75

aşağıdaki glcd çalışmasını ne breadbroad üzerinde nede isisde birtürlü çalıştıramadım bütün pixeller yanıyor..yardımlarınızı rica ediyorum
Device = 16F877A           '
@ CONFIG_REQ 
@ __config CP_ALL & CPD_ON & WDT_OFF & HS_OSC & PWRTE_OFF & BODEN_OFF & WRT_1FOURTH & LVP_OFF & DEBUG_OFF
Xtal = 4                      
All_Digital= TRUE        
Declare LCD_DTPort = PORTD     
Declare LCD_RSPin = PORTB.4
Declare LCD_ENPin = PORTB.6
Declare LCD_RWPin = PORTB.5
Declare LCD_CS1Pin = PORTB.2
Declare LCD_CS2Pin = PORTB.3
Declare LCD_Type =  GRAPHIC      
Declare Internal_Font = On                 
Declare Font_Addr = 0	
Cls 
DelayMS 500                               
BASLA:
Print At 0,4,"BILGI"                      
DelayMS 1000
Print At 1,1,"PAYLAS"
DelayMS 1000

End
Include "font.inc"




Maxim

isis dosyasını vermelisin
baştan çizmek istemem şimdi

styx75


burdan yükleyemedim ama sizin e-postanıza attmım
saygılar

Maxim

kod ve çizim hatalı
doğru çizimi mail attım

Device = 16F877A
Declare Xtal = 4                    
Config FOSC_XT, WDTE_OFF, PWRTE_ON, BOREN_ON, LVP_OFF, CPD_OFF, WRT_OFF, DEBUG_OFF, CP_OFF
Declare All_Digital= TRUE        

Declare LCD_DTPort = PORTD     
Declare LCD_RSPin = PORTB.4
Declare LCD_ENPin = PORTB.6
Declare LCD_RWPin = PORTB.5
Declare LCD_CS1Pin = PORTB.2
Declare LCD_CS2Pin = PORTB.3
Declare LCD_Type =  GRAPHIC

'Declare GLCD_STROBE_DELAY = 1
'Declare GLCD_CS_INVERT = On
      
Declare Internal_Font = On                 
Declare Font_Addr = 0	
Cls 
DelayMS 500                               

BASLA:
Print At 1,1,"BILGI"                      
DelayMS 1000
Print At 2,1,"PAYLAS"
DelayMS 1000
End

Include "font.inc"

styx75

#8
hocam mealiniz gelmedi sizden ricam
ozanstyx@hotmail.com
bu adrese gönderirmisiniz

mesaj birleştirme:: 10 Nisan 2014, 06:17:06

hocam iletinizi aldım çok teşekkür ederim..
şimdi yeni kodlara göre derledim ve isisde çalıştı,breadbroda kuracagım bakalım nasıl olacak,
ayrıca 'Declare GLCD_STROBE_DELAY = 1  'Declare GLCD_CS_INVERT = On  bu kodların önünde tırnak işareti var pbp da bu derlenmez acaba burdaki durum farklımı ve isis çiziminde vcc  gnd ve v0 boştamı bırakmak gerekiyordu budurmu pek anlamadım yardımcı olusanız sevinirim..ve sizin kodlarınız neden renkli  :)

Maxim

#9
Alıntı yapılan: styx75 - 09 Nisan 2014, 15:46:18
hocam mealiniz gelmedi sizden ricam
ozanstyx@hotmail.com
bu adrese gönderirmisiniz

mesaj birleştirme:: 10 Nisan 2014, 06:17:06

hocam iletinizi aldım çok teşekkür ederim..
şimdi yeni kodlara göre derledim ve isisde çalıştı,breadbroda kuracagım bakalım nasıl olacak,
ayrıca 'Declare GLCD_STROBE_DELAY = 1  'Declare GLCD_CS_INVERT = On  bu kodların önünde tırnak işareti var pbp da bu derlenmez acaba burdaki durum farklımı ve isis çiziminde vcc  gnd ve v0 boştamı bırakmak gerekiyordu budurmu pek anlamadım yardımcı olusanız sevinirim..ve sizin kodlarınız neden renkli  :)

öncelikle php yani picbasic ile değil proton plus ile çalışıyorsun onu fark etmen lazım.

diğer bir hususta proteusta devre çizmeyi öğrenmen lazım acil olarak
çizdiğin devredeki yollar yol gibi değildi nasıl çizdin anlamadım bende.
o yüzden kodun sağlam olsa bile çalışmazdı.

proteusta pic veya benzer ürünlerde artı-eksi ana beslemeler bağlamasan bile çalışır
bunlar programın kendi içinde bağlı gibidir.
mesela pic işlemciye kristal bağlamak zorunda değilsin
yada lcd ekrana artı-eksi vermek zorunda değilsin
veya lcd ekrana kontrass trimpotu takmak zorunda değilsin.
bağlarsan hiç birşey değişmez gereksiz.
bunları gerçek devrede takmak zorundasın.


tırnak işaretli yerler ileride sana lazım olacak
strobe delay: eğer işlemcini 20mhz hızında çalıştırırsan onu kullanman gerekecek
invert komutu: gerçek devreni kurunca ekranda yazıların karıştığını göreceksin ve bu satırı kullanman gerekecek.

*forumda benim kodlar neden renkli çıktı bilmiyorum

edit:
yazım hatası

styx75

maxim hocam devreyi aşağıdaki gibi kurdum ve Declare GLCD_CS_Invert = On komutunu aktif ettiğim zaman glcd görüntüsü resimdeki gibi,bu komutu kapattıgım zaman ise bütün pixeller aktif ,sorunu bulmadım. ayrıca glcd   pvg120602,,


Maxim

invert on olarak kalsın
Declare GLCD_STROBE_DELAY = 10 satırını eklermisin

styx75

malesef olmadı
ama işlemciyi 18f4520 olarak değiştirdiğim zaman gayet güzel çalıştı..yolun başındayım sıkıştıkca başınızı ağrıtacağım  ::)

Maxim

ama işte bu yanlış :)
detayları öğrenmek için devrenin neden 16F877 de çalışmadığını bulman lazım.

styx75

hocam haklısınız tamamen bunda 18f4520 hevesim suçulu  ::)..
ayrıca forumda bulduklarım ve anlayabildigim kadarı ile glcd font creator ile bir deneme yaptım ama olmadı sorun bakalım şaşırdınmı,şaşırmadım  :-[
Device = 18F4520
Declare Xtal=20    

Declare All_Digital= TRUE 
INTCON=%10001000       
TRISA=%00000001    
TRISB=%11101111 
TRISC=%00000000
TRISD=%00000000 
Declare LCD_DTPort = PORTD     
Declare LCD_RSPin = PORTA.1
Declare LCD_ENPin = PORTA.2
Declare LCD_RWPin = PORTA.3
Declare LCD_CS1Pin = PORTA.4
Declare LCD_CS2Pin = PORTA.5
Declare LCD_Type =  GRAPHIC
Declare GLCD_STROBE_DELAY = 1
Declare GLCD_CS_Invert = On        
Declare Internal_Font = On                 
Declare Font_Addr = 0

Symbol DQ = PORTA.0
Symbol TUS=PORTB.7
Dim OO As Byte
Dim YY As Byte
Dim DEGER As Word
Dim DERECE As Word
Dim DERECE1 As Byte
Dim DERECE2 As Byte
Dim DURUM As Byte
Dim DENEME As Byte
Dim DENEME1 As Byte
Dim DENEME2 As Byte

Dim PP7HH As Byte System
Dim PP7HHH As Byte System
GLCD_EXTERNAL_PRINT = PPRINT 

OO=5
YY=10 
DURUM=PORTB	
Cls                                    
DelayMS 500                           
DENEME=0                                          
BASLA:   
Print At 0,0,"SALON"
GoSub SISI
Print At 1,0,Dec DERECE1,".",Dec1 DERECE2,

Print Font ozanf
Print   At  6,80, "OZAN" 

GoTo BASLA
SISI:
OWrite DQ , 1, [$CC, $44] 
OWrite DQ, 1, [$CC, $BE]           
ORead DQ, 0, [DEGER.LowByte, DEGER.HighByte]   
DERECE = DEGER */ 160:DERECE1=DERECE/10:DERECE2=DERECE //10   
Return   
End

Include "font.inc"
Include "ozanf.FNT"

kodlar normalde breadbroad üzerinde çalışıyor ama yeni fontlar için ekleme yaptıgım zaman  GLCD_EXTERNAL_PRINT = PPRINT  ve PRINT FONT ozanf hata veriyor
creator da yaptıklarımı anlatayım..
file/new font/ımport an exıtıng../ dosyayı projenin oldugu klasöre kaydettim "ozan.lcd" dosyası olarak/ tekrar export/export for proton  basıc "ozanf.fnt" sonrası kodlarda nerede hata yapıyorum ..