PIC18F2620 Nokia 6100 lcd menü arayüz uygulaması microchip C18

| Haziran 6, 2023 Tarihinde güncellendi
PIC18F2620 Nokia 6100 lcd menü arayüz  uygulaması microchip  C18

Nokia 6100 lcd ekran ile yapılan bir çok örnek bulunuyor genelde microchip PIC serisi ile yapılan uygulamar popüler bu uygulama grafik lcd ilemenü oluşturma konusunda faydalı bir örnek olabilir. Ana menü üzerinden ayarlar, hakkında, resimler gibi bölümler bulunuyor basit bir kullanıcı arayüzü hazırlanmış. Resimleri görüntülemek için LCD Bitmap And FontCreator proramı ile resimler dönüştürülüp kullanılmış

PCBway Türkiye PCB Manufacturer PCB Assembly

PIC18F için Grafik Kullanıcı Arayüzü

Çözünürlük 130 x 130 pikseldir, her biri ayrı ayrı 8 veya 12 bit renkle adreslenebilir. Ekran küçüktür ve dış boyutları 1,35″ x 1,58″‘dir. Ekranın boyutu yalnızca 1,2″ x 1,2″‘dir ancak menüleri, resimleri ve metin mesajlarını görüntülemek için yeterince büyüktür.

LCD arabirimi:

Ekranı bir PIC’ye bağlamak oldukça kolaydır ve birkaç voltaj regülatörü ve bir seviye değiştirici gerektirir. LCD, 7 voltta çalışan dahili bir LED arka aydınlatmaya sahiptir. Ekran 3.3v mantığı kullanır ve onu çalıştırmak için 3.3v regülatör gerektirir. 5 voltta çalışan PIC’ler kullanıyorum, bu nedenle TTL mantık seviyelerini 3.3v’a kaydıran bir çip gerekiyor.

PIC, 10Mhz’lik bir kristalle saatlenir ve dahili olarak 4x PLC ile yapılandırılır, bu da 40Mhz’lik bir saat hızıyla sonuçlanır.

Burada sunulan yazılım, Microchip’in MPLAB Entegre Geliştirme Ortamı kullanılarak geliştirilmiştir. Kodun tamamı, Microchip’in C18 derleyicisinin ücretsiz sürümü kullanılarak C dilinde yazılmıştır. Çipi programlamak ve hata ayıklamak için Microchip’in ICD2’si kullanıldı.

LCDDriver.c doğrudan ekrana yazan yordamları içerir. Piksel, çizgi, daire, metin ve bitmap çizmek için işlevler içerirler. Metin, beş yazı tipinden biri kullanılarak ve sola, sağa veya ortaya dayalı olarak çizilebilir.

LCD’yi farklı koordinat sistemleri için yapılandırmak mümkündür. Ekranı konektör tırnağı üstte olacak şekilde monte etmeyi seçiyorum. Koordinat sistemini sol üst köşede 0,0 olacak şekilde X aşağı, Y sağa doğru olacak şekilde kuruyorum. Ekran, X=0 ve X=131 sütunlarını veya Y=0 ve Y = 131 satırlarını göstermez. Bu, 1 ila 130 arasında çalışan kullanılabilir koordinatlarla sonuçlanır.

Düşük seviyede, bir grafik ekrana yazmanın en kolay yolu, bir pikselin X ve Y koordinatlarını, ardından piksel değerini belirtmektir, ancak bu yöntem çok verimsizdir. Ekrana yazmayı daha hızlı hale getirmek için, bu LCD bir otomatik artırma ve kaydırma özelliği kullanır. Önce sol üst koordinatı, ardından sağ alt koordinatı ayarlayarak çalışır. Daha sonra o bloktaki tüm piksel değerlerini gönderirsiniz, verdiğiniz her pikselle koordinatı otomatik olarak ilerletir.

Ekran, otomatik artırma ve kaydırma için RAMWR komutunu kullanır. Başlatma kodum, bu komutu pikselleri Y yönünde yazacak, yukarıdan aşağıya gidecek ve ardından soldan sağa kaydıracak şekilde yapılandırıyor. Bu seçim, değişken karakter genişliklerine sahip çizim yazı tiplerini en iyi şekilde desteklemek için yapılmıştır. (Not: Bu kaydırma yöntemi nedeniyle, bitmap verileri, sol üst köşedeki pikseli temsil eden ilk bayt, ardından aşağı ve sağa doğru ilerleyen dizilerde saklanmalıdır.)

Kullanıcı arayüzünü (menüler, mesaj kutuları, …) destekleyen kod, UserInterface.c dosyasındadır ve LCDDriver.c modülünün üzerine inşa edilmiştir.

Menüler Oluşturma:

Menüler, çok sayıda komut ve yapılandırma ayarı içeren uygulamaları desteklemek için bir kullanıcı arabirimine temiz ve tutarlı bir yaklaşım sağlar. Buradaki bu menüler en fazla 6 girişe sahip olabilir. Menüler ayrıca, ilgili komutları gruplamak için kolay bir yol sağlayan alt menülere sahip olabilir. Örneğin, yukarıda gösterilen Ana menü bir Ayarlar girişi içerir. Seçilmesi, ayarlarla ilgili komutların bir alt menüsünü sunar.

Menüler, bir menü girişleri tablosu kullanılarak oluşturulur. Her giriş, kullanıcı tarafından menü öğesi seçildiğinde yapılması gerekenlerle birlikte menü metnini içerir. Üç tür menü girişi vardır: Komutlar, Alternatifler ve Alt Menüler.

UISelectMenuDisplay() işlevini çağırmak, DisplaySpace’te bir menü çizer. Bu işlev, menüyü tanımlayan tabloya bir işaretçi ile çağrılır.

nokia6100-microchip-c18-pic18f-nokia-menu-glcd

PCF8833-LCDDriver-nokia6100-microchip-c18-pic18f-S1D15G10

Projeye ait şema pcb kaynak C kodları, LCD Bitmap FontCreator programı var kaynak: www.reifel.org

pic18f2620-nokia-6100-lcd-menu-arayuz-uygulamasi-microchip-c18

Şifre-Pass: 320volt.com

Yayım tarihi: 2011/04/18 Etiketler: , , , , ,



Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir