Teknikim

Üye Girişi

PIC Uygulamaları 7-LCD'ye Yazı Yazdırma
 

Yazan: Tuna BULUT, Tarih: 15-06-2008 22:18

Okunma Sayısı : 651

Beğenilme : 4

Yayınlama yeri : Dersler, PIC Dersleri

Bu uygulamada PIC 16F628A kullanarak 16x2 LCD ekrana yazı yazdıracağız.

Kullanılacak Malzemeler

  • 1xPIC16F628A
  • 1 adet 16x2 LCD Ekran(HY1602)
  • 1x4 Mhz kristal
  • 2x22pf seramik kondansatör
  • 1x100nF seramik kondansatör
  • 1x100 ohm direnç
  • 1x4.7 kohm direnç
  • 1x47 ohm direnç
  • 1x2.5 kohm direnç
  • 1xButon
  • 5 V DC kaynak(Batarya, pil, adaptör veya güç kaynağı)

                            Şekil 1-PIC16F628A Pin Diyagramı

 

PIC ve LCD Devresi


Not: Benim kullandığım LCD pinleri datasheetine göre ters numaralandırılmıştı. O yüzden LCD’nin pinlerini doğru bağlayabilmek için ilk önce en uçtaki 2 panel ışık pinlerine besleme girişlerini vererek yanıp yanmadığına bakın ve pin numaralandırmasının hangi uçtan başladığını bulun, benim kullandığım modelden farklı bir model kullanacaksanız da pin bağlantılarını datasheet ine bakarak bulun.
 

LCD Pinleri’nin İşlevleri Nedir?

Pin Numarası

Pin Adı

Pin Tanımı

1

LEDK

Panel Işık Beslemesi(-)

2

LEDA

Panel Işık Beslemesi(+)

3

VSS

Toprak

4

VDD

Lojik Besleme(+5 V)

5

Vo

Kontrast

6

RS

Yazmaç Seçimi(Register Select)

7

R/W

Okuma/Yazma Modu(Read/Write)

8

E

Etkinleştirme(Enable)

9-16

DB0-DB7

Veri Girişleri

RS(Register Select): RS pini 0 yapıldığında LCD komut gönderimi için, 1 yapıldığında ise veri gönderimi için aktif hale getirilmiş olur.

R/W(Read/Write): R/W pini 0 yapıldığında yazma, 1 yapıldığında ise okuma modundadır. Yazma modu LCD’ yazı yazdırmak için kullanılır, okuma modu ise LCD’nin meşgul olup olmadığını anlamak için kullanılır. Biz bu uygulamamızda her bir karakteri yazdırdıktan sonra uygun sürede gecikme koyacağımız için LCD’nin meşgul olup olmadığına bakmamıza gerek kalmayacak bu yüzden de bu pini direk toprağa bağlayarak hep yazma modunda tutacağız.

E(Enable): E pini LCD veri pinlerinin bu pinlere gönderilen veriyi okuması için kullanılır. Bunun için de E pini önce 1 yapılır biraz bekledikten sonra da tekrar 0 yapılır. 

Vo(Kontrast): Vo pini LCD’nin kontrast ayarı için kullanılır. Biz uygulamamızda 2K5’ lik direnç üzerinden bu pini toprağa bağlayacağız. 

Veri Girişleri: Bu girişler LCD’ye komut gönderimi ve yazdıracağımız veri gönderimi için kullanılır. Pinlerin 8’ i de kullanılabileceği gibi 4’ü nü de kullanmak mümkündür. Pic üzerinde fazla pin işgal etmemesi için biz sadece 4 pinini kullanacağız. Veri gönderirken de önce 8 bitlik verinin üst 4 bitini(MSB) sonra da alt 4 bitini(LSB) LCD’ ye göndereceğiz.

LCD Komutları

İşlem

D7

D6

D5

D4

D3

D2

D1

D0

Açıklama

Ekranı Sil

0

0

0

0

0

0

0

1

Ekranı siler

Kursörü Başa Al

0

0

0

0

0

0

1

*

Kursörü Başa Alır

Ekran Seçenekleri

0

0

0

0

1

P

K

Y

(P)Panel Aç(1)/Kapa(0)

(K)Kursör Aç(1)/Kapa(0)

(Y)Yanıp Sönme(Blink) Aç(1)/Kapa(0)

Fonksiyon Ayarları

0

0

1

D

N

0

*

*

(D)Veri Girişi 8 Bit(1)/4 Bit(0)

(N)Çift Satır(1)/Tek Satır(0)

CGRAM Adres Ayarı

0

1

C5

C4

C3

C2

C1

C0

(C5-C0) CGRAM’e gidecek veriler

DDRAM Adres Ayarı

1

D6

D5

D4

D3

D2

D1

D0

(D6-D0) DDRAM’e gidecek veriler

Meşgul Bayrağı/Adres sayaç okuma

BF

AC

6

AC

5

AC

4

AC

3

AC

2

AC

1

AC

0

Meşgul bayrağı(BF) RW=1, RS=0 iken D7 pininden okunur. D6-D0’dan adres sayaç verisi okunur.

Kursör Kaydırma

0

0

0

1

SC

RL

*

*

(SC)Kursör Kaydırma(1)

(RL)Sağ(1)/Sol(0)

Girdi Modu

0

0

0

0

0

1

ID

S

(ID)Artır(1)/Azalt(0)

(S)Kaydırma Açık(1)/Kapalı(0)

 

Karakter Kodları

LCD’yi Yazma İşlemine Hazırlamak için Yapılacaklar

LCD’ ye yazı yazdırmadan önce sırasıyla şu işlemleri izleyeceğiz.

  • LCD’yi resetle
  • 25 ms’lik gecikme.
  • LCD’yi 4 bit, 2 satıra ayarla.
  • 25 ms’lik gecikme.
  • Ekranı ve kursörü aç.
  • 25 ms gecikme.
  • Artışı sağa doğru ayarla(Yazdırma işlemini soldan sağa doğru yapabilmek için).
  • Ekranı temizle.

 


   
Beğenilme
E-mail olarak gönder
İlgili makaleler
Teknikim'e kaydet

Okuyucu yorumları  RSS feed Yorum
 

Ortalama Üye Değerlendirmesi

   (1 Oylama)

 

Yorum Sayısı: 4 / 4

Lütfen sorularınızı foruma yazın

Yazan:: Tuna (Kayıtlı ) Tarih: 30-08-2008 17:26

Arkadaşlar yorum kısmı adı üstünde yazıyla ilgili fikirlerinizi sunmak içindir, lütfen sorularınızı foruma yazın, alttaki soru foruma taşındı, lütfen cevaplarınızı da bu konu altına yazın, anlayışınız için teşekkür ederim. Ayrıca birine yardım etmek amacıyla başka sitelerden bağlantı verebilirsiniz, ama tabiki amacınız reklam değil yardım olmalı. 
İyi çalışmalar...

 

» Yorumu cevapla...

yardıma cevap2

Yazan:: aNti (Kayıtlı ) Tarih: 30-08-2008 05:43

başka bir dil olan 
CCBasic ve Css c Bunlarda geniş kapsamlı bir dildir... 
bascom, Css c Ccbasic , virsual basic bunların hepsinin mantığı %90 aynıdır .Lakin Kodları farklıdır... 
 
Ben Pic Programlamayı biliyorum Temelini Bunun üzerine görsel anlatımım dahi var ilerleyen zamanlarda zamanım olursa paylaşıma sunarım...Ulaşabileceğiniz link veririm fakat reklam olur diye vermiyorum... :) Admin ile tartışmayalım :D

 

» Yorumu cevapla...

yardıma cevap

Yazan:: aNti (Kayıtlı ) Tarih: 30-08-2008 05:38

İlk olarak basit bir şekilde devrelerle uğaşmanı öneririm en azında hemen bunu gibi Lcd ile yapılmış devrelerle değilde ledlerler yapılmış devrelerle başlaya bilirsin... 
Öğreneceğin dile gelirsek 
 
ilk olarak Pic programlama internnet bir sürü döküman bulunmaktadır..Basit bir dildir..(çoğu üniveristede gösterinlen bir dildir..) 
 
ama dersen beni basit sarmaz işte o zaman sana 
 
Bir bilgisayar dili olan Virsual Basici öğrenmeni tavisye ederim %90 elektronik kodlarıyla aynı kodlardan oluşmaktadır... 
Bascom:Atmel entegrelerinde genelde kullanılarn bir dildir.virsal basic diline benzer..

 

» Yorumu cevapla...

yardım lütfen

Yazan:: ebru (Kayıtlı ) Tarih: 11-07-2008 15:29

programlamaya giriş için hangi yazılımı ögrene bilirim 
bunun için bana önere bileceğiniz program varmı devreler konusunda pek sıkıntım yok elektronik kompanentleri ve kullanım yeri ile ilgili sorunum yok ama yazılım yapmak istiyorum bunun için neler yapmalıyım neler ögrenmem gerektigi hakkında beni yönlendirirseniz sevinirim ögrenimim için nelere ihtiyacım olur yardım ederseniz sevinirim

 

» Yorumu cevapla...

» Tüm cevap(ları) 1 gör

Yorum Sayısı: 4 / 4



Yorumunuzu ekleyin
Sadece kayitli kullanicilar bir Makaleyi yorumlayabilir. Lütfen ücretsiz üye olun veya giriş yapın.


mXcomment 1.0.8 © 2007-2008 - visualclinic.fr
License Creative Commons - Some rights reserved