Elektronik / Mikrodenetleyici Projeleri/

AT89C51 Analog Saatin Grafik Lcd ile Gösterilmesi

Sponsorlu Bağlantılar

Hazırlayanlar: Adem Demir, Sezgin Gültekin, Cem Şahan – Emeği geçen Kişilere Teşekkürler

ilk olarak analog saat genel olarak açıklarsak. Saatimizde saniye, dakika belirten iki çubuk var. Saati göstermek için ise saat numaralarının üstü siyahlaşır. Örneğin saat iki olduğun da iki sayısının üstü siyahlşır. her 60 saniyede bir dakika ve her 60 dakikada bir saat artar. Saat 12 den sonra tekrar başa döner.

Bu uygulamayı yaparken yaptığımız işlemleri sıralarsak;

1. İlk olarak saatin çalışması ve uygulanabilecek şekle getirilmesi için işlemler yapıldı.

Saat için grekli olan kombinasyonlar belirlendi. buna göre akrep yelkovan ve saat için gerekli tasarımları kendi aramızda tartışarak kararlaşırdık.

2. Saat için gerekli olna elemanlar tespit edilerek elemanlar temin edildi.

devrede kullanacağımız elemanları tespit ettik. Bu elemanlar ilk olarak bilgisayar ortamında denendi. Daha sonra devrenin çalışma durumuna göre uygulama alanına geçildi.

Grafik LCD için kaynak kodların çıkarılması

bu konuda grafik lcd hakkında fazla bir bilgimiz olmadığından dolayı, internet üzerinden grafik lcd hakkında genel bilgiler toplanarak, grafik lcd ile yapılan benzer uygulamar incelendi. Daha sonra kullanılacak grafik lcd bacak bağlantısını gösteren pdf dosyası internet üzerinden bulunarak genel olarak incelendi.

Kullanacağımız grafik LCD 128×64 piksel genişliğe sahip olan “HY-12864K”dır. Bu LCD’nin bağlantıları PDF uzantılı dosyada eklerde verilmiştir. 128×64 grafik LCD ler genel olarak aynı yapıya sahiptir. Farkları güç harcamaları ,bağlantı şekilleri ve led renkleridir. Grafik LCDler iki kare olarak yönetilirler (64×64) ve 3 kısımdan oluşur. Satır, Sütun ve sayfalar. 128×64 grafik ekranda standart olarak 8 sayfa ve 64 sütun bulunur.

Her bir sayfanın bir sütununda 8 satır bulunmaktadır. Ve bu 8 satırın yönetimi için DB0-DB7 veri hattına gerekli binary kodları yollamak gerekir. Mesela grafik lcdiye 1111 1111 bilgisini göndermek istiyorsak . Bunun karşılığı heksadesimal olarak FF (0xFF)tir. Aşağıdaki şekil incelendiğinde “1” sayısını grafik LCD de göstermek için gerekli kod dizisi şu şekildedir.

{0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0xFF}

Bu tarz kodlamalarla sayfalar oluşturuluştur ve bu kodlama türüne göre sayfalar oluşturularak grafik lcdye gönderilmiştir. bizim yaptığımız devrede her saniye için devreye bir kod dizisi gönderilekte böylece saniyelerle dakikaları, dakikalarla da saatler oluşturmaktadır.

Grafik LCD komutları

Grafik LCD de işlem yaptırabilmek için bazı fonksiyonların eklenmesi gerekir. G_LCD.h kütüphanesi içerisinde uç tanımlamaları, gecikme (delay) fonksiyonu, grafik LCD ye int değer yazdırma fonksiyonu ,grafik LCD’den int değer okuma fonksiyonu, grafik LCD de koordinatları verilen noktaya tam sayı yazdırma fonksiyonu , grafik LCD ekranını doldurma ve temizleme işlemi, grafik LCD’yi başlangıç ayarlarına kurma ve grafik LCD ye Harf yazdırma fonksiyonu bulunur. Bu kütüphanenin programa mutlaka eklenmesi gerekir.

Keil ile programın yazılması

Yapılan bu ön uygulamalardan sonra 8051 mikro denetleyicimize göndereceğimiz kaynak kodlarını keil programına yazarak derledik. Daha sonra bu kodlar derlenerek hatalar bulundu. bulunan hatalar kısmen de olsa düzeltilerek derlendi. Daha sonra kodlarımızı 8051’e göndermek için gerekli olan hex dosyaysı oluşturularak bu aşama tamamlandı.

Hazırlanan programın isis programında simule edilmesi

Bu aşamada ilk olarak eleanlarımız kütüphaneden çağrılarak devre şması oluşturuldu. bağlantılar kurularak grafik lcdmize kaynak kodlar yüklenerek devre çalışması incelendi.

Devrenin çalışmış vaziyet deki görüntüsü ise aşağıda verilmiştir.

Similasyon il gerçek devre arasındaki farklılıklar

• İlk olarak devre similasyonun da belirtilen grafik lcd ile uygulamada kullanılan gfarik lcd farklı olup bu bağlantı uçlarına göre devre dizaynı gerçekten zordur.

• Ayrıca devrede şemasında gösterilmeyen fakat uygulamada devreye bir pot bağlanması gerekir. bu pot grafik lcdnin konstrat ayarının yapmak için kullanılır. eğer bu port kullanılmaz ise grafik lcd de hiç bir gözükmez ya şase konumunda beyaz yada +5v konumunda siyah bir şekil ortaya koymaktaır.

• Ekrana basma hızı frekans etkisnden dolayı yavaş olduğu fark edildi fakat bu sorun giderilemedi.

Projeye ait keil ve proteus isis dosyaları: AT89C51 Analog Saatin Grafik Lcd ile Gösterilmesi

Dosya indirme LINK listesi (TXT formatında) link-2370.zip şifre-pass: 320volt.com

  • pierrie48

    dostum bu paylaşımın çok güzel.. fakat szden bir isteğim olacak,acaba bu işlemin dijital saat gösterimi olan projeside elinizde bulunuyormu?

  • emrah

    Hocam elinize sağlık güzel proje. Ama galiba link kırılmış.

  • link yenilendi