PG320240 GRAFIK LCD KULLANIMI

Başlatan enrique_iglesias, 03 Aralık 2008, 15:40:26

enrique_iglesias

Arkadaşlar herkese merhabalar başlıktaki grafik lcdyi aldım EPSON S1D113305F00A1 İŞLEMCİSİ VAR..

BACAK BACAK BAĞLANTILARINDA Bİ YERDE D0....D7 , A0, CS, RESET OLMAK ÜZERE 11 BACAK KULLANILMASI GEREKTİĞİNİ OKUDUM AMA GERİSİ C DİLİNDE YAZILDIĞI İÇİN HİÇ BİR ŞEY ANLAYAMADIM.

18F452 KULLANIYORUM PORTB 'YE DATA PİNLERİNİ PORTC'YE A0 CS VE RESET PİNLERİNİ BAĞLADIM KISACASI DONANIMIM HAZIR DURUMDA...

İŞİN YAZILIM KISMINA GELDİĞİMDE TAKILDIM KALDIM HEP PARALEL PORT İLE İLGİLİ ÖRNEKLER BULDUM AYRICA ANLAYAMADIĞIM Bİ TAKIM ŞEYLER VAR.


PIC BASIC'TE BU GRAFİK LCD'YE YAZI YAZDIRABİLİRMİYİM? ÇÜNKÜ BİR KAÇ YERDE PROTON KULLANMAM GEREKTİĞİ YAZIYOR.

BANA EKRANIN Bİ KENARINA BİR HARF YAZDIRAN BİR ÖRNEK VERMENİZ MÜMKÜNMÜDÜR.BU ÖRNEK BENİM İÇİN BAŞLANGIÇ NOKTASI OLACAKTIR. ŞİMDİDEN TEŞEKKÜR EDERİM İYİ ÇALIŞMALAR...

EDİT:
LCD BACAKLARI :

1 Vss     Power supply(GND)
2 Vdd    Power supply(+)
3 VLCD Contrast Adjust
4 RD     Data Read
5 WR     Data Write
6 Ao     Command / Data select
7~14    DB0~DB7 Data bus line
15 CS   Chip select
16 RST RESET
17 Vee Negative voltage input
18 FG   Frame Ground
19/20   NC

mikromuh

Proton uygulamasi;(128x64)ks0108

Device 16F877
  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
       ALL_DIGITAL = True   


BASLA:
Print At 0, 2 , "MERHABA DUNYA " '
DelayMS 5000
Cls
GoTo BASLA
End
Include "FONT.INC"

Logan

@enrique_iglesias, sanırım forumda aratma yapmamışsın. Defalarca tartışılan ve kesin olarak sonuca varılmış bir konu. Aşağıdaki link tamamen işini görecektir. "Proton kullanmam gerektiği yazıyor." demişsin. Aslında öyle birşey yok. İstediğin dille programını yazabilirsin. Kolay gelsin.

https://www.picproje.org/index.php/topic,17381&highlight=320+240+tom
İmza.

enrique_iglesias

sayın mikromuh çok teşekkür ederim faydalı oldu benim için ama şöyle bir sorunla karşılaştım...
benim lcd'de rs pini ve en pinmi yok ilk mesajımda yazdığım gibi bacaklar var.

ayrıca cs pini olarak tek vermiş cs1 ve cs2 olarak değil yani yazılımı nasıl uydurabilirim kendiminkine....

(NOT: Proton full olarak bulamıyorum yardımcı olabilirmisiniz)

mikromuh

Logan in vermis oldugu linkte aradigin konu yer aliyor.Forum sayfasini incelerseniz birseyler yapabilirsiniz.Ayrici proton forumda vardir.fotograf,sema vb. eklentileride yapmaya calisin.Kolay gelsin.

ahmet2004

[***mikromuh***] verdiğin kodlar 128x64 Glcd için...

PicbasicPRO da 320x240 GLCD proje kodu...
Başlıkta bulunan arkadaşı internette arattırırsan daha fazla şey bulabilirsin.
Bundan sonrasını halledebilirsin sanırım... *enrique_iglesias*

Takıldığın yerlerde tekrar yaz.Bu GLCD konusunu aşalım artık.

'--------------------------------------------------------------------'
' Author:  Robert Hedan                                              '
' Date:    April 7th, 2006                                           '
' Company: XAVIERkamial Inc.                                         '
'--------------------------------------------------------------------'

clear
ADCON1	= 7

DEFINE OSC 20

pinData     var PORTD          
pinWR       var PORTB.0       
pinRD       var PORTB.1         
pinCS       var PORTB.2      
pinA0       var PORTB.4 
pinRST      var PORTB.5
        
pinLED      VAR PORTB.3
pinSCL      VAR PORTC.3
pinSDA      VAR PORTC.4

        TRISD   = 0
        TRISB.0 = 0
        TRISB.1 = 0
        TRISB.2 = 0
        TRISB.4 = 0
        TRISB.5 = 0
        TRISB.3 = 0

conSet		        con	$40
conScroll	        con	$44
conCursorForm	    con	$5d
conCursorAddress	con	$46
conCursorRight	    con	$4c
conOverlay	        con	$5b
conWrite	        con	$42
conDisplayON	    con	$59
conDisplayOFF	    con	$58
conCharPerLine		con	$28 	' 40  karakter / satir

varCommand	Var	BYTE
varCursor   var BYTE
varByte		var	BYTE
varLoop1	var	BYTE
varLoop2	var	BYTE
varAddress	var	WORD

    	pinRD  = 1
    	pinWR  = 1
        pinCS  = 0
        pinRST = 0
        pause 1
        pinRST = 1
        pause 100

        goto main

' --------------------------- AltProgramlar --------------------------

SendData:
	pinA0	= 0
	pinData = varByte
	pinWR	= 0
'	@ nop
	pinWR	= 1
return

SendCommand:
	pinA0	= 1
	pinData = varCommand
	pinWR	= 0
'	@ nop
	pinWR	= 1
return

ClearGraphic:
	varCommand = conCursorAddress
	gosub SendCommand
	varByte = $00
	gosub SendData
	varByte = $10
	gosub SendData

	varCommand = conCursorRight
	gosub SendCommand

	varCommand = conWrite
	gosub SendCommand
    varByte = %00000000            ' 1 byte = 8 bits = 8 pixels wide
	for varLoop1 = 1 to 240        ' 240 pixels high
	   for varLoop2 = 1 to 40      ' 40 bytes = 320 bits = 320 pixels wide
		gosub SendData
	   next varLoop2
	next varLoop1
return

ClearText:
	varCommand = conCursorAddress
	gosub SendCommand
	varByte = $00
	gosub SendData
	varByte = $00
	gosub SendData

	varCommand = conCursorRight
	gosub SendCommand

	varCommand = conWrite
	gosub SendCommand
    varByte = " "
	for varLoop1 = 1 to 30
	   for varLoop2 = 1 to 40
	       gosub SendData
	   next varLoop2
	next varLoop1
return

InitDisplay:
	varCommand = conSet
	gosub SendCommand
	for varLoop1 = 0 to 7
 		lookup varLoop1,[$32,$87,$07,$27,$2B,$EF,$28,$00],varByte
		gosub SendData
	next varLoop1

	varCommand = conScroll
	gosub SendCommand
	for varLoop1 = 0 to 5
 		lookup varLoop1,[$00,$00,$EF,$00,$10,$EF],varByte
		gosub SendData
	next varLoop1

	varCommand = conOverlay
	gosub SendCommand
	varByte = %00000001
	gosub SendData

	varCommand =conDisplayOFF
	gosub SendCommand
	varByte = %00000000
	gosub SendData
	
	gosub ClearText
	gosub ClearGraphic

	varCommand = conDisplayON
	gosub SendCommand
    varByte = %00010100
    gosub SendData

	varCommand = conCursorAddress
	gosub SendCommand
	varByte = $0
	gosub SendData
	varByte = $0
	gosub SendData

	varCommand =conCursorForm
	gosub SendCommand
	varByte = $04
	gosub SendData
	varByte = $86
	gosub SendData
return

SetAddress:
	varCommand = conCursorAddress
	gosub SendCommand
	varByte = varAddress.BYTE0
	gosub SendData
	varByte = varAddress.BYTE1
	gosub SendData

	varCommand = varCursor
	gosub SendCommand

   	varCommand = conWrite
   	gosub SendCommand
return

' ------------------------------- ANA program --------------------------------

Main:
	gosub InitDisplay

    pinLED = 1

  	varAddress = 0
   	varCursor  = conCursorRight
   	gosub SetAddress	

   	for varLoop1 = 0 to 39
    	lookup varLoop1,["www.picproje.org @ahmet2004 320x240 Glcd"],varByte
   		gosub SendData
    NEXT varLoop1

   	varAddress = 29 * conCharPerLine
   	varCursor  = conCursorRight
   	gosub SetAddress	

   	for varLoop1 = 0 to 39
    	lookup varLoop1,["************www.picproje.org************"],varByte
   		gosub SendData
    NEXT varLoop1
end

ahmet2004

Sonuçlarını bekliyoruz  ***enrique_iglesias***

Yazdığım her mesajı takip ediyorum çünkü.

Kim neler öğrenmiş veya öğrenmemiş veya öğreniyoruz bunu tesbit ediyorum

bir sonraki cevaplarımda bunlara dikkat ediyorum.

enrique_iglesias

sayın logan zaten sizin orda çok faydanız olmuş banada olmadı değil ancak c dili olunca tereddütlerde kaldım lcd'ye 200 ytl verdim kaybetmek istemedim işim garanti olsun istedim...ayrıca teşekkür ederim

sayın ahmet çok teşekkür ederim şimdi okudum ve başlıyorum..pinlerimi yazılımdan değiştirmek istemiyorum çünkü ayrı bir hatayla uğraşmayım.

Şimdi donanımdan bütün pinlerimi değiştirmeye başlıyorum akşam inşallah işin bu kısmını aşıp burda başka sorular sorarım :)

enrique_iglesias

Ahmet kardeşim bi yerde bi sorun var ama bulamadım :

kodlarımın lcd tanımlama kısmını kendi kartıma göre yaptım :

clear 
ADCON1   = 7 

pinData     var PORTD '*         
pinWR       var PORTB.1 '* PİN NO 5 PORTB.1       
pinRD       var PORTB.0 '* PİN NO 4 PORTB.0          
pinCS       var PORTB.3 '* PİN NO 15 PORTB.3      
pinA0       var PORTB.2 '* PİN NO 6 PORTB.2 
pinRST      var PORTB.5 '* PİN NO 16
        
pinLED      VAR PORTB.4 
pinSCL      VAR PORTC.3 
pinSDA      VAR PORTC.4


LCD'DE MEYDANA GELEN OLAYLAR ÇOK ACAYİP :) VİDEOSU BURDA.. 2MG(GP FORMATINDA) www.mplctech.com/glcd/lcd.zip


RESİMLER AŞAĞIDAKİ GİBİ :



BU RESİM DATA VE DİĞER PİNLERİN DURUMLARINI LEDLE GÖSTERİYOR:




















sanki yazı varmış gibi ama yok yüreğim çıkacak :) şaka tabi karmaşık şeylerden başka bir şey yok nerde hatam olabilir????MPLCTECH

ahmet2004

PORTB.5

GLCD RST Pin'i  pic'den çıkart +5volt'a bağla öyle dene.

Ondan sonra devam edelim.

enrique_iglesias

ÇOK ÖZÜR DİLERİM DATA PİNLERİNDEN BİRİNİN LEHİMİ ATMIŞ :(

KARARSIZLIĞIM YÜZÜNDEN LCD'DEKİ TÜM YOLLAR REZİL OLDU :(

NEYSE BAŞKA BİR SORUN VAR AMA YOLLARDAN OLDUĞUNU SANMIYORUM



LCDNİN ORTASINDA İKİ ADET SÜTUN OLDUĞU GİBİ GÖRÜNTÜ VERMİYOR VE DENK GELEN HARFLERİ KIRPIYOR NEDEN OLABİLİR????








ahmet2004

O çizgi gibi olan yermi kırpıyor.

Lcd camı altındaki lastik değmiyor veya kaymış olabilir.

Glcd in rst  bacağını +5 volta bağla öyle dene?

enrique_iglesias

EVET ÇİZGİ GİBİ OLAN YERE DENK GELEN HARFLERİN HEPSİ SANKİ TERSLENMİŞ GİBİ ARKA PLAN RENGİNİ ALIYOR VE ÇOK ÇİRKİN BİR GÖRÜNTÜ VAR HEVESİM KIRILDI :) BASTIRDIM AMA OLMADI....

ahmet2004

Değiştir.Garantisi varmıydı.

enrique_iglesias

GARANTİSİ MUTLAKA VAR YENİ ALDIM ANCAK DEĞİŞTİRİLECEK BİR TARAFI KALMADI :(

KARARSIZLIĞIM YÜZÜNDEN BELKİDE 5 6 KEZ LEHİM ÇEKTİM LEHİMLEDİM O KISMI ALLAH'A EMANET ÇALIŞIYOR BAHSETTİĞİM YER BU RESİMDE DAHA İYİ GÖZÜKÜYOR : U N VE K HARFLERİ GİDİK