Elektronik Devreler Projeler Elektronik ve biraz daha fazlası İletişim - Araçlar - Dikkat - Topluluk
Elektronik / Mikrodenetleyici Projeleri/

PIC16F877-874 ve Asm İle 128X64 Glcd‘ye Resim Yüklenmesi

Sponsorlu Bağlantılar

Bu yazımda PIC16F877 mikrodenetleyicisi kullanılarak asm kodlarıyla Grafik lcd ‘ye resim yüklenmesi konusunda bildiklerimi paylaşacağım. Kullanabileceğiniz glcd ler kısaca ks0108 sürücü entegresine sahip herhangibi bir markanın glcd desi olablir benim elimde

powertıp pg-12864d (128×64) ve NANYA LMC97S005C (128×64) tip glcdler vardı iklisindede görüntü aldım. dediğim gibi ks0108 entegresine sahip herhangibi bir glcde sürebilirsiniz yeterki pin bağlantılarını düzgün yapın. koduları yanında nasıl çalıştıklarını ve ne iş yaptıklarını gösterir açıklamalar mevcut.

kısaca Glcd lerin nasıl çalıştığını ilim döndüğünce açıklamaya çalışaym ve kodları inceleyelim

öncelikle pinleri ve kısaca neişe yaradıklarını açıklamakla başlayalım işe

ks0108-glcd-pins-LMC97S005C-pg-12864d

1 Nolu Pin (VDD): güç kaynağından +5V bağlanacağı pin

2 Nolu Pin (VSS): güç kaynağından GND bağlanacağı pin

3 Nolu Pin(V0): 10k tirimpot ‘un 1 nolu bacağı (VEE bacağı olan glcd lerde Vee bacağına)Gnd ye bağlanır. 3 nolu bacağı +5v bağlanırr ve ortadaki out bacağı ise glcd nin 3 nolu bacağına bağlanarak ekran kontrası ayarlamada kullanılır.

4-11 Nolu Pin(D0-D7): glcdye veri/komut bu pinler üzerinden gönderilir.

14 Nolu Pin(RST): Glcd resetlemek için kullanılır.(ekranı siler)

15 Nolu Pin(R/W): Okuma(1)/Yazma(0) pini yani glcden veri okunacaksa bu pin 1(5v) yapılır ve glcde den okuma işlemi yapılabilir. Bu pin 0(0v) iken glcdye yazma modunda kuulanılır ve veri/komut gönderimi yapılabilir.

16 Nolu Pin(D/I): Veri/Komut pini glcdye gönderilen data nın verisi ‘mi(karekter yada resim verisi) yoksa komut ‘mu (glcd yi aç veya satır komutu) olduğunu oldugu bu pinin durumunagöre belirlenir. pinin değeri 0(0v) iken glcd komut kaydedicisi modundadır. pinin değeri 1 (5v) iken glcd veri kaydedicisi modunda oldugun gösterir.

17 Nolu Pin(E): glcdye gönderilen datanın glcd tarafından işlenmesini sağlar. 1 durumundan 0 ‘a çekildiğinde D0-D8 pinlerindeki veriyi glcde tarafından işleme alınır.

18 Nolu Pin(VEE): bu pin glcd nin -volut pinidir. glcdye gelen akımın – olarak bu bacaktan çıkış alınır. bu pin 10kohm luk bir potla glcd nın V0 pinine baplanarak kullanılabilir veya boş bırakılır.

19-20 Nolu Pin(Led A ve Led K): glcd nin zemin aydınlatması için kullanılan pinidir Anot ucu +5v bağlanır ve Katot pini -Gnd ucuna bağlanarak led çalıştırılır.

12-13 Nolu Pin(CS1 ve CS2): 128×64 Glcd ler aslında 64×64 boyutlarında 2 sayfadan (yani 2 adet ks0108 entegre ile sürülür) oluşur. Cs1 ve Cs2 pinleri hangi parçanın (entegrenin) aktif edileceğini seçmeye yarayan pinlerdir.

ks0108-chips-controller-cs1-cs2-64bits

üsteki resimdende anlaşılacağı üzere Cs1:1 Cs2:0 iken sol taraftaki ekran seçilmiş olur.

Cs1:0 Cs2:1 durumunda iken sağ taraftaki ekran seçilir. her bir sutuna veri gönderildiğinde 8 bitlik satır bilgiside gönderilmiş olur yani buna göre 64 dots /8 bit=8 satır yani herbir parça ekran 8 satırdan oluştuğunu gösterir.

lcd-module-mcu-128x64-asm-vout-5v

Yukarıda standart glcd ve mcu bağlantısı görülmekte bizim kullanacağımız 16f877 mikrodenetleyicinin bağlantıları sırasıyla şöley yapılmalı

  • Mcu portD=glcd D0-D7
  • Mcu portC.0=glcd RST
  • Mcu portC.1=glcd E
  • Mcu portC.2=glcd DI
  • Mcu portC.7=glcd RW
  • Mcu portC.5=glcd CS1
  • Mcu portC.6=glcd CS2

glcd bağlantıların yapmadan önce kullancağınız glcd nin datasheetini inceleyin bağlantılarını ona göre yaparsanız aşağıdaki gibi görüntü elde edersainiz.

glcd-circuit-bred-board-devre-lcdimage

glcd-image

uygulama ile ilgili tüm dosya resim, gerekli convert programları (Bmp2asm, PIXresizer, pixelv[proton kodu oluşturur] ) ve dökümanlar: pic16f877-874-ve-asm-ile-128×64-glcd-ye-resim-yuklenmesi.zip

  • veysel

    merhaba ben programı deneyip çalıştırdım ama glcd yi bulup devreyi çalıştırmak istiyorum ama glcd yi bulamadım nereden bulabileceğim konusunda yardımcı olabilir misiniz? Şimdiden teşekkür ederim

  • Müjdat117

    aslına bakarsanız ks0108 sürücü entegreli herhangibi glcd kullanablirsiniz sadece data ve kontrol pinlerini doğru sıralayın yeterli. kodları iki farklı glcd ile denedim sorunsuz çalıştı pinlere dikkat edin yeter. yinede bulamazsanız “mujdat117@hotmail.com” adresimden iletişime geçin yardımcı olurum.

  • veysel

    Hocam bilgileriniz için teşekkür ederim. Bir sorum daha vardı msn adresinize gönderdim cevap verirseniz çok sevinirim.şimdiden teşekkür ederim