This post is also available in:
English (İngilizce)
- Sistem Fonksiyonları
- SAP1024B INIT Fonksiyonu
- SAP1024B STATUS Fonksiyonu
- SAP1024B KOMUT GÖNDER Fonksiyonu
- SAP1024B DATA YAZ Fonksiyonu
- SAP1024B DATA OKU Fonksiyonu
- SAP1024 GRAFİK ADRES POINTER KONUMLANDIRMA Fonksiyonu
- SAP1024 LCD GRAFİK TEMİZLE Fonksiyonu
- SAP1024 LCD TEXT TEMİZLE Fonksiyonu
- SAP1024 LCD TEMİZLE Fonksiyonu
- SAP1024 CURSOR POZİSYON Fonksiyonu
- Görsel Fonksiyonlar
- SAP1024_KARAKTER_YAZMA Fonksiyonu
- SAP1024_YAZI_YAZMA Fonksiyonu
- SAP1024_LCD_GELİŞMİŞ_YAZI Fonksiyonu
- SAP1024_LCD_RESİM_BAS Fonksiyonu
- SAP1024_LCD_SİMGE_BAS Fonksiyonu
- SAP1024_PIXEL Fonksiyonu
- SAP1024 ÇİZGİ Fonksiyonu
- SAP1024 DÖRTGEN Fonksiyonu
- SAP1024 DÖRTGEN RADIUS Fonksiyonu
- SAP1024 ÇEMBER Fonksiyonu
- SAP1024 ÜÇGEN Fonksiyonu
- Kütüphane
SAP1024B EKRAN KÜTÜPHANESİ KULLANIMI
Bu bölümde kütüphanede bulunan fonksiyonlar tek tek açıklanacaktır.
Önemli Notlar:
- Kütüphane sadece 240×120 ekranda denenmiştir ancak esnek tasarımı sayesinde diğer ekranlarda da
çalışacaktır - SAP1024B, aslında bir T6963C GLCD sürücüsü kopyasıdır, bu nedenle bu kütüphane T6963C entegresiyle de uyumludur.
- Bu kütüphane, MikroC GLCD yazı fonksiyonları açısından oldukça kapsamlı bir destek sunar.
- Kütüphane, özellikle PIC18 GLCD uygulaması geliştiren kullanıcılar için optimize edilmiştir.
- İçeriğinde yer alan GLCD grafik fonksiyonları, ekran üzerinde çizim, simge ve şekil oluşturmayı mümkün kılar.
PIN TANIMLAMASININ YAPILMASI
Kütüphanedeki fonksiyonların GLCD ile iletişim kurup onu kullanabilmesi için bir takım portların ayarlanması ve bağlantının buna göre yapılması gerekir. Pin bağlantıları ile ilgili aşağıdaki resmi inceleyebilirsiniz

- “SAPTRIS” data portlarını temsil eder. GLCD bağlanırken tüm data uçları bir porta sırası ile bağlanmalıdır. Örnekte PORT-D ye bağlandığı için “trsid” olarak yazılmıştır
- “SAPDATA_giris” ve “SAPDATA_cikis” aynı şekilde data pinleri PORT-D ye bağlandığı için “portd” ve “latd” olarak tanımlanmıştır
- “SAP1024_RD”, “SAP1024_CE”, “SAP1024_CD”, “SAP1024_RST”, “SAP1024_FS”, “SAP1024_WR” pinleri GLCD üzerinde adlarından da anlaşılacağı üzere kontrol pinleridir. RST reset – FS function select uçlarıdır
1-SİSTEM FONKSİYONLARI
1A-) SAP1024_INIT Fonksiyonu
Amacı :
SAP1024_INIT fonksiyonu bağlı olan GLCD hakkında tüm parametreleri toplar ve gerekli değişkenleri hesaplar. Bu hesaplamalar ilerideki işlemlerde kullanılır. Mutlaka en başta bildirilmesi gerekir.
Kullanımı:
SAP1024_INIT (ekran genişliği,ekran yüksekliği,font)
Yukarıdaki şekilde çağırılır. “ekran genişliği” , “ekran yüksekliği” ve “font” adında üç adet argümanı vardır
– Ekran genişliği = Kullanılacak lcd nin genişliğini belirtir
-Ekran Yüksekliği = Kullanılacak lcd nin yüksekliğini belirtir
-Font = Kullanılacak font boyutunu belirtir. 2 seçenek vardır “6” dar fonttur “8” ise geniş fonttur
Örnek:
SAP1024_INIT (240,128,8) -> örnekte 240×128 bir GLCD yi geniş font ile çalıştırmasını istedik
1B-) SAP1024_STATUS Fonksiyonu
Amacı:
GLCD işlemcisinin meşgul olup olmadığını denetler. Meşgul durumdan çıkana kadar döngüde kalır ve sürekli denetler
Kullanımı:
Herhangi bir parametre alıp işlem yapmaz . Veri yazma ve komut fonksiyonlarının içerisinde işlemciye veri gönderme öncesinde denetim amaçlı kullanılır
1C-) SAP1024_KOMUT_GONDER Fonksiyonu
Amacı:
GLCD ye bir takım komutlar gönderilmesini sağlar.
Kullanımı:
SAP1024_KOMUT_GONDER( komut) , şeklinde çağırılarak kullanılır
-komut: daha önceden belirlenmiş GLCD içerisinde bulunan komutları çağıdır. Tam liste aşağıdadır. Bu komutlar gerçekte denk gelen değerler ile eşleştirilmiştir.
Komut Listesi :
NOT: aşağıda bazı komutlar benzerdir. GLCD lerde TEXT ve GRAPHIC bölümü olarak 2 bölüm vardır. Bu sebeple her 2 bölüm için hem ayrı ayrı hemde her ikisinide kapsayan komutlar bulunabilir
– Display Mod Komutları
- DISPLAY_OFF – ekran görüntü vermez ancak arka planda çalışmaya devam eder
- TEXT_CURSOR_OFF – imleci kapatır
- TEXT_CURSOR_ON_BLINK_OFF – imleç vardır ancak yanıp sönmez
- TEXT_CURSOR_ON_BLINK_ON – imleç vardır ve yanıp söner
- GRAPHIC_CURSOR_OFF – imleci kapatır
- GRAPHIC_CURSOR_ON_BLINK_OFF – imleç vardır ancak yanıp sönmez
- GRAPHIC_CURSOR_ON_BLINK_ON – imleç vardır ve yanıp söner
- TEXT_GRAPHIC_CURSOR_OFF – imleci kapatır
- TEXT_GRAPHIC_CURSOR_ON_BLINK_OFF – imleç vardır ancak yanıp sönmez
- TEXT_GRAPHIC_CURSOR_ON_BLINK_ON – imleç vardır ve yanıp söner
– Cursor Pattern Komutları
- BIR_CIZGILI_IMLEC – imleç kalınlığını tek çizgi yapar
- IKI_CIZGILI_IMLEC – imleç kalınlığını iki çizgi yapar
- UC_CIZGILI_IMLEC – imleç kalınlığını üç çizgi yapar
- DORT_CIZGILI_IMLEC – imleç kalınlığını dört çizgi yapar
- BES_CIZGILI_IMLEC – imleç kalınlığını beş çizgi yapar
- ALTI_CIZGILI_IMLEC – imleç kalınlığını altı çizgi yapar
- YEDI_CIZGILI_IMLEC – imleç kalınlığını yedi çizgi yapar
- SEKIZ_CIZGILI_IMLEC – imleç kalınlığını sekiz çizgi yapar
– Mod Set Komutları
- OR_MODE_CGROM
- EXOR_MODE_CGROM
- AND_MODE_CGROM
- TEXT_ATTRIBUTE_MODE_CGROM
- OR_MODE_CGRAM
- EXOR_MODE_CGRAM
- AND_MODE_CGRAM
- TEXT_ATTRIBUTE_MODE_CGRAM
– Set Kontrol Komutları
- CURSOR_POINTER_SET
- SET_OFFSET_REGISTER
- SET_ADDRESS_POINTER
- SET_TEXT_HOME_ADDRESS
- SET_TEXT_AREA
- SET_GRAPHIC_HOME_ADDRESS
- SET_GRAPHIC_AREA
– Data Yazma ve Okuma Komutları
- DATA_AUTO_WRITE
- DATA_AUTO_READ
- RESET_AUTO_READ_WRITE
- DATA_WRITE_INCREMENT_ADD
- DATA_READ_INCREMENT_ADD
- DATA_WRITE_DECREMENT_ADD
- DATA_READ_DECREMENT_ADD
- DATA_WRITE_KEEP_ADD
- DATA_READ_KEEP_ADD
– Diğer Komutlar
- SCREEN_PEAK
- SCREEN_COPY
Örnek:
SAP1024_KOMUT_GONDER(DISPLAY_OFF) – Bu örnekte ekran kapatma komutu verilmiştir. Ekran görüntü vermez ancak arka planda çalışmaya devam eder.
1D-) SAP1024_DATA_YAZ Fonksiyonu
Amacı:
GLCD’ye 8 bitlik veri yazar.
Kullanımı:
SAP1024_DATA_YAZ(veri)
-veri: 8 bitlik bir değeri temsil eder.
Örnek:
SAP1024_DATA_YAZ(0b10000001) – Bu örnekte veri binary olarak gönderilmiştir. Aynı işlem decimal veya hexadecimal formatlarında da yapılabilir.
1E-) SAP1024_DATA_OKU Fonksiyonu
Amacı:
GLCD pointer’ının bulunduğu konumdan veri okur ve değeri geri döndürür.
Kullanımı:
SAP1024_DATA_OKU() – Parametre almaz.
1F-) SAP1024_GRAFIK_ADRES_POINTER_KONUMLANDIRMA Fonksiyonu
Amacı:
Pointer’ın grafik bellekte hangi koordinata konumlanacağını belirler.
Kullanımı:
NOT: Sol üst köşe x=0, y=0 kabul edilir. Negatif değer girilemez.
SAP1024_GRAFIK_ADRES_POINTER_KONUMLANDIRMA(x, y)
x: Yatay konum (X ekseni)
y: Dikey konum (Y ekseni)
Örnek:
SAP1024_GRAFIK_ADRES_POINTER_KONUMLANDIRMA(10, 5) – Pointer, ekranın x=10 ve y=5 koordinatına konumlanır.
1G-) SAP1024_LCD_GRAFIK_TEMIZLE Fonksiyonu
Amacı:
Grafik belleğini temizler. Yazılar dışında kalan tüm grafik verileri silinir.
Kullanımı:
SAP1024_LCD_GRAFIK_TEMIZLE() – Parametre almaz.
1H-) SAP1024_LCD_TEXT_TEMIZLE Fonksiyonu
Amacı:
Yazı belleğini temizler. Grafik olarak yüklenmiş yazılar etkilenmez.
Kullanımı:
SAP1024_LCD_TEXT_TEMIZLE() – Parametre almaz.
1I-) SAP1024_LCD_TEMIZLE Fonksiyonu
Amacı:
Ekrandaki tüm yazı ve grafik içerikleri aynı anda temizlenir.
Kullanımı:
SAP1024_LCD_TEMIZLE() – Parametre almaz.
1J-) SAP1024_CURSOR_POZIZYON Fonksiyonu
Amacı:
İmlecin konumunu belirler.
Kullanımı:
SAP1024_CURSOR_POZIZYON(x, y)
x: Ekrandaki yatay pozisyon
y: Ekrandaki dikey pozisyon
Örnek:
SAP1024_CURSOR_POZIZYON(0, 0) – İmleç ekranın sol üst köşesine konumlandırılır.
2- GÖRSEL FONKSİYONLAR
2A-) SAP1024_KARAKTER_YAZMA Fonksiyonu
Amacı:
GLCD ekranına tek bir karakter yazdırır.
Kullanımı:
SAP1024_KARAKTER_YAZMA(karakter)
karakter: Tek karakterli bir string ifade olmalıdır ve ' '
içinde yazılır.
Örnek:
SAP1024_KARAKTER_YAZMA(‘a’) – GLCD ekranına “a” karakteri yazdırılır.

2B-) SAP1024_YAZI_YAZMA Fonksiyonu
Amacı:
GLCD ekranında istenilen koordinatlara kelime veya cümle yazdırır. Bu işlem entegre ROM’daki karakterlerle yapılır ve karakter boyutu sabittir.
Kullanımı:
SAP1024_YAZI_YAZMA(sutun_X, satir_Y, yazi)
- sutun_X: Yazının x konumundaki başlangıcı
- satir_Y: Yazının y konumundaki başlangıcı
- yazi: Yazdırılacak metni içeren string. Pointer olduğundan uzunluk sınırı yoktur.
Örnek:
SAP1024_YAZI_YAZMA(10, 10, “Ercan Koclar”) – 10. sütun ve 10. satır konumuna yazı yazılır.

2C-) SAP1024_LCD_GELISMIS_YAZI Fonksiyonu
Amacı:
Gelişmiş yazı yazma fonksiyonudur. Harici fontlar kullanılarak yazıların boyutu, aralığı ve tersliği (invert) ayarlanabilir. Kütüphane içinde standart
isimli bir font hazır olarak tanımlıdır.
Kullanımı:
SAP1024_LCD_GELISMIS_YAZI(pozisyon_x, pozisyon_y, yazi, font, olcek, bosluk, invert)
- pozisyon_x: Yazının x koordinatı
- pozisyon_y: Yazının y koordinatı
- yazi: Yazdırılacak metin (pointer)
- font: Kullanılacak font adı. Örneğin:
standart
- olcek: Yazı ölçeği (büyüklüğü)
- bosluk: Karakterler arası boşluk. Yüksek değerlerde karakterler çakışabilir.
- invert: Renkleri ters çevirmek için 1 girilir. Varsayılan: 0
Örnek:
SAP1024_LCD_GELISMIS_YAZI(1, 1, “ROKETLER”, standart, 1, 1, 0) – 1×1 pozisyonda 1 ölçekle yazı
SAP1024_LCD_GELISMIS_YAZI(20, 20, “ROKETLER”, standart, 2, 1, 0) – Aynı yazı, 2 kat büyütülmüş şekilde

2D-) SAP1024_LCD_RESIM_BAS Fonksiyonu
Amacı:
GLCD ekranına tam ekran siyah-beyaz (1 bit) bir resim bastırmak için kullanılır.
Not: Kullanılacak resim, ekran boyutuna göre yeniden boyutlandırılmalı ve siyah-beyaz hale getirilmelidir. Bu işlem sonrası resim kod haline getirilir. Önerilen araç: LCDAssistant
Kullanımı:
SAP1024_LCD_RESIM_BAS(veri, invert)
- veri: Resmin kod dizisini temsil eder. Örnek:
ben_kimim
- invert: 1 olan bitleri 0, 0 olan bitleri 1 yaparak görüntüyü ters çevirir.
İnceleme için: ben_kimim.h dosyasını indirerek inceleyebilirsiniz.
Örnek:
SAP1024_LCD_RESIM_BAS(ben_kimim, 1) – Kod dizisi ters çevrilerek ekrana bastırılır.


2E-) SAP1024_LCD_SIMGE_BAS Fonksiyonu
Amacı:
Bu fonksiyon, tam ekran görüntüleme yerine özellikle menü tasarımları için kullanılır. Küçük simge (ikon) görsellerini diziye çevirerek, ekranın istenilen bölgesine yerleştirebilir ve diğer içeriklerden bağımsız olarak gösterebilirsiniz.
Örneğin, bir buton simgesi gösterildiğinde sadece o görsel etkilenir; ekrandaki diğer bölgelerdeki grafikler sabit kalır. Bu yapı, menülerde dinamik simge kullanımı için oldukça idealdir.
İnternette bulduğunuz simgeleri uygun boyutlara getirip 1 bit’e çevirerek kullanabilirsiniz.
Kullanımı:
SAP1024_LCD_SIMGE_BAS(pozisyon_x, pozisyon_y, veri, genislik_pixel, yukseklik_pixel, invert)
- pozisyon_x: Simgenin ekranda yatay (x) başlangıç konumu
- pozisyon_y: Simgenin ekranda dikey (y) başlangıç konumu
- veri: Simgeye ait veri dizisinin adı
- genislik_pixel: Simgenin yatay (genişlik) değeri piksel cinsinden
- yukseklik_pixel: Simgenin dikey (yükseklik) değeri piksel cinsinden
- invert: 1 verilirse renkler ters çevrilir. Bu özellik, örneğin bir butona tıklandığını belirtmek için kullanılabilir.
NOT: Aşağıdaki bağlantılardan 1 bit simgelere ait .h dosyalarını indirip inceleyebilirsiniz: 1.h — 2.h
Örnek:
Örnekte kullanılan birbirinden bağımsız 2 adet 1 bit’lik simge yer almaktadır.
- SAP1024_LCD_SIMGE_BAS(0, 0, simge1, 40, 56, 0) — Simge ekranda orijinal haliyle gösterilir (invert edilmemiştir).
- SAP1024_LCD_SIMGE_BAS(50, 0, simge2, 49, 59, 1) — Simge terslenmiş (invert edilmiş) olarak gösterilir.

2F-) SAP1024_PIXEL Fonksiyonu
Amacı:
Belirtilen konumda bir adet pikseli aktif hale getirir veya siler. Bu temel çizim fonksiyonu; grafiksel gösterimler, diyagramlar ya da dokunmatik tahta uygulamaları gibi projelerde kullanılabilir.
Kullanımı:
SAP1024_PIXEL(pozisyon_x, pozisyon_y, renk) şeklindedir.
– pozisyon_x: Pikselin x (yatay) konumu
– pozisyon_y: Pikselin y (dikey) konumu
– renk: 1 ise piksel görünür (beyaz); 0 ise piksel silinir (siyah)
Örnek:
SAP1024_PIXEL(0, 0, 1)
SAP1024_PIXEL(10, 10, 1)
SAP1024_PIXEL(1, 2, 1) – Bu örnekle üç farklı noktada piksel çizimi yapılır.

2G-) SAP1024_CIZGI Fonksiyonu
Amacı:
Belirlenen iki nokta arasında istenilen kalınlıkta düz bir çizgi çizer. Özellikle saat gösterimi gibi grafik uygulamalarda kullanılır.
Kullanımı:
SAP1024_CIZGI(pozisyon_x0, pozisyon_y0, pozisyon_x1, pozisyon_y1, kalinlik, renk) şeklindedir.
– pozisyon_x0: Başlangıç noktasının x konumu
– pozisyon_y0: Başlangıç noktasının y konumu
– pozisyon_x1: Bitiş noktasının x konumu
– pozisyon_y1: Bitiş noktasının y konumu
– kalinlik: Çizgi kalınlığı (değer büyüdükçe kalınlık artar)
– renk: 1 ise çizgi görünür olur, 0 yapılırsa invert ederek ters görüntü sağlar
Örnek:
SAP1024_CIZGI(0, 0, 35, 25, 1, 1)
SAP1024_CIZGI(25, 25, 30, 32, 2, 1)

2H-) SAP1024_DORTGEN Fonksiyonu
Amacı:
Kare veya dikdörtgen (dörtgen) çizimi yapmak için kullanılır. İstenilen kalınlıkta ve ölçülerde çerçeve çizebilir.
Kullanımı:
SAP1024_DORTGEN(pozisyon_x0, pozisyon_y0, pozisyon_x1, pozisyon_y1, kalinlik, renk) şeklindedir.
– pozisyon_x0: Birinci köşe noktasının x koordinatı
– pozisyon_y0: Birinci köşe noktasının y koordinatı
– pozisyon_x1: Karşı köşe noktasının x koordinatı
– pozisyon_y1: Karşı köşe noktasının y koordinatı
– kalinlik: Çizgi kalınlığını belirler
– renk: 1 ise görünür, 0 ise ters (invert) olarak çizilir
Örnek:
SAP1024_DORTGEN(0, 0, 20, 40, 5, 1) – Kalınlığı 5 olan bir dörtgen
SAP1024_DORTGEN(50, 50, 45, 40, 1, 1)

2İ-) SAP1024_DORTGEN_RADUS Fonksiyonu
Amacı:
Normal dörtgen çizim fonksiyonuna ek olarak, köşelere yuvarlatma (radius) uygulanmasını sağlar. Yumuşatılmış köşe görünümü istenen tasarımlar için uygundur.
Kullanımı:
SAP1024_DORTGEN_RADUS(pozisyon_x0, pozisyon_y0, pozisyon_x1, pozisyon_y1, r, dolu, renk) şeklindedir.
Not: Diğer tüm parametreler, SAP1024_DORTGEN fonksiyonu ile aynıdır.
– r: Köşe yuvarlatma yarıçapı (radius)
– dolu: 1 ise içi dolu çizilir, 0 ise sadece çerçeve çizilir
– renk: 1 görünür, 0 ters (invert) olur
Örnek:
SAP1024_DORTGEN_RADUS(10, 10, 30, 30, 5, 1, 1)
SAP1024_DORTGEN_RADUS(50, 50, 80, 80, 10, 0, 1)

2J-) SAP1024_CEMBER Fonksiyonu
Amacı:
Belirtilen merkez noktasından (x, y) istenilen r yarıçapında çember çizer.
Bölge parametresi çemberin dört ayrı bölgesini (her biri 90°) ifade eder. Eğer sıfır girilirse tüm çember çizilir.
Kullanımı:
SAP1024_CEMBER(pozisyon_x, pozisyon_y, r, dolu, bolge, renk) şeklinde kullanılır.
– pozisyon_x: Merkezin x koordinatı
– pozisyon_y: Merkezin y koordinatı
– r: Dairenin yarıçapı
– dolu: 1 yapılırsa dolu daire, 0 yapılırsa içi boş daire çizer
– bolge: 0 girilirse tam daire çizilir, diğer değerlerde ilgili bölge kadar çizim yapılır (örneğin: yarım daire)
– renk: 1 ise görünür, 0 yapılırsa invert (ters) çizilir

Örnek:
SAP1024_CEMBER(50, 50, 30, 1, 0, 1)
SAP1024_CEMBER(100, 30, 10, 1, 0, 1)
SAP1024_CEMBER(10, 10, 5, 0, 1, 1) – Sadece 1. bölge çizildi

2K-) SAP1024_UCGEN Fonksiyonu
Amacı:
Üç noktanın (x, y) koordinatları girilerek üçgen çizimi yapılır.
Kullanımı:
Üçgenin konumlandırması aşağıdaki görselde gösterilmiştir.

2K-) SAP1024_UCGEN Fonksiyonu
Amacı:
Üç farklı noktanın (x, y) koordinatları girilerek üçgen çizimi yapılmasını sağlar.
Kullanımı:
SAP1024_UCGEN(ax, bx, cx, ay, by, cy, renk) şeklinde kullanılır.
– ax: A noktasının x koordinatı
– bx: B noktasının x koordinatı
– cx: C noktasının x koordinatı
– ay: A noktasının y koordinatı
– by: B noktasının y koordinatı
– cy: C noktasının y koordinatı
– renk: 1 yapılırsa görünür şekilde çizilir; 0 yapılırsa invert (ters) olarak görüntülenir.
Örnek:
SAP1024_UCGEN(0, 40, 20, 20, 25, 30, 1)
SAP1024_UCGEN(100, 150, 125, 50, 50, 25, 1)

Bu yazıda SAP1024B ekran kütüphanesi ile GLCD ekran kullanımını detaylı olarak ele aldık.
SAP1024B ekran kütüphanesi, MikroC ile yapılan projelerde oldukça güçlü bir GLCD kontrol çözümüdür.
Aşağıda yer alan örneklerde sap1024b ekran kütüphanesi fonksiyonlarının kullanımı gösterilmiştir.
Projenizde sap1024b ekran kütüphanesi kullanarak gelişmiş grafik arayüzler oluşturabilirsiniz.
“GLCD KÜTÜPHANESİ KULLANIMI” VİDEO DERSİ
Gerekli Dosyalar
This post is also available in:
English (İngilizce)
Comments are closed.