bilmemek ayıp değil gene soruyorum glcd yardım

Başlatan ibo1973, 15 Ocak 2008, 19:58:10

ete

Yazdıklarından hiç bir şey anlamadığını anlıyorum.
Biliyorsun LCD nin data bacakları (DB0-DB7) ve kontrol bacakları (E - R/W-D/I) var.
Her şeyden önce şunu anlaman gerek. LCD ye iki türlü bilgi gönderiliyor.
Birisi instruction denilen KOMUT diğeride Data denilen bilgi.
Komutlar LCD nin bir şey yapması gerektiği zaman gönderiliyor. Meslea açma isteği yada kapama isteği yada adres - koordinat bilgisi gönderilmesi yada LCD den okuma yapılması yada LCD ye yazılması bütün bunlar birer komuttur.
LCD de ekranda göreceğin bilgiler birer data (Bilgi) dir. Yada koordinat değişimi isteği bir komuttur andcak buna bağlı X adresi Y adresi ise bir bilgidir. Önce bunları birbirinden ayırman gerek.
Benim programa bakarsan önce INSTR. veriliyor ardından ona ait bilgi veriliyor.  LCD ye verilebilecek komutların listesi Senin verdiğin Tablo-2 de belirtilmiş. Bunlar;
-Adres değeri set etme (Adres ayarlama diyelim)
-Adres sayma modu ayarlama
- Display açma / kapama
- Displaya yazma
- Displaydan okuma
- Display başlangıç sayfası set etme
-Status registerini okuma
Şimdi bunlara bakarak Displayi nasıl açacağız. Data sheete göre (4.resim)
R/W=0 olacak
D/I=0 olacak
Data bilgiside =%10011100 şeklinde verilecek.
İşte bu bilgiyi bu şeklide LCD ye verilince display ram'indeki bilgi görünür hale geliyor yani LCD açılmış oluyor. Data sheet deki Açma kapama ile ilgili açıklama aynen şöyle;
Açıldığı zaman display Ram'deki bilgi görünür hale gelir, kapandığı zaman görünmez hale gelir. Bu gösterilecek bilgiye bağlı değildir. Bunun anlamaı şu. Ekranda diyelimki IBO yazıyor. Sen displayi kapattığın zaman ekran boş (voltaj verilmemiş hali gibi) göreceksin . Ama IBO yazısı orada duracak aslında. LCD yi tekrar açınca aynı bilgi bu sefer görünür hale gelecek. Olay budur. Bunun bir mantığı var elbet. Ekrana bilgi yazmak yada silmek nokta bazında yapıldığı için zaman alan bir iş. Halbuki ekranı kapatmak salise zaman aln bir iş. Kolaylıktan başka bir şey değil. O yüzden programın başında bir kere açtınmı sürekli ekranı görünür tutarsın olur biter.
Bir örnekde ekrana bir bilgi yazma konusunda vereyim.
Önce koordinat vereceksin Yani adres bilgisi göndereceksin.
Ancak ekran bilgisi 4 ayrı ram chipinde tutulduğu için hangisine yazacağını tespit etmen gerekiyor. Benim kullandığımda bu 2 adet chip şeklinde idi. Ekranın yarısı birinde diğer yarısıda diğer chipte tutuluyor idi. Seninkinde 4 adet var muhtemelen tüm ekran 4 ayrı chipe sığdırılmış. Önce ekranın neresine yazacak isen ona ait chipi belirleyeceksin. Zaten komutta buna ait bir bölümde mevcut;
Adres verme komutu;
R/W=0 , D/I=0  , Chip Seçme için DB7 ve DB6 bitleri kullanılacak.
00= chip 0
01= chip 1
01= chip 2
11=chip 3
şeklinde seçilecek.
Adres bilgiside DB0-DB5 bitlerine verilip LCD ye gönderilecek.
Şİmdi sıra ekrana yazılacak bilgiye geldi . Bilgi =%10010101 olsun.
R/W=0, D/I=1 ve  DB0-Db7=Bilgi olacak şekilde verdinizmi yazacağınız bilgi ekranda belirecektir.
Olay bu kadar.

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

ete

Bu forum iyice şişti galiba. Bir mesaj gönderdim ama gitmediğini görünce yeniden göndermek zorunda kaldım.
Oda gitmedi (tam 5 dakika bekledim) yeniden gönderdim ve sonuncusu ile birlikte diğerlerininde gitmiş olduğunu gördüm. Nedir bu şimdi.
Yokmu bunun bir çaresi. Bir iki aydır zaten mesajların hep çiftlendiğini gözlüyorum. Bir tedbir almak mümkün değilmi?.


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

ahmet2004



Ekran 4 bölgeden oluşuyor.(KS0108 lcd ler 2 bölge)


Buda Lcd DataSheeti.

http://**************.com/files/84242947/KS-92F1016.pdf.html

Kodları 4 bölge için oluşturmak gerekiyor.

ibo1973

ya ben yine yapamadım size saçma gelicek bu konu ile ilgili yazdığım kodu diyecem klavyem kod demeye veya program demeye neyse varmıyor zaten çalışmadı hatalarımı söyleyip kodu düzeltip kodu verebilirmisiniz

TrisB=0
Trisc=0
 
   
   displayon CON %10011100
   displaystartpage con %011111

displayacik:
       'PORTD.0=0 ' E ENABLE UCU
       'PORTD.1=0 ' R/W  READ WRİTE
       'PORTD.2=0 ' D/I  DATA INSTARCTION
       'PORTD.3=0 ' RST  RESET
       'PORTD.4=0 ' CS11 CHIP SELECTED
       'PORTD.5=0 ' CS12 CHIP SELECTED
       'PORTD.6=0 ' CS13 CHIP SELECTED
       'PORTD.7=0 ' CS14 CHIP SELECTED
       
       'PORTB.0=0 ' DB0
       'PORTB.1=0 ' DB1
       'PORTB.2=0 ' DB2
       'PORTB.3=0 ' DB3
       'PORTB.4=0 ' DB4
       'PORTB.5=0 ' DB5
       'PORTB.6=0 ' DB6
       'PORTB.7=0 ' DB7
       
       'EKRANI AÇMA DENEMESİ
       PORTD.2=0   ' D/I  DATA INSTARCTION
       PORTB=displayon   'DİSPLAY ON YAPILDI aslında yapılamadı :D ÇÜNKÜ EKRANDA HİÇ BİR ŞEY YOK TEK BİR NOKTA BİLE
       
       'CHİP SEÇME DENEMESİ
       PORTB.6=1 ' 1
       PORTB.7=1 ' 1 YANİ 11 YAPILDI VEYA BEN OYLE ZANEDİYORUM :D CHİP 3 VEYA SYFA 3 ŞEÇİLDİ
       'DB7=0 DB6=0 YANİ 00 PAGE0 DB7=0 DB6=1 YANİ 01 PAGE1 DB7=1 DB6=0 YANİ 10 PAGE2 DB7=1 DB6=1 YANİ 11 PAGE3
       
       'EKRAN BAŞLANGIÇ SEÇME DENEMESİ
       PORTB=displaystartpage 'display 0 ıncı satır
       
       'EKRANA VERİ GÖNDERME DENEMESİ          
       PORTD.1=0 ' R/W  READ WRİTE
       PORTD.2=1 ' D/I  DATA INSTARCTION
       PORTB=%10010101
GOTO displayacik
end

arkadaşlar isteyen gülebilir zira zaten bende gülüyorum bu koda ama anladığım yerleri ve anlamadığım yerleri en iyi bu şekilde anlatabilirim diye düşündüm aslında ete arkadaşımızın bu kadar emek verip yazmasına ve anlatmasına karşılık benimde yapıtım demem lazımdı ama hala yapamadım kusura bakma ete:( emeklerin için tekrardan çok teşşekür ediyorum allah razı olsun

ete

İbo ,
Taşıma suyla değirmen dönmez. Sende birazda algılama zorluğuda var. En iyisi kısa yoldan bu sevdadan vazgeç yada otur dersini iyice çalış.
Sana örnekde vermeme rağmen yazdığın şeylerde yine hata var.
Elinde data sheet var orada ne yapman gerekeceği açıkça belirtilmiş.
Her şey açıklanmış ve sinin yazdığın koda bak şimdi;

'EKRANI AÇMA DENEMESİ
PORTD.2=0 ' D/I DATA INSTARCTION
PORTB=displayon

Ben ne yazmıım sen ne yapmışsın. Hiç karşılaştırma yapmak aklına gelmiyormu?. Yazdıklarında yalnızca buraya baktım diğerlerine bakmadım bile;
Sana ekranı açmak için şunları yapacaksın demişim ;
- R/W=0 olacak  (hani nerede?)
- D/I=0 olacak (bunu yapmışsın)
- Data hattınada %10011100 bilgisi verilecek.

İşin önemini kavrayamadın daha. R/W bacağı ne işe yarıyor düşündünmü,
LCD ye yazma yada LCD den okuma yapmak için seçim pinidir. Sen LCD ye ne yapacağını söylemez isen oda sana hiç cevap vermez tabiiki.
Biraz ders çalış en iyisi.

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

ibo1973

ete arkadaşım haklısın kızmakta ne diyim sağol varol ama hala anlayamadım ne yapıyım ekranda tek bir piksel bile çıkaramadım hatalarımı söylersen açılarsan basarırım sanıyorum evet belkide algılama zorluğum vardır belkide bu konuda acemi olduğum içindir neyse yardımların için sağol

ayrıca bu sevdadan vazgeçmeyi düşünmüyorum  ama uğraşırım ama senin gibi iyi niyetli arkadaşlardan yardım alırım ama sonuç itibari ile uğraşıcam

ibo1973

ha ayrıca bu sevdadan vazgeçmeyi düşünmüyorum :D ama uğraşırım ama senin gibi iyi niyetli arkadaşlardan yardım alırım ama sonuç itibari ile uğraşıcam

ibo1973

TrisB=0
Trisc=0
 
   
   displayon CON %10011100
   displaystartpage con %011111

displayacik:
       'PORTD.0=0 ' E ENABLE UCU
       'PORTD.1=0 ' R/W  READ WRİTE
       'PORTD.2=0 ' D/I  DATA INSTARCTION
       'PORTD.3=0 ' RST  RESET
       'PORTD.4=0 ' CS11 CHIP SELECTED
       'PORTD.5=0 ' CS12 CHIP SELECTED
       'PORTD.6=0 ' CS13 CHIP SELECTED
       'PORTD.7=0 ' CS14 CHIP SELECTED
       
       'PORTB.0=0 ' DB0
       'PORTB.1=0 ' DB1
       'PORTB.2=0 ' DB2
       'PORTB.3=0 ' DB3
       'PORTB.4=0 ' DB4
       'PORTB.5=0 ' DB5
       'PORTB.6=0 ' DB6
       'PORTB.7=0 ' DB7
       
       'EKRANI AÇMA DENEMESİ
       PORTD.1=0   ' R/W  R/W 0
       PORTD.2=0   ' D/I  DATA INSTARCTION
       PORTB=displayon   'DİSPLAY ON YAPILDI aslında yapılamadı :D ÇÜNKÜ EKRANDA HİÇ BİR ŞEY YOK TEK BİR NOKTA BİLE
       
       'CHİP SEÇME DENEMESİ
       PORTD.1=0   ' R/W  R/W 0
       PORTD.2=0   ' D/I  DATA INSTARCTION
       PORTB.6=1 ' 1
       PORTB.7=1 ' 1 YANİ 11 YAPILDI VEYA BEN OYLE ZANEDİYORUM :D CHİP 3 VEYA SYFA 3 ŞEÇİLDİ
       'DB7=0 DB6=0 YANİ 00 PAGE0 DB7=0 DB6=1 YANİ 01 PAGE1 DB7=1 DB6=0 YANİ 10 PAGE2 DB7=1 DB6=1 YANİ 11 PAGE3
       
       'EKRAN BAŞLANGIÇ SEÇME DENEMESİ
       PORTB=displaystartpage 'display 0 ıncı satır
       
       'EKRANA VERİ GÖNDERME DENEMESİ          
       PORTD.1=0 ' R/W  READ WRİTE
       PORTD.2=1 ' D/I  DATA INSTARCTION
       PORTB=%10010101
GOTO displayacik
end

teknikelektronikci

ya arkaadsim allah askina söyle senin derdin ne ben onu anlamadim devrendemi? yaziliminmi yok yoksa nedir olay ? bende baktim son günelrde glcd forumda yaziliyor benim glcd yi tozlu rafdan aldim ve tekrar bir pcb yapip calistirdim yeni fotolarida koyacam zaten avatara eger istersen sana yaptigim devrenin baski devresini ve bi tane örek hex ile acik kod göndereyim kolay gelsin
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ibo1973

benim derdim bu konuyu öğrenmek öğreticek sabırlı birini arıyorum fırça kaymadan sabırla anlatıcak

ben forumada baktım ama kimse kusura bakmasın herkez kendi anladığı gibi bu konularda usta kişilerin anlıyacağı dilde anlatmış konuyu bazılaraı anlamış yapmıştır belki ama bazılarıda tamam diyip ayıp olmasın diye anlamadığını belli etmemiş yani neticede kimse bir aceminin anlıyacağı dilde anlatmamış üstelik buda yetmezmiş gibi birinin beyez dediğine diğeri siyah demiş arkadaşlar ben acemiyim picbasic prodada acemiyim glcd de acemiyim henüz bu konuya başlıyalı bir kaç ay oldu herkez konusunda ustadır diye bir şey yok ki ben açık açık söylüyorum ben bu konuda acemiyim ete arkadaşımızın sabrı bi yere kadar yetti ondan sonrasına daha yetmedi bakın ben konunun başından beri ne yazmışım bana göre örenek bir kod istedim siz ne kadar anlatsanızda 1 musubet bin nasihatten iyidir mantığıyla 1 kod belkide yazıcağınız bin kelimeden daha iyi olucaktı kendi kendime deneme yanılma yoluyla ilerlerdim madem bu konuda ustasınız (tabi mecbur değilsiniz) bana benim devreme göre ekranda bir tek nokta çıkarıcak yanında açıklamsı olan bir kod yazmak bu kadar zormu sizle bu konuya başladığınız zaman hep ustamıydınız bana yardımcı olan arkadaşlara bakıyorum en yenisi 3 seneden daha eski arakadaşlar eleştiri yapıyorsunuz bakın diyorsunuz örnek veriyorsunuz çok güzel bir şey ama verdiğiniz örnek belkide acemi birisi için yeterince açık değildir data sheed var diyorsunuz bende size şunu diyicem siz her baktığınız data seheeden hemen şu şudur belki diyebilirsiniz ama ben konuya dediğim gibi bir kaç aydır vakıfım ben bakınca data sheede herşeyti anlamıyorum her okuduğumla beraber 100 lerce soru geliyor aklıma bunlarla boğuşuyorum çünkü konuya vakıf değilim acemiyim yani neyse kimseye burda duygu sömürüsü yaptığım falanda yok isteyen anlar isteyen anlamaz ne dediğimi isteyen yardımcı olur isteyen yardımcı olmaz ben burdan tekrardan yardımcı olanlardan allah razı olsun sağolsun varolsun diyorum.

ete

@İbo,
Birazcık da olsa kızdığımı belirtmek istiyorum. Sebebide bir sürü açıklamaya karşılık senin kafana göre hareket etmen. Çünki yazılı olarak bazı satırlar veriyorum sen yazdığın satırlarda bunları bile değerlendirmiyorsun. hem yanlış hemde eksik yazıyorsun. en baştan belirteyim amacım seni yönlendirerek işi öğrenmeni sağlamak idi. Ancak tıkandığını görüyorum. Elinde data sheet olduğuna eminim. Data sheet olmasa ben de bir şey yapamazdım. çünki lcd özel bir lcd ve kendine göre bir protokolü var. Ama her şey orada belirtilmiş.
Her neyse, şimdi aşağıda bir program vereceğim bunu yaz ve dene bakalım. İstediğimiz yapacakmı?. Bu program ile ekranın en sol üst köşesine ykarıdan aşağıya ...  ...  şeklinde bir şekil koyacağız ve aynı şekli 2. satır 6. sütuna da koyacağız. Bak bakalım ne olacak.
Program İstediğimizi yaparsa ki yapması gerek gerisini artık sen halledeceksin.

Ete


'****************************************************************
'*  Name    : ETE_GLCD.BAS                                      *
'*  Author  : [                   E.T.E.                      ] *
'*  Notice  : Copyright (c) 2008  İzinsiz kullanılamaz )        *
'*          : All Rights Reserved                               *
'*  Date    : 17.01.2008                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
PORTA=0:TRISA=0
PORTB=0:TRISB=0
PORTC=0:TRISC=0
PORTD=0:TRISD=0
PORTE=0:TRISE=0
ADCON1=7  'ANALOGGİRİŞLER DİGİTAL YAPILDI

LCD_AC   CON %00111001 
LCD_KAPA CON %00111000

SYMBOL ENBL=PORTD.0
SYMBOL RW=PORTD.1
SYMBOL DI=PORTD.2
SYMBOL RST=PORTD.3
SYMBOL CS11=PORTD.4
SYMBOL CS12=PORTD.5
SYMBOL CS13=PORTD.6
SYMBOL CS14=PORTD.7
SYMBOL LCD=PORTB

RST=0  'RESET UCUNU ÖNCE LOW'A ÇEKİYORUZ
PAUSE 100
RST=1  'SONRA HIGH YAPIP SİSTEMİ OKUNUR YAZILIR HALE GETİRİYORUZ.
ENBL=1 'ENABLE UCUNU ŞİMDİLİK HIGH DA TUTUYORUZ.
'------------EKRANI AÇMA--------------------------------
RW=0
DI=0 'RW VE DI BACAKLARINI LOW YAPTIK EKRANI AÇACAĞIZ
LCD=LCD_AC
ENBL=0:PAUSE 1:ENBL=1  'BU İŞLEM DATANIN AKTARILMASINI SAĞLIYACAK  (ONAY)
'---------------EKRAN AÇILDI------------------------------- 
 
BASLA:
      CS11=1  'FİZİKSEL EKRAN SEÇİMİ (aslında CHIP SEÇİMİ)
      CS21=1  'BU İKİ SATIR İLE EKRAN_1 SEÇİLDİ (EKRANI 4 DE BÖLÜNMÜŞ DÜŞÜNÜN EN SOL VE ÜST DEKİ EKRAN)
      DI=0:RW=0
      LCD=%00000000  'İLK SATIR VE EN BAŞTAKİ SÜTÜN SEÇİLDİ
      ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ ADRES AKTARILDI
      
      DI=0:RW=0 
      LCD=%00111010    
      ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ ADRES COUNT MODE DOWN YAPILDI
      
      DI=0:RW=0 
      LCD=%00111110    
      ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ START PAGE=0 İLK SATIR YAPILDI 
      
'------------İŞTE ŞİMDİ SIRA GELDİ EKRANA BİR ŞEY YAZMAYA--------------------
      DI=1:RW=0 
      LCD=%11100111 'EKRANDA YUKARIDAN AŞAĞIYA ...  ...  ŞEKLİNDE BİR ŞEKİL ÇIKACAK   
      ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ VE ŞEKİL EKRANA AKTARILDI.
      DI=0
'------ŞİMDİ DE 2 SATIR 6. SÜTÜNA AYNI BİLGİYİ YERLEŞTİRELİM--------------------      
      DI=0:RW=0
      LCD=%01000110  '2. SATIR 6. SÜTÜN ADRESİ
      ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ ADRES VE SATIR BİLGİSİ AKTARILDI.
      
      DI=1:RW=0 
      LCD=%11100111 'EKRANDA YUKARIDAN AŞAĞIYA ...  ...  ŞEKLİNDE BİR ŞEKİL ÇIKACAK   
      ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ VE ŞEKİL EKRANA AKTARILDI.
      DI=0  'BU ŞEKİL ŞİMDİ 2 SATIR 6. SÜTÜNA YAZILMIŞ OLMASI GEREK.
      
end
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

teknikelektronikci

Alıntı yapılan: "ibo1973"benim derdim bu konuyu öğrenmek öğreticek sabırlı birini arıyorum fırça kaymadan sabırla anlatıcak

ben forumada baktım ama kimse kusura bakmasın herkez kendi anladığı gibi bu konularda usta kişilerin anlıyacağı dilde anlatmış konuyu bazılaraı anlamış yapmıştır belki ama bazılarıda tamam diyip ayıp olmasın diye anlamadığını belli etmemiş yani neticede kimse bir aceminin anlıyacağı dilde anlatmamış üstelik buda yetmezmiş gibi birinin beyez dediğine diğeri siyah demiş arkadaşlar ben acemiyim picbasic prodada acemiyim glcd de acemiyim henüz bu konuya başlıyalı bir kaç ay oldu herkez konusunda ustadır diye bir şey yok ki ben açık açık söylüyorum ben bu konuda acemiyim ete arkadaşımızın sabrı bi yere kadar yetti ondan sonrasına daha yetmedi bakın ben konunun başından beri ne yazmışım bana göre örenek bir kod istedim siz ne kadar anlatsanızda 1 musubet bin nasihatten iyidir mantığıyla 1 kod belkide yazıcağınız bin kelimeden daha iyi olucaktı kendi kendime deneme yanılma yoluyla ilerlerdim madem bu konuda ustasınız (tabi mecbur değilsiniz) bana benim devreme göre ekranda bir tek nokta çıkarıcak yanında açıklamsı olan bir kod yazmak bu kadar zormu sizle bu konuya başladığınız zaman hep ustamıydınız bana yardımcı olan arkadaşlara bakıyorum en yenisi 3 seneden daha eski arakadaşlar eleştiri yapıyorsunuz bakın diyorsunuz örnek veriyorsunuz çok güzel bir şey ama verdiğiniz örnek belkide acemi birisi için yeterince açık değildir data sheed var diyorsunuz bende size şunu diyicem siz her baktığınız data seheeden hemen şu şudur belki diyebilirsiniz ama ben konuya dediğim gibi bir kaç aydır vakıfım ben bakınca data sheede herşeyti anlamıyorum her okuduğumla beraber 100 lerce soru geliyor aklıma bunlarla boğuşuyorum çünkü konuya vakıf değilim acemiyim yani neyse kimseye burda duygu sömürüsü yaptığım falanda yok isteyen anlar isteyen anlamaz ne dediğimi isteyen yardımcı olur isteyen yardımcı olmaz ben burdan tekrardan yardımcı olanlardan allah razı olsun sağolsun varolsun diyorum.

o zman arkadasim sende merdivenleri 10 ar 10  ar cikmayi deneme teker teekr cikmayi dene tamami? burda kimse sana kalkipta bunca isinin gücünün sinavinin icinde sana glcd yi anlatmaz. sana tavsyiem ya merdivenelri teker teker cik ya da otur internetin altina üstüne getir ve iyice bir arastir bende ilk grafikc lcd ye basladiigmda cok acemiyidm hic bir bilgim yoktu ama ne senin gibi yuakridaki mesajda sitem etdim ne de hic arastirmadan bu ise basladim bakiordumda bu baslik acildi acilalai hic bir gelisme kaydedememisin daha bu mesajina kadar senin acik kod örenk kod istdigidne bile haberim yok cünkü bulmaca gibib olmuş. eger madem bu glcd ye heveslisin sana asagida örnek kod cikarabilecegin bir program veriyorum ayrica bir baski devre veriyorum ama program hakindada senden ricam iyice bakmadan kurcalamdan bir sey sorma  kolay gelsin

dosyalar:

http://www.4shared.com/file/35086080/508f3424/picproje.html  

ama her seyden önce eger forumu biraz arastirip asagidaki linki bulmus olsaydin su an grafik lcd yi calistirmisdin

https://www.picproje.org/index.php/topic,10803&highlight=
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ibo1973

ete code için çok teşşekür ederim konuyu senin yazdığın kodla vede bu linkteki sesli ve görsel anlatım ile http://www.geocities.com/dinceraydin/screencast/gfxtr.html (burda işine yarmı bilmiyorum ama lcd smilatorde var ) çok çok iyi anladım sbahtan beri uğraşıyorum similatordede test ediyorum programla karşılaş tırıyorum program doğru aynı similatordeki gibi çalışıyor mantığı bu bağlamda program çalışıyor olması lazım programda benim belirtmediğim ama senin girdiğin cs21  cs 22 cs 23 cs 24  SYMBOL ENBL=PORTD.0
SYMBOL RW=PORTD.1
SYMBOL DI=PORTD.2
SYMBOL RST=PORTD.3
SYMBOL CS11=PORTD.4
SYMBOL CS21=PORTC.4
SYMBOL CS12=PORTD.5
SYMBOL CS22=PORTC.5
SYMBOL CS13=PORTD.6
SYMBOL CS23=PORTC.6
SYMBOL CS14=PORTD.7
SYMBOL CS24=PORTC.7
SYMBOL LCD=PORTB
leride girdim ama genede çalışmadı ekranda herhangi bir şey çıkmadı
benim db0- db7leri ben ekrandan bir tepki gelmeyince kolay anlıyım diye bu şekilde yapmıştım
PORTB.0=0 ' DB0
       PORTB.1=1 ' DB1
       PORTB.2=0 ' DB2
       PORTB.3=1 ' DB3
       PORTB.4=1 ' DB4
       PORTB.5=1 ' DB5
       PORTB.6=0 ' DB6
       PORTB.7=1 ' DB7
senin verdiğin programıda bu şekle göre düzenledim

PORTA=0:TRISA=0
PORTB=0:TRISB=0
PORTC=0:TRISC=0
PORTD=0:TRISD=0
PORTE=0:TRISE=0
ADCON1=7  'ANALOGGİRİŞLER DİGİTAL YAPILDI

LCD_AC   CON %10011100
LCD_KAPA CON %00011100

SYMBOL ENBL=PORTD.0
SYMBOL RW=PORTD.1
SYMBOL DI=PORTD.2
SYMBOL RST=PORTD.3
SYMBOL CS11=PORTD.4
SYMBOL CS21=PORTC.4
SYMBOL CS12=PORTD.5
SYMBOL CS22=PORTC.5
SYMBOL CS13=PORTD.6
SYMBOL CS23=PORTC.6
SYMBOL CS14=PORTD.7
SYMBOL CS24=PORTC.7
SYMBOL LCD=PORTB

RST=0  'RESET UCUNU ÖNCE LOW'A ÇEKİYORUZ
PAUSE 100
RST=1  'SONRA HIGH YAPIP SİSTEMİ OKUNUR YAZILIR HALE GETİRİYORUZ.
ENBL=1 'ENABLE UCUNU ŞİMDİLİK HIGH DA TUTUYORUZ.
'------------EKRANI AÇMA--------------------------------
RW=0
DI=0 'RW VE DI BACAKLARINI LOW YAPTIK EKRANI AÇACAĞIZ
LCD=LCD_AC
ENBL=0:PAUSE 1:ENBL=1  'BU İŞLEM DATANIN AKTARILMASINI SAĞLIYACAK  (ONAY)
ENBL=0
'---------------EKRAN AÇILDI-------------------------------
 
BASLA:
     CS11=1  'FİZİKSEL EKRAN SEÇİMİ (aslında CHIP SEÇİMİ)
     CS21=1  'BU İKİ SATIR İLE EKRAN_1 SEÇİLDİ (EKRANI 4 DE BÖLÜNMÜŞ DÜŞÜNÜN EN SOL VE ÜST DEKİ EKRAN)
     DI=0:RW=0
     LCD=%00000000  'İLK SATIR VE EN BAŞTAKİ SÜTÜN SEÇİLDİ
     ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ ADRES AKTARILDI
     
     DI=0:RW=0
     LCD=%01011100    
     ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ ADRES COUNT MODE DOWN YAPILDI
     
     DI=0:RW=0
     LCD=%01111100    
     ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ START PAGE=0 İLK SATIR YAPILDI
     
'------------İŞTE ŞİMDİ SIRA GELDİ EKRANA BİR ŞEY YAZMAYA--------------------
     DI=1:RW=0
     LCD=%11100111 'EKRANDA YUKARIDAN AŞAĞIYA ...  ...  ŞEKLİNDE BİR ŞEKİL ÇIKACAK    
     ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ VE ŞEKİL EKRANA AKTARILDI.
     DI=0
'------ŞİMDİ DE 2 SATIR 6. SÜTÜNA AYNI BİLGİYİ YERLEŞTİRELİM--------------------      
     DI=0:RW=0
     LCD=%01100010 '2. SATIR 6. SÜTÜN ADRESİ
     ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ ADRES VE SATIR BİLGİSİ AKTARILDI.
     
     DI=1:RW=0
     LCD=%11100111 'EKRANDA YUKARIDAN AŞAĞIYA ...  ...  ŞEKLİNDE BİR ŞEKİL ÇIKACAK    
     ENBL=0:PAUSE 1:ENBL=1  ' ONAY VERİLDİ VE ŞEKİL EKRANA AKTARILDI.
     DI=0  'BU ŞEKİL ŞİMDİ 2 SATIR 6. SÜTÜNA YAZILMIŞ OLMASI GEREK.
   
end

hatanın programdan olmadığını sanıyorum devremide kontrol ettim tekradan kabloları ve bağlandığı yerleri voltajlarınıda kontrol ettim (örnek 16f877 programı yükleyip reset bacağından +5v seçili olan chip ayaklarından +5v +5v okuyorum) diğer ayaklarında bağlantılarını kontrol ettim hata yok

bu durumda programdan değil pic16f877 den değil pice bağladığım kristal 4mhz bundan olabilirmi eğer bundan değilse glcd bozuk veya bozuldu diyebilirmiyiz.

ete

Data sheetin 17. ci sayfasına bakarsan sorunun kaynağı muhtemelen kontrast ucu. Oradaki bağlantı şekline göre kontrast için ayrıca bir -5V luk beslemeye ihtiyaç var. Bunu 7905 ile yapıp bir denemen lazım.

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

ibo1973

bendeki datasheede göre benim yaptığım doğru görünüyor bendeki bağlantı data sheede tavsiye ettiği gibi http://img211.imageshack.us/img211/1275/vddms1.jpg resimdeki gibi zaten ekranda dolu kareleride görebiliyorum başka bi yerde sorun var sanırım ama bu sorunu nasıl çözebilirim hiç fikrim yok zaten elimdeki glcd nasıl bir şey se internnete ne örnek kurulu bir devre ne yazılım hiç bir şey yok gibi birşey neyse yardımların için çok teşşekür ederim allah razı olsun sanırım bir müddet daha bakarım baktım olmuyor forumdaki daha önce kulanılıp devresi ve programı olan bir gflcd alıp bunuda çöpe atarım herhalde olan benim 40$ ve senin ve benim zamanıma oldu nerden denk gelipte bunu almışım neyse sanırım bu konu burada noktalanıyor sonuç kısmına bir 0 yazabiliriz sanırım gerçi bir gelişme olursa buraya yazarım sanırım .