Teknikim

Üye Girişi

Önemli! Foruma yazılmayan sorulara cevap verilmeyecektir. Lütfen sorularınızı foruma yazın!
PIC Uygulamaları 9-LCD'ye Özel Karakter Yazdırma
 

Yazan: Tuna BULUT, Tarih: 25-06-2008 11:35

Okunma Sayısı : 1383

Beğenilme : 22

Yayınlama yeri : Dersler, PIC Dersleri

Özel Karakter Yazdırma İşlemi

    MOVLW   B'00000100'       ;ÜST 4 BİTİ GÖNDER

            MOVWF   PORTB

            KMT

            CLRF    PORTB             ;ALT 4 BİTİ GÖNDER

            KMT

Yazdıracağımız özel karakterleri CGRAM’e kaydediyoruz, bunun için de önce CGRAM adresini LCD’ye 4 bit üzerinden komut olarak gönderiyoruz, daha sonra ise yazdıracağımız karakterin her bir satırının değerini veri olarak LCD’ye gönderiyoruz. CGRAM b’01000000’ yani H’40’ adresinden başlamakta ve her bir karakter 8 satır olduğundan karakterler arasında 8 fark olmakta yani tanımlayacağımız bir sonraki karakter H’48’ , sonraki ise H’50’ adresinden başlamaktadır. Bu şekilde CGRAM’e en fazla 8 karakter yazdırılabilir.                        

KRKTR_TABLO1

            ADDWF   PCL,F                  

            RETLW   H'04'

            RETLW   H'0E'

            RETLW   H'0E'

            RETLW   H'0E'

            RETLW   H'1F'

            RETLW   H'00'

            RETLW   H'04'

            RETLW   8 

LCD’yi 5x7 fontunda karakterler için ayarladığımızdan tabloya zil şeklinin 7 satırını kaydediyoruz, tablonun sonuna geldiğinin anlaşılması için en son olarak 8 rakamını döndürüyoruz. 0-7 arası özel karakterleri çağırmak için kullanıldığı için 8 sayısını seçtik.

         
         
         
         
         
         
         

 --» b’00000100’ » h’04’

 --» b’00001110’ » h’0E’

 --» b’00001110’ » h’0E’

 --» b’00001110’ » h’0E’

 --» b’00011111’ » h’1F’

 --» b’00000000’ » h’00’

 --» b’00000100’ » h’04’  

Siz de yukarıdaki tablo gibi 5x7 boyutunda bir tablo çizip istediğiniz kareleri doldurarak kendi şekillerinizi oluşturabilir ve hex değerlerini hesaplayabilirsiniz, ya da şu adrese girip resim üzerindeki karelere tıklayarak şeklinizi oluşturursunuz ve site de size şeklin otomatik olarak decimal, binary ve hex değerlerini verir. 

KARAKTER

            MOVF    KRKTR,W

            CALL    KRKTR_TABLO1            ;TABLOYU ÇAĞIR

            MOVWF   TEMP        ;KARAKTERİ DEĞİŞKENE AT

            XORLW   H'08'       ;8 İLE XOR İŞLEMİ YAP   

            BTFSC   STATUS,Z    ;İŞLEM SONUCU 1 SE BASLA'YA GİT

            GOTO    BASLA

            SWAPF   TEMP,F      ;DEĞİŞKENİN ALT 4 BİTİYLE ÜST 4 BİTİNİ ARALARINDA DEĞİŞTİR

            MOVF    TEMP,W

            MOVWF   PORTB

            MSJ

            SWAPF   TEMP,F      ;DEĞİŞKENİN ALT 4 BİTİYLE ÜST 4 BİTİNİ ARALARINDA DEĞİŞTİR

            MOVF    TEMP,W

            MOVWF   PORTB

            MSJ

            INCF    KRKTR,F     ;KRKTR DEĞİŞKENİNİ 1 ARTIR

            GOTO    KARAKTER 

CGRAM adresini gönderdikten sonra 7 satır üzerinde oluşturduğumuz şeklin hex değerlerini tablodan çağırıyoruz ve LCD’ye 4 bit üzerinden veri gönderdiğimiz için de hex değerlerinin önce üst 4 bitini LCD’ye yüklüyoruz ve MSJ makrosunu çağırıyoruz, daha sonra da alt 4 bitini LCD’ye yükleyip MSJ makrosunu çağırıyoruz. Başka bir karakter daha oluşturmak isteseydik CGRAM adresi H’48’ den başlayacaktı ve gene karakterin her bir satırının hex değerlerini CGRAM’e yükleyecek sonra da istediğimiz zaman yazdıracaktık. 

MESAJ2

            ADDWF   PCL,F

            DT      0,"LCD UYGULAMASI",0,8

            MOVF    PCL,W

            RETURN 

Zil karakterini “LCD Uygulaması” yazısının başına ve sonuna 0 sayısını LCD’ye göndererek yazdırıyoruz. Bu CGRAM’e kaydettiğimiz ilk karakter olduğu için 0 sayısıyla LCD’ye yazdırdık, bir sonraki karakteri 1, sonrakini ise 2 ile yazdırabiliriz, diğer karakterler için de bu şekil de artarak gider ve en son karakteri yani 8. yi 7 sayısıyla LCD’ye yazdırabiliriz.

Uygulamanın Isis simülasyonunu buradan indirebilirsiniz. 

icon LCD'ye Özel Karakter Yazdırma ASM Kodu
                         



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

Okuyucu yorumları  RSS feed Yorum
 

Ortalama Üye Değerlendirmesi

   (0 Oylama)

 


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

Gönderilen yeni yorum yok



mXcomment 1.0.8 © 2007-2010 - visualclinic.fr
License Creative Commons - Some rights reserved
JoomlaWatch Stats 1.2.9 by Matej Koval