XSiR.NeT | Temiz Internet » Digital Dünya & Elektrik & Elektronik » Elektrik & Elektronik » LCD Ekranlı Kayan Yazı - PIC 16F84 ile
kayit ol

LCD Ekranlı Kayan Yazı - PIC 16F84 ile

Digital Dünya & Elektrik & Elektronik forumlarındaki LCD Ekranlı Kayan Yazı - PIC 16F84 ile konusunu görüntülemektesiniz. Mehmet Yılmaz [Sadece kayıtlı üyeler linkleri görebilirler. ] Kayan yazı ile ilgili gelen sorulara bakıldığında çok çeşitlilik arzetmektedir. Bu sebepten dolayı LCD ile ilgili yeni bir anlatım ve uygulama örneği ...


Yeni Konu aç  Cevapla
 
LinkBack Konu Seçenekleri Modları Göster
Eski 06-05-2008, 20:07   #1 (permalink)
Powered by Xsir.NeT
HaYLaZ - ait Avatar
Durum:Offline
Üyelik Tarihi: Apr 2005
Nerden: İçinizden
Mesajlar: 2.584
Takım: Galatasaray
KanGrubu: ARH+
Eğitim: Üniversite
Sevdiği Bölüm: Grafik
Burcunuz: Koç
Arkadaşları:33
Ettiği Teşekkür: 45
Aldığı Teşekkür 366
Xsir Gücü: 50
Xsir Puanı: 7000
Xsir Grafiği: HaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond reputeHaYLaZ has a reputation beyond repute
Tanımlı LCD Ekranlı Kayan Yazı - PIC 16F84 ile



Mehmet Yılmaz
[Sadece kayıtlı üyeler linkleri görebilirler. ]

Kayan yazı ile ilgili gelen sorulara bakıldığında çok çeşitlilik arzetmektedir. Bu sebepten dolayı LCD ile ilgili yeni bir anlatım ve uygulama örneği yapma ihtiyacı doğdu. Bu yazıda amaçlanan kayan yazı konusunun en temel yönünü incelemektir.

Kayan yazı yapmak için öncelikle kullanacak olan malzemeler tesbit edilmelidir. Bu malzemeler ile önce taslak devre en azından tasarlanmalıdır. (Simülasyon programlarını kullanmamanızı tavsiye ediyorum.) Daha sonra ise elimizdeki taslak devreye göre program yazılmalıdır. Biz bu devrede PIC16F84 mikrokontrolcü ve 2X16 LCD ekran kullanacağız. Programda ise tercihen JAL kullanacağız. Aslında ne ile programlarsanız programlayın malzemenin yapacağı iş aynıdır.

Bir kayan yazı programı oluştururken her zaman çeşitli seçenekler vardır. Bu yazı için aklıma gelen ilk iki seçeneği anlatacağım.

Birincisi; LCD ekranda görünecek her şeyi tek tek yazarak program oluşturmaktır. Bu yöntem en basit yöntemdir ve hiç bir işlem yapmaya gerek yoktur. Tek kusuru her görünecek şey programa yazıldığından dolayı program biraz uzun oluyor. Programda geçen;

hd44780_line1
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bos
bos
bos
bekle satırları kayma özelliği verecek şekilde sonuna kadar tekrarlanıyor. Böylece programcılık açısından ilkel sayılabilecek bir yöntemle kayan yazı yapılmış oluyor ama kesinlikle çalışmakta ve yazıyı kaydırmaktadır.
-- ===========================================
-- KAYAN YAZI
-- MEHMET YILMAZ [Sadece kayıtlı üyeler linkleri görebilirler. ]
-- Tarih: 30.04.2008
-- kayan1.jal
-- ===========================================
include 16f84_4
include jlib
include hd447804
-- === AYARLAR ===
HD44780_clear -- LCD ekran siliniyor
-- === ALT PROGRAMLAR ===
procedure bos is
hd44780 = " " -- bosluk karakteri
end procedure
procedure bekle is -- kayma hizini buradan ayarla
delay_10ms(25) -- 250 milisaniye bekleme hizi
end procedure
-- === PROGRAM BASI ===
forever loop
hd44780_line1 -- birinci satira git
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bos
bos
bos
bekle
hd44780_line1
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bos
bos
bos
hd44780 = "M"
bekle
hd44780_line1
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bos
bos
bos
hd44780 = "M"
hd44780 = "e"
bekle
hd44780_line1
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bos
bos
bos
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
bekle
hd44780_line1
hd44780 = "e"
hd44780 = "t"
bos
bos
bos
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
bekle
hd44780_line1
hd44780 = "t"
bos
bos
bos
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
bekle
hd44780_line1
bos
bos
bos
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bekle
hd44780_line1
bos
bos
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bos
bekle
hd44780_line1
bos
hd44780 = "M"
hd44780 = "e"
hd44780 = "h"
hd44780 = "m"
hd44780 = "e"
hd44780 = "t"
bos
bos
bekle
end loop
-- === PROGRAM SONU === Bu programa ait JAL dosyasını indirmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

Bu programa ait HEX dosyasını indirmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

İkinci yöntem ise genel geçer olarak çoğunlukla kullanılan programlama yöntemidir. Bu programda bilgiler değişkenlere atanarak, değişkenlerdeki bilgiler yer değiştirilmekte ve böylece kaydırma işlemi yapılmaktadır. Bu şekilde yapılan program daha kısa olmakta ve çok çeşitli seçenekler üretmeye ve geliştirmeye uygundur.

Programda geçen;

d = d0
d0 = d1
d1 = d2
d2 = d3
d3 = d4
d4 = d5
d5 = d6
d6 = d7
d7 = d8
d8 = d satırları kayma işlemini gerçekleştirmektedir. Program ise şöyledir:
-- ===========================================
-- KAYAN YAZI
-- MEHMET YILMAZ [Sadece kayıtlı üyeler linkleri görebilirler. ]
-- Tarih: 30.04.2008
-- kayan2.jal
-- ===========================================
include 16f84_4
include jlib
include hd447804
-- === DEGISKENLER ===
var byte d,d0="M",d1="e",d2="h",d3="m",d4="e",d5="t"
var byte d6=" ",d7=" ",d8=" "
-- === AYARLAR ===
HD44780_clear -- LCD ekran siliniyor
-- === ALT PROGRAMLAR ===
procedure bekle is -- kayma hizini buradan ayarla
delay_10ms(25) -- 250 milisaniye bekleme hizi
end procedure
-- === PROGRAM BASI ===
forever loop
hd44780_line1 -- birinci satira git
hd44780 = d0 hd44780 = d1 hd44780 = d2 hd44780 = d3 hd44780 = d4
hd44780 = d5 hd44780 = d6 hd44780 = d7 hd44780 = d8
d = d0 -- degiskenlerdeki bilgileri kaydir
d0 = d1
d1 = d2
d2 = d3
d3 = d4
d4 = d5
d5 = d6
d6 = d7
d7 = d8
d8 = d
bekle
end loop
-- === PROGRAM SONU === Bu programa ait JAL dosyasını indirmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

Bu programa ait HEX dosyasını indirmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

Yukarıda verilen programlarda kayma hızı delay_10ms(25) satırından ayarlanmaktadır. Bu programda 250 milisaniyelik zaman gecikmesi kullanılmıştır. Ayrıca bu programda LCD ekranın satırı tamamen doldurulmamıştır. Belli bir alanda kaydırma işlemi yapılmaktadır.

İstenirse kaydırma alanı değiştirilebilir veya ikinci satırda da ayrı bir kaydırma yapılabilir. Bu örneğimizde ikinci satır için ayrı bir kaydırma işlemi yapılıyor. Birinci satırın değişkenleri d d0 d1... şeklinde tanımlanmıştı. İkinci satırda ise s s0 s1 s2 s3 s4 şeklinde tanımlandı. Kaydırma için değişkenlerdeki bilgilerin değiştirilmesi ayrıca yapıldı. Burada ayrıca s s0 s1 s2 s3 s4 değişkenleri iki defa gösterilerek daha uzun bir satır oluşturuldu. Kayan tazıda kaydırılacak cümle kısa ise bu şekilde tekrar gösterimle daha uzun bir kayma alanı oluşturulabilir.

-- ===========================================
-- KAYAN YAZI (Ust satir sola, alt satir saga)
-- MEHMET YILMAZ [Sadece kayıtlı üyeler linkleri görebilirler. ]
-- Tarih: 30.04.2008
-- kayan3.jal
-- ===========================================
include 16f84_4
include jlib
include hd447804
-- === DEGISKENLER ===
var byte d,d0="M",d1="e",d2="h",d3="m",d4="e",d5="t"
var byte d6=" ",d7=" ",d8=" " -- Yazi arasindaki bosluklar
var byte s,s0=")",s1="=",s2="-",S3=">",s4=" "
-- === AYARLAR ===
HD44780_clear -- LCD ekran siliniyor
-- === ALT PROGRAMLAR ===
procedure bekle is -- kayma hizini buradan ayarla
delay_10ms(25) -- 250 milisaniye bekleme hizi
end procedure
-- === PROGRAM BASI ===
forever loop
hd44780_line1 -- birinci satira git
hd44780 = d0 hd44780 = d1 hd44780 = d2 hd44780 = d3 hd44780 = d4
hd44780 = d5 hd44780 = d6 hd44780 = d7 hd44780 = d8
d = d0 -- degiskenlerdeki bilgileri kaydir
d0 = d1
d1 = d2
d2 = d3
d3 = d4
d4 = d5
d5 = d6
d6 = d7
d7 = d8
d8 = d
hd44780_line2 -- Bu satira tersten kayma yapılacak
hd44780 = " " hd44780 = " "hd44780 = " "
hd44780 = s0 hd44780 = s1 hd44780 = s2 hd44780 = s3 hd44780 = s4
-- Daha uzun olsun diye tekrar gosterilecek
hd44780 = s0 hd44780 = s1 hd44780 = s2 hd44780 = s3 hd44780 = s4
s = s4 -- degiskenlerdeki bilgileri kaydir
s4 = s3
s3 = s2
s2 = s1
s1 = s0
s0 = s
bekle
end loop

-- === PROGRAM SONU === Bu programa ait JAL dosyasını indirmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

Bu programa ait HEX dosyasını indirmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

Devre şeması ve baskı devresi KiCad programı ile hazırlanmıştır.

Devreye ait şema



Devreye ait şemayı büyük görmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

Devreye ait şema ve baskı devre çizimlerine ait KiCad dosyalarını indirmek için [Sadece kayıtlı üyeler linkleri görebilirler. ].

Devreye ait baskı devre





Montajı yapılmış ve çalışır şekilde görünüm



Alıntıdır
__________________






 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Alıntı ile Cevapla
Cevapla

Bookmarks

Konu Seçenekleri
Modları Göster

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık
Gitmek istediğiniz forumu seçin

Okuduğunuz Konuya Benzer Konular
Konu Konuyu Açan Forum Cevaplar Son Mesaj
PIC 16F84 İle Kayan Yazı Projesi cyBER_HaYLaZ Elektrik & Elektronik 3 09-03-2008 21:30
16F84 Bağlantı şeması LeaveMe Elektrik & Elektronik 0 01-03-2008 05:10
Türkçenin Tarihi Gelişimi Trance-Apache Tarih 0 19-01-2008 00:02


Forum saati Türkiye saatine göredir. GMT +2. Şuan saat: 10:10 .
(Türkiye için GMT +2 seçilmelidir.)

Powered by: vBulletin Version 3.7.4
Copyright ©2000 - 2006, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Design by Htworks Licenced To XSiR.NeT | Temiz Internet