This post is also available in: English (İngilizce)
SAP1024B Ekran Kütüphanesi Kullanımı Genel
- Sistem Fonskiyonları
- SAP1024B INIT Fonksiyonu
- SAP1024B STATUS Fonksiyonu
- SAP1024B KOMUT GONDER Fonksiyonu
- SAP1024B DATA YAZ Fonksiyonu
- SAP1024B DATA OKU Fonksiyonu
- SAP1024 GRAFIK ADRES POINTER KONUMLANDIRMA Fonksiyonu
- SAP1024 LCD GRAFIK TEMIZLE Fonksiyonu
- SAP1024 LCD TEXT TEMIZLE Fonksiyonu
- SAP1024 LCD TEMIZLE Fonksiyonu
- SAP1024 CURSOR POZIZYON Fonksiyonu
- Görsel Fonksiyonlar
- SAP1024_KARAKTER_YAZMA Fonksiyonu
- SAP1024_YAZI_YAZMA Fonksiyonu
- SAP1024_LCD_GELISMIS_YAZI Fonksiyonu
- SAP1024_LCD_RESIM_BAS Fonksiyonu
- SAP1024_LCD_SIMGE_BAS Fonksiyonu
- SAP1024_PIXEL Fonksiyonu
- SAP1024_CIZGI Fonksiyonu
- SAP1024_DORTGEN Fonksiyonu
- SAP1024_DORTGEN_RADUS Fonksiyonu
- SAP1024_CEMBER Fonksiyonu
- SAP1024_UCGEN Fonksiyonu
- Kütüphane
SAP1024B EKRAN KÜTÜPHANESİ KULLANIMI
Bu bölümde kütüphanede bulunan fonksiyonlar tek tek açıklanacaktır. Anlaşılamayan noktaları ve hata bildirimlirini ” Soru-Cevap” forumuna yapabilirsiniz
Önemli Notlar:
- Kütüphane sadece 240×120 ekranda denenmiştir ancak esnek tasarımı sayesinde diğer ekranlarda da
çalışacaktır - Kütüphane SAP1024B entegresine göre yazılmıştır ancak bu entegre T6963C entegresinin kopyası olduğu
için bu entegreye sahip ekranlar içinde uygundur - Kütüphane MikroC de kullanılmak üzere PIC18 MCU lar için tasarlanmıştır. Daha farklı programlar ve
MCU larda çalışması kontrol edilmelidir - MCL(binary) dosyasını projenize nasıl ekleyeceğinizi bilmiyorsanız lütfen video tanıtımı izleyiniz
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 fons selecet 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: Genel olarak son kullanıcının ihtiyacı olan komular “Display Mod Komutlarıdır”.Diğer bir çok komut sistem içerisinde kullanılması gerekir. Farklı yerlerde kullanılması sistemde hatalara sebep verebilir.
-Display Mod Komutları
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_OFF – ekran görüntü vermez ancak arkaplanda çalışmaya devam eder
- TEXT_CURSOR_OFF-imleci kapatır
- TEXT_CURSOR_ON_BLINK_OFF-imlec vardır ancak yanıp sönmez
- TEXT_CURSOR_ON_BLINK_ON-imlec vardır ve yanıp söner
- GRAPHIC_CURSOR_OFF-imleci kapatır
- GRAPHIC_CURSOR_ON_BLINK_OFF-imlec vardır ancak yanıp sönmez
- GRAPHIC_CURSOR_ON_BLINK_ON-imlec vardır ve yanıp söner
- TEXT_GRAPHIC_CURSOR_OFF-imleci kapatır
- TEXT_GRAPHIC_CURSOR_ON_BLINK_OFF-imlec vardır ancak yanıp sönmez
- TEXT_GRAPHIC_CURSOR_ON_BLINK_ON-imlec 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) – örnekte ekran kapatma komutu verilmiştir. Buna göre ekran görüntü vermez ancak arka planda çalışmaya devam eder
1D-) SAP1024_DATA_YAZ Fonksiyonu
Amacı:
GLCD ye veri yazar
Kullanımı:
SAP1024_DATA_YAZ(veri) – şeklinde kullanılır
-veri = 8 bitlik veriyi temsil eder.
Örnek:
SAP1024_DATA_YAZ(0b10000001) – örnekte veri binary olarak yazılmıştır. Ancak desimal veya hexadesimalde yazılabilir.
1E-) SAP1024_DATA_OKU Fonksiyonu
Amacı:
GLCD pointerin bulunduğu noktadaki verileri okur ve kendisi ile geri döndürür
Kullanımı :
SAP1024_DATA_OKU( ) – şeklinde kullanılır herhangi bir parametre almaz
1F-) SAP1024_GRAFIK_ADRES_POINTER_KONUMLANDIRMA Fonksiyonu
Amacı:
Pointerin konumlanacağı noktayı belirler.
Kullanımı:
NOT:Ekranın sol üst köşesi x=0 ve y=0 dır. Eksi parametre yoktur
SAP1024_GRAFIK_ADRES_POINTER_KONUMLANDIRMA( x , y) – şeklinde kullanılır
-x= ekrandaki “x” pozisyonunu belirler
-y= ekrandaki “y” pozisyonunu belirler
Örnek :
SAP1024_GRAFIK_ADRES_POINTER_KONUMLANDIRMA( 10 , 5) – ekranda x=10 ve y=5 in denk geldiği noktaya pointeri gönderir.
1G-) SAP1024_LCD_GRAFIK_TEMIZLE Fonksiyonu
Amacı :
Grafik belleğini siler yani ekranda yazı dışında bulunan tüm görüntü silinir
Kullanımı:
SAP1024_LCD_GRAFIK_TEMIZLE( ) – şeklinde kullanılır, parametre almaz
1H-) SAP1024_LCD_TEXT_TEMIZLE Fonksiyonu
Amacı:
Yazı belleğini siler yani ekranda grafik dışında kalan tüm yazıları siler . Grafik olarak yüklenen yazılar silinmez.
Kullanımı:
SAP1024_LCD_TEXT_TEMIZLE( ) – şeklinde kullanılır , parametre almaz
1I-) SAP1024_LCD_TEMIZLE Fonksiyonu
Amacı:
Ekrandaki tüm yazı ve grafiği aynı anda siler
Kullanımı:
SAP1024_LCD_TEMIZLE( ) – şeklinde kullanılır, parametre almaz
1J-) SAP1024_CURSOR_POZIZYON Fonksiyonu
Amacı:
İmlecin poziyonunu belirler
Kullanımı:
SAP1024_CURSOR_POZIZYON( x, y) , şeklinde kullanılır
-x= ekrandaki “x” konumunu belirler
-y=ekrandaki “y” konumunu belirler
Örnek:
SAP1024_CURSOR_POZIZYON( 0, 0) – imleci ekranın en sol üst köşesine gönderdik
2-GÖRSEL FONKSİYONLAR
2A-) SAP1024_KARAKTER_YAZMA Fonksiyonu
Amacı:
Bir adet karater yazar
Kullanımı:
SAP1024_KARAKTER_YAZMA(karakter) – şeklinde kullanılır
-karakter : string bir değerdir. Tek karakter alacağı için ‘ ‘ tek tırnak içinde bildirilir
Örnek:
SAP1024_KARAKTER_YAZMA(‘a’) – ekranda “a” karakteri yazdırıldı
2B-) SAP1024_YAZI_YAZMA Fonksiyonu
Amacı:
Ekranda istenilen yere cümle veya kelime yazmak için kullanılır.
GLCD nin standart ROM hafızasından okuma yaptığı için karakter boyutları değiştirilemez.
Kullanımı:
SAP1024_YAZI_YAZMA(sutun_X,satir_Y,yazi) – şeklinde kullanılır
-sutun_X: Yazı başlangıç x konumu
-sutun_Y:Yazı başlangıç y konumu
-yazi: Yazılması istene string . Pointer olduğundan yazının sınırı yoktur. Arkaplanda yazı boyutuna göre kendini otomatik ayarlar
Örnek:
SAP1024_YAZI_YAZMA(10,10,”Ercan Koclar”) – x ve y 10 da ( buradaki sayılar sutun ve satır dır.) “Ercan Koclar” yazdırılmıştır
2C-) SAP1024_LCD_GELISMIS_YAZI Fonksiyonu
Amacı:
Gelişmiş yazı yazma fonksiyonudur. Dışarıda kendi hazırladığınız Fontlarda kullanılabilir.
Kütüphanede hazır olarak “standart” adında font entegre edilmiş haldedir.
Yazı boyutu ayarlanabilir
Kullanımı:
SAP1024_LCD_GELISMIS_YAZI(pozisyon_x,pozisyon_y, yazi, font,olcek,bosluk, invert) – şeklinde kullanılır
-pozisyon_x: yazının x konumundaki pozisyonunu belirler
-pozisyon_y: yazının y konumundaki pozisyonunu belirler
-yazi : yazılacak yazıyı taşıyan pointerdir. Yazı istenilen uzunlukta olabilir
-font: Kullanılacak font adı seçilir. Varsayılan font için “standart” yazılmalıdır
-olcek: Yazının büyüklüğünü ayarlar
-bosluk: Değer arttıkça karakterleri birbirine yaklaştırır. Yüksek değerler yazıların iç içe girmesine sebep verir
-invert: Renkleri terse cevirir. Terslemek için 1 değeri verilir. Varsayılan değer 0 dır
Örnek :
SAP1024_LCD_GELISMIS_YAZI(1,1, “ROKETLER”, standart,1,1,0) – x ve y 1 de “ROKETLER” yazısı 1 ölçek ile yazıldı
SAP1024_LCD_GELISMIS_YAZI(20,20, “ROKETLER”, standart,2,1,0) – x ve y 1 de “ROKETLER” yazısı 2 ölçek ile yazıldı
2D-) SAP1024_LCD_RESIM_BAS Fonksiyonu
Amacı:
GLCD nin tamamını kaplayacak şekilde tam ekran resimi ekranda göstermektir.
Kullanırken öncelikle resim boyutu ekran boyutuna çevrilmeli ardından 1 bit ( siyah beyaz) yapılmalı.
Siyah beyaz bu resim kod haline cevirilir. Bu kod dizisi fonksiyon ile kullanılır.
Dizi ayrı dosyada oluşturulup main e “#include” edilebilir
NOT: 1 birt resimleri cevirmek için “LCDAssistant” programını kullanabilirsiniz.
Kullanımı:
SAP1024_LCD_RESIM_BAS(veri,invert) – şeklinde kullanılır
-veri: 1 bit resmin cevirildiği dizi adı buraya yazılır. Tam anlamı ile anlamak için mutlaka videoyu izleyiniz
-invert: 1 olan bitleri 0 / 0 olan bitleri 1 yaparak resmi tersine çevirir
NOT: ben_kimim 1 bit resmin kod dizisi indirerek inceleyebilirsiniz.
Örnek:
SAP1024_LCD_RESIM_BAS(ben_kimim,1) – “ben_kimim” adlı dizi ekranda gösteriliyor
2E-) SAP1024_LCD_SIMGE_BAS Fonksiyonu
Amacı:
Tam ekranın aksine özellikle menu tasarımları için kullanılacak fonksiyondur
Ufak simge resimlerini diziye cevirerek ekranın istediğiniz yerinde diğerlerinden bağımsız olarak görüntüleyebilirsiniz. Yani menu elemanı olarak düşünürsek bir buton resmini eklediğimizde sadece onu kontrol edebiliriz , ekrandaki diğer resimler değişikliğe uğramaz değişiklik ilgili resim bölgesinde olur
İnternette bulduğunuz simgelerinde boyutlarını ayarlayıp 1bite cevirerek kullanabilirsiniz.
Kullanımı:
SAP1024_LCD_SIMGE_BAS(pozisyon_x,pozisyon_y,veri,genislik_pixel,yukseklik_pixel,invert) – şeklinde kullanılır
-pozisyon_x: simgenin görüntülenmeye başlayacağı x pozisyonu
-pozisyon_y: simgenin görüntülenmeye başlayacağı y pozisyonu
-veri : simge verisini taşıyan dizi adı buraya yazılır
-genislik_pixel : simgenin piksel olarak genisliği yazılır
-yukseklik_pixel : simgenin piksek olarak yüksekliği yazılır
-invert: simgeyi terse cevirir. Bu özellik butonlarda basıldığını belirtmek üzere üzerine gelindiğinde kullanılmak için idealdir.
NOT: 1 2 Aşağıdaki 1 bit simgelerin kod dizi dosyaları indirerek inceleyebilirsiniz
Örnek:
Örnekte kullanılan birbirinden bağımsız 2 adet 1 bitlik simge resimleri
SAP1024_LCD_SIMGE_BAS(0,0,simge1,40,56, 0) – simge invert edilmeden görüntülenmiştir
SAP1024_LCD_SIMGE_BAS(50,0,simge2,49,59, 1)- simge invert edilmiştir
2F-) SAP1024_PIXEL Fonksiyonu
Amacı:
Konumu belirtilen noktada bir adet pixeli renklendirir yada siler
Temel çizim fonksiyonu olması yanında grafik diyagram çizimi , dokunmatik tahta gibi uygulamar için kullanılabilir
Kullanımı:
SAP1024_PIXEL(pozisyon_x,pozisyon_y,renk) – şeklinde kullanılır
-pozisyon_x: x konumunda pikselin pozisyonunu verir
-pozisyon_y: y konumunda pikselin pozisyonunu verir
-renk: renk eğer 1 ise piksel beyaz olur 0 olursa piksel silinir
Örnek:
SAP1024_PIXEL(0,0,1)
SAP1024_PIXEL(10,10,1)
SAP1024_PIXEL(1,2,1) farklı 3 noktada pikseller oluşturulmuştur
2G-) SAP1024_CIZGI Fonksiyonu
Amacı:
İstenilen uzunlukta ve kalınlıkta çizgi çizilmesini sağlar.
Başlangıç(x0,y0) ve bitiş(x1,y1) pozisyonları arasında bir doğru çizer
Gercek zamanlı saat görüntüsü için oldukça uygun bir fonksiyon
Kullanımı:
SAP1024_CIZGI(pozisyon_x0,pozisyon_y0,pozisyon_x1,pozisyon_y1,kalinlik,renk) – şeklinde kullanılır
-pozisyon_x0: çziginin başlangıç noktasının x kordinatı
-pozisyon_y0: çizginin başlangıç noktasının y kordinatı
-pozisyon_x1: çizginin bitiş noktasının x kordinatı
-pozisyon_y1: çizginin bitiş noktasının y kordinatı
-kalinlik: değer arttıkça çizgi kalınlığı artar
-renk: 1 olursa görünürdür 0 yapılırsa invert ederek terse cevirir
Örnek:
SAP1024_CIZGI(0,0,35,25,1,1)
SAP1024_CIZGI(25,25,30,32,2,1)
2H-) SAP1024_DORTGEN Fonksiyonu
Amacı:
Dörgen yani kare veya dikdörtgen çizimi yapar
Kalınklık verilerbilir
Belirtilen dört nokta arasında çizim yapar
Kullanımı:
SAP1024_DORTGEN(pozisyon_x0,pozisyon_y0,pozisyon_x1,pozisyon_y1, kalinlik,renk) – şeklinde kullanılır
-pozisyon_x0: 1. x noktası verisini alır
-pozisyon_y0: 1. y noktası verisini alır
-pozisyon_x1: 2. x noktası verisini alır
-pozisyon_y1: 2. y noktası verisini alır
-kalinlik: çizilen dörtgenin çizgi kalınlığını arttırır
-renk: 1 ise görünür olur 0 yapılırsa invert eder
Örnek:
SAP1024_DORTGEN(0,0,20,40, 5,1) – çizgi kalınlığı 5 olarak yapılmış dörtgen
SAP1024_DORTGEN(50,50,45,40, 1,1)
2İ-) SAP1024_DORTGEN_RADUS Fonksiyonu
Amacı:
Dörtgen çizim fonksiyonun aynısıdır tek farkı köşelerine radius yani yumuşatma verir
Kullanımı:
SAP1024_DORTGEN_RADUS( pozisyon_x0,pozisyon_y0,pozisyon_x1,pozisyon_y1, r, dolu,renk) – şeklindedir
diğer değişkenler dörtgen çizim fonksiyonu ile aynıdır
-r: istenen radius ölçüsüdür
Ö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” ölçüsünde çember çizer
Bölge , çemberin dört açısını temsil eder(90 derece) sıfır girilirse tamamı çizilir.
Kullanımı:
SAP1024_CEMBER(pozisyon_x,pozisyon_y,r,dolu,bolge,renk) – şeklinde kullanılır
-pozisyon_x: merkezin x kordinatı
-pozisyon_y: merkezin y kordinatı
-r: daire yarı çapı
-dolu: 1 yapılırsa daire için tam dolu çizilir 0 yapılırsa içi boş daire çizilir
-bolge: daire 4 bölgeden oluşur. 0 verilirse tam daire çizilir rakam verilirse rakama denk gelen açı kadar daire çizilir.( örnek: yarım daire gibi)
-renk: 1 ise görünürdür 0 verilirse ise invert eder
Ö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) – 1. bölge seçildi
2K-) SAP1024_UCGEN Fonksiyonu
Amacı:
Üç noktanında (x,y) kordinatları girilerek üçgen çizer
Kullanımı:
Üçgenin konumlandırması aşağıdaki resimdeki gibidir
SAP1024_UCGEN(ax,bx,cx,ay,by,cy, renk) – şeklinde kullanılır
-ax: A noktasının x kordinatı
-bx: B noktasının x kordinatı
-cx: C noktasının x kordinatı
-ay: A noktasının y kordinatı
-by: B noktasınn y kordinatı
-cy: C noktasının y kordinatı
-renk: 1 ise görünür 0 ise invert eder
Örnek:
SAP1024_UCGEN(0,40,20,20,25,30, 1)
SAP1024_UCGEN(100,150,125,50,50,25, 1)
- Sorularınızı Soru-Cevap Forumuna sorabilirsiniz.
“GLCD KÜTÜPHANESİ KULLANIM” VİDEO DERSİ
Gerekli Dosyalar
- GLCD Ekran Kütüphanesi (SAP1024B – T6963C) MikroC Kütüphanesi – .mcl – (ÜCRETSİZ)
Bağlantıyı Görmek İçin Giriş Yapın ya da Ücretsiz Üye Olun
This post is also available in: English (İngilizce)
Comments are closed.