13. Grafik LCD Kütüphanesi



Benzer belgeler
7. Port Programlama. mikroc Dili ile Mikrodenetleyici Programlama Ders Notları -42- Şekil 2.1. Atmega16 mikrodenetleyici pin şeması

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

int printf (const char *format [, argument,...]);

mikroc Dili ile Mikrodenetleyici Programlama Ders Notları / Dr. Serkan DİŞLİTAŞ

1. Direnç 2. Akım 3. Gerilim 4. Kapasitans 5. Endüktans 6. Frekans

LPC2104 Mikro Denetleyicisini KEIL İle Programlamak

2. Mikro denetleyici Nedir?

Örnek 1: Sağdan sola ledleri yakmak.

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Fall Object-Oriented Programming Laboratory 03

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

DENEY 9-A : PIC 16F877 ve LM-35 ile SICAKLIK ÖLÇÜM UYGULAMASI

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

EEProm 24C08 UYGULAMA AMAÇ 24C08 MCU_VCC. e r : d e G. Sayfa - 1

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

BİLG Dr. Mustafa T. Babagil 1

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

C Programlama printf() Fonksiyonu

AKDENİZ ÜNİVERSİTESİ LOGO KULLANIM KILAVUZU AKDENİZ ÜNİVERSİTESİ STANDARTLARI LOGO LOGO STANDARTLARI

Mifare Kart Yazıcı/Okuyucu Modül (MFM-200)

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

C PROGRAMLAMA D İ L İ

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

WIRELESS TECHNOLOGIES Uygulama Notu. ARX-34 ve ATX-34 KULLANARAKDATA GÖNDERMEK VE ALMAK ÇN GEREKL YAZILIM ve DONANIM

Ön Söz. Fırat Deveci Ağustos 2009 Elektrik ve elektroniğe gönül veren herkese. FxDev.org Sayfa 2

C++ Giriş Ders 5 MSGSU Fizik Bölümü Ferhat ÖZOK

TMMOB Şehir Plancıları Odası Logo Kullanım Kılavuzu

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Temel Dosya İşlemleri. Kütük Organizasyonu 1

Giris {\} /\ Suhap SAHIN Onur GÖK

İçindekiler FPGA GELİŞTİRME KARTI ENERJİ BESLEMESİ:... 5 ENERJİ SİSTEMİ ŞEMASI:... 5 FPGA GELİŞTİRME KARTINA PROGRAM YÜKLEME:... 6

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

ÖZDiSAN ELEKTRONIK A.S. ELAN Demo Board Özellikleri ve Yazılım Uygulamaları Rehberi

DENEY-6. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

Yrd. Doç. Dr. Caner ÖZCAN

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

İçindekiler KURUMSAL KİMLİK KLAVUZU

Çizim Yapma. Renk. Boyama

VTIY DERS-4 YARDIMCI NOTLARI -2018

MTM 305 MİKROİŞLEMCİLER

MODÜL BİLGİ SAYFASI KODU :

AYBEY ELEKTRONİK GRAFIX Asansör Gösterge Sistemi KULLANIM KILAVUZU. F/ R:0 1 / 11 Grafix

Hafta 12 Karakter Tutan Diziler

1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

446 GÖMÜLÜ SİSTEM TASARIMI. Lab 9 UART

void main() { int a[] = {1, 2, 3, 4, 5, 6}; int *p=&a[2]; int **pp=&p; printf("%d", **pp+2); }

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

KONTROL VE OTOMASYON KULÜBÜ

ECZANE LEVHA STANDARTLARI KILAVUZU

T.C. KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ TEK RENK GRAFİK LCD İLE OYUN UYGULAMASI

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

Bölüm 2 - C ile Programlamaya Giriş

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int ID; char isim[15]; char soyisim[15];

2LOGOTYPEGİRİŞ

KURUMSAL KİMLİK ÇALIŞMASI

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

KURUM KİMLİĞİ KILAVUZU

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini

Barkod Referans Kılavuzu

Teknikleri. Önsöz. iskender atasoy

ÜRÜN KATALOĞU

PIC PROGRAMLAMA STEP MOTOR SÜRÜCÜ VE KONTROL AMAÇ NEDİR? Unipolar Step Motorlar. Uç TESPİTİ NASIL YAPILIR?

Ön Söz. Fırat Deveci Ağustos 2010 Elektrik ve elektroniğe gönül veren herkese. Sayfa 1

C ile Uygulamalar 2 - Cevaplar

EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ

Big Endian & Little Endian K.Atilla Toker İzmir Üniversitesi Meslek Yüksek Okulu Bilgisayar Programcılığı Ver:01

PROGRAMLAMAYA GİRİŞ DERS 2

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

BÖLÜM 11: YAPISAL VERİ TİPLERİ

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Giyilebilir Teknolojiler ve Solar Enerjili Şapka Uygulaması

KARABÜK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ PROJE : SUMO ROBOTU PROJE RAPORU

ALGORİTMA VE PROGRAMLAMA (Bölüm 3)

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

16. Kesit ve Cephe Aracı

MEHMET AKİF ERSOY ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİ- LERİ ÖĞRETMENLİĞİ PROJENIN ADI

Algoritma ve Programlama: Karar Yapıları ve Döngüler

ÖNDER BİLGİSAYAR KURSU. Microsoft Office Kursu Eğitim İçeriği

Sınav tarihi : Süre : 60 dak.

Ders - 7 while döngüsü

Transkript:

13. Grafik LCD Kütüphanesi MikroC Pro for AVR, 128x64 Grafik LCD (genellikle Samsung KS108/KS107 denetleyicili) kullanımına yönelik bir kütüphaneye sahiptir. Mikrodenetleyici ile Grafik LCD arasındaki örnek bir bağlantı şeması aşağıda görülmektedir. Şekil. Mikrodenetleyici ile Grafik LCD (Glcd) arasındaki örnek bir bağlantı şeması -73-

13.1. Grafik LCD Kütüphanesi Harici Bağlantıları 13.2. Grafik LCD Kütüphane Rutinleri -74-

GLcd_Init -75-

-76-

-77-

-78-

-79-

-80-

-81-

-82-

-83-

-84-

Örnek 1: // ser_glcd_01.c : Grafik LCD Uygulaması - ATmega16-8 Mhz ve GLCD 128x64, KS108/107) // Glcd Modül Bağlantıları ------------------------------------- char GLCD_DataPort at PORTC; char GLCD_DataPort_Direction at DDRC; sbit GLCD_CS1 at PORTD.B3; sbit GLCD_CS2 at PORTD.B2; sbit GLCD_RS at PORTD.B4; sbit GLCD_RW at PORTD.B5; sbit GLCD_EN at PORTD.B6; sbit GLCD_RST at PORTD.B7; // B2 ile B3 degisti sbit GLCD_CS1_Direction at DDRD.B3; // B2 ile B3 degisti sbit GLCD_CS2_Direction at DDRD.B2; sbit GLCD_RS_Direction at DDRD.B4; sbit GLCD_RW_Direction at DDRD.B5; sbit GLCD_EN_Direction at DDRD.B6; sbit GLCD_RST_Direction at DDRD.B7; // -------------------------------------------------------------- void main() { // GLCD Hazırlanır ---------- Glcd_Init(); // -------------------------- //Renk Doldurma : Glcd_Fill(unsigned short pattern); Glcd_Fill(0); // Clear Glcd pattern : desen // Nokta Basar : Glcd_Dor(x_pos, y_pos, renk); renk :0..2 Glcd_Dot(2, 5, 2); // 0: Beyaz, 1: Siyah, 2 : Tersi-Invert // Cizgi Cizme : Glcd_Line(x1, y1, x2, y2, renk); renk :0..2 Glcd_Line(10, 5, 50, 10, 2); // Yatay Cizgi Cizme : Glcd_H_Line(x1, x2, y, renk); renk :0..2 Glcd_H_Line(60, 90, 5, 2); // Dikey Cizgi Cizme : Glcd_V_Line(y1, y2, x, renk); renk :0..2 Glcd_V_Line(5, 30, 110, 2); // Kutu Cizme : Glcd_Box(x1, y1, x2, y2, renk); renk :0..2 (dolgu rengi) Glcd_Box (5,20,50,40,2); Glcd_Box (15,25,40,35,0); // Dortgen Cizme : Glcd_Rectangle(x1, y1, x2, y2, renk); renk :0..2 (cizgi rengi) Glcd_Rectangle (60,20,100,40,2); // Daire Cizme : Glcd_Circle(x, y, r, renk); renk :0..2 (dolgu rengi) Glcd_Circle (20,52,10,2); -85-

Örnek 2: // ser_glcd_02.c : Grafik LCD Uygulaması - ATmega16-8 Mhz ve GLCD 128x64, KS108/107) // Glcd Modül Bağlantısı ----------------------------------- char GLCD_DataPort at PORTC; char GLCD_DataPort_Direction at DDRC; sbit GLCD_CS1 at PORTD.B3; sbit GLCD_CS2 at PORTD.B2; sbit GLCD_RS at PORTD.B4; sbit GLCD_RW at PORTD.B5; sbit GLCD_EN at PORTD.B6; sbit GLCD_RST at PORTD.B7; // B2 ile B3 degisti sbit GLCD_CS1_Direction at DDRD.B3; // B2 ile B3 degisti sbit GLCD_CS2_Direction at DDRD.B2; sbit GLCD_RS_Direction at DDRD.B4; sbit GLCD_RW_Direction at DDRD.B5; sbit GLCD_EN_Direction at DDRD.B6; sbit GLCD_RST_Direction at DDRD.B7; // --------------------------------------------------------- void main() { // GLCD Hazırla -------------- Glcd_Init(); // -------------------------- // Clear GLCD Glcd_Fill(0); // Font Ayari : Glcd_Set_Font(activefont, FontWidth,FontHeight,FontOffs); // Glcd_Set_Font(Font5x7, 5, 7, 32); Glcd_Set_Font(Character8x7, 8, 7, 32); // Glcd_Set_Font(System3x5, 3, 5, 32); // Text Yazdırma Glcd_Write_Text("Hitit - MYO", 15, 0, 2); // Karakter Yazdırma Glcd_Write_Char('A', 15, 5, 2); -86-

Örnek 3: // GLCD_Animasyon_1.c: Grafik LCD Uygulaması - ATmega16-8Mhz ve GLCD 128x64, KS108/107) // Glcd Modül Bağlantısı ----------------------------------- char GLCD_DataPort at PORTC; char GLCD_DataPort_Direction at DDRC; sbit GLCD_CS1 at PORTD.B3; sbit GLCD_CS2 at PORTD.B2; sbit GLCD_RS at PORTD.B4; sbit GLCD_RW at PORTD.B5; sbit GLCD_EN at PORTD.B6; sbit GLCD_RST at PORTD.B7; // B2 ile B3 degisti sbit GLCD_CS1_Direction at DDRD.B3; // B2 ile B3 degisti sbit GLCD_CS2_Direction at DDRD.B2; sbit GLCD_RS_Direction at DDRD.B4; sbit GLCD_RW_Direction at DDRD.B5; sbit GLCD_EN_Direction at DDRD.B6; sbit GLCD_RST_Direction at DDRD.B7; // ------------------------------------------------------------- //Sag_Ok Cizimi ---------------------- void Sag_Ok(int x, int y, int c) { Glcd_Line(x, y, x+10, y, c); Glcd_Line(x+5, y-2, x+10, y, c); Glcd_Line(x+5, y+2, x+10, y, c); // ------------------------------------- void main() { // Local Değişken Tanımı unsigned short i; // GLCD Hazırla Glcd_Init(); // Clear GLCD Glcd_Fill(0); // Grafik Animasyon for ( i=0 ; ; ++i) { Sag_Ok( (i%3)*20 + 40, 30, 2); Delay_ms(100); -87-

Örnek 4: // ser_image_ani_01.c Grafik LCD Uygulaması - ATmega16-8Mhz ve GLCD 128x64, KS108/107) unsigned char const Damper_Kapali[1024] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,254, ; unsigned char const Damper_Yari_Acik[1024] = { 0, 0, 0,192,240,252, 7,247,245,245, 21,245,245,245,245, 21, ; unsigned char const Damper_Tam_Acik[1024] = { 88, 88, 88, 88, 88, 88, 88, 88, 88,120,248,248,192, 0, 0, 0, ; // Glcd Modül Bağlantıları ----------------------------------- char GLCD_DataPort at PORTC; char GLCD_DataPort_Direction at DDRC; sbit GLCD_CS1 at PORTD.B3; sbit GLCD_CS2 at PORTD.B2; sbit GLCD_RS at PORTD.B4; sbit GLCD_RW at PORTD.B5; sbit GLCD_EN at PORTD.B6; sbit GLCD_RST at PORTD.B7; // B2 ile B3 degisti sbit GLCD_CS1_Direction at DDRD.B3; // B2 ile B3 degisti sbit GLCD_CS2_Direction at DDRD.B2; sbit GLCD_RS_Direction at DDRD.B4; sbit GLCD_RW_Direction at DDRD.B5; sbit GLCD_EN_Direction at DDRD.B6; sbit GLCD_RST_Direction at DDRD.B7; // ----------------------------------------------------------- void main() { Glcd_Init(); // GLCD Hazırla Glcd_Fill(0); // Clear GLCD for(;;) // Sonsuz Çevrim { // Image - I (Kapalı) Glcd_Image(Damper_Kapali); Delay_ms(1000); // Image - II (Yarı Açık) Glcd_Image(Damper_Yari_Acik); Delay_ms(1000); // Image - III (Tam Açık) Glcd_Image(Damper_Tam_Acik); Delay_ms(1000); Image - I (Kapalı) Image - II (Yarı Açık) Image - III (Tam Açık -88-

Örnek 5: // ser_image_ani_02.c Grafik LCD Uygulaması - ATmega16-8Mhz ve GLCD 128x64, KS108/107) // Glcd Modül Bağlantısı ----------------------------------- char GLCD_DataPort at PORTC; char GLCD_DataPort_Direction at DDRC; sbit GLCD_CS1 at PORTD.B3; sbit GLCD_CS2 at PORTD.B2; sbit GLCD_RS at PORTD.B4; sbit GLCD_RW at PORTD.B5; sbit GLCD_EN at PORTD.B6; sbit GLCD_RST at PORTD.B7; // B2 ile B3 degisti sbit GLCD_CS1_Direction at DDRD.B3; // B2 ile B3 degisti sbit GLCD_CS2_Direction at DDRD.B2; sbit GLCD_RS_Direction at DDRD.B4; sbit GLCD_RW_Direction at DDRD.B5; sbit GLCD_EN_Direction at DDRD.B6; sbit GLCD_RST_Direction at DDRD.B7; // ------------------------------------------------------------- void main() { // Degisken Tanımları char i; // GLCD Hazırla Glcd_Init(); // Sonsuz Çevrim while(1) { // Animasyon - 1 ----------------------------------- for(i=1 ; i<33 ; ++i ) { Glcd_Fill(0x00); // Clear GLCD Glcd_Circle(40, 32, i, 2); // Daire Cizimi Delay_ms(50); // -------------------------------------------------- // Text Yazdır -------------------------------------- Glcd_Set_Font(Character8x7, 5,7, 32); Glcd_Write_Text("HiTiT", -14, 3,2); Glcd_Write_Text(" MYO ", -14, 4, 2); Delay_ms(500); // -------------------------------------------------- // Animasyon - 2 ------------------------------------ for(i=32 ; i>0 ; --i) { Glcd_Fill(0x00); // Clear GLCD Glcd_Circle(40, 32, i, 2); // Daire Cizimi Delay_ms(50); // --------------------------------------------------- -89-