avatar_ete

Pic Basic Ders-03 (LCD Kullanımı ve Özel Karekter Tanımlama)

Başlatan ete, 24 Kasım 2013, 23:21:23

ete

BU dersimizde LCD nin kullanılışı anlatılmış olup ayrıca LCD de kullanılmak üzere özel karekterlerin nasıl tanımlanacağı konusunada değinilmişti.

Ete

emrecelik3673

Hocam merhaba. Asagidaki programda hatam merede bulamadim sizden ve arkadaslardan destek istiyorum.  877A ile lcd uygulamasinda pin baglantilarimi programa uygun olarak yaptigim halde calistiramadim

haberlesme

Bilgim dahilinde cevap vereyim data bitleri porta ya baglı oldugu için olabilir portanın bitleri analog oldugu için programın başına xxxxxxxx. satırını ekle bir dene ve define tanımlamaları hariç yukarıda pauseler gereksiz onlarıda kaldırabilirsin kolay gelsin inşallah yardımcı olur

ete

Haberlesme,
Yanlış bilgi veriyorsun. Pinleri digital yapmak için adcon1=7 demek yeterli. Ayrıca komparatörüde iptal etmek gerek ki oda yazılmış cmcon=7. Anlayacağın program doğru.

Ama devreyi görmüyoruz. Şema doğru olabilir ama yapılışı doğrumu acaba.?
1 nolu pinde 10 k pullup direnci bağlımı?
Kristal olarak 4 Mhz bağlımı? Kristal uçlarında 22 pf kondansatör bağlımı?kondansatörlerin diğer uçları gnd ye bağlımı?
Lcd 3 nolu bacakta bağlı olan trimpot ile kontrast ayarı yapıldımı?
Bunları kontrol edin.

Bu arada gördüğüm tek eksiklik şu. Lcd nin basla satırından önce açılıması ( initialize) edilmesi gerekir. Ldc bacak tanımlamasından önce yer alan pause 300 ü kaldır.
Lcd tamımlamasından sonra,
Lcdout $FE,1 yazıp peşine pause 200 koy
Ete

emrecelik3673

Teşekkür ederim. bilgilendirmeleriniz için, düzeltip deneyeceğim. durumu buradan paylaşırım.

MS_59

hocam bende iki kusur buldum
1.si DEFINE LCD_RSSBIT 1 yazmış DEFINE LCD_RSBIT 1 olacak
2.si LCDOUT "16F877A"  yazmış LCDOUT $FE,2,"16F877A" olacak

emre
birde dosyaların resimleri yerine kendilerini yüklersen bizde deneyebiliriz ve daha çabuk yanıt alırsın
mehmet

ete

Proteus,
Açıklamalarda sanki derleme yapılmış da sistem çalışmamış gibi bir ifade var. O nednele yazılanlara pek bakmadım desem yalan olmaz. Demekki yazım hatalarınada bakmak gerekirmiş.

Birinci maddede yakaladığın kusur bir yazım hatasıdır ve derleyici buna itiraz eder ve derlemeyi yapmaz.

Senin ikinci maddede yazdığın bir hata değil. O komut,  kursör en son nerede kalmış ise oradan yazdırır. Hiç bir yazım yapılmamış ise birinci satır birinci karekterden itibaren yazar. Dolayısıyla hata vermez ve çalışır.

Ete

MS_59

hocam 1. kusuru bende aynen arkadaşın dediği gibi yaptım derleyici hata vermedi  ama ekrana yazı gelmedi düzeltince geldi
2. ise yine arkadaşın yazdığı gibi yazdım ilk satırda değilde 2. veya 3. satırdan başladı
mehmet

ete


emrecelik3673

Doğru; DEFINE LCD_RSSBIT 1. burası gözümden kaçmış. Ama hakikaten derleyici hata vermedi bu enteresan ETE hocamızın dediği gibi. Gözümden kaçmasının, daha doğrusu yazım hatasını fark edemeyişimin bir nedeni de bu sanırım.

emrecelik3673

Ete hocam & arkadaşlar merhaba,

Bir konuda bilgi almak istiyorum. 4x16 lcd'lerin satır/sütun data adresleri tablosu arıyordum. Fakat internette bununla ilgili birden çok sitede birden fazla tablo verilmiş. Hepsi de başka başka adres bilgileri içeriyor. Lcd'lerin (tüm markalar için) datasheetlerini gösteren bir site var mıdır? Bu konuda yardımlarınızı rica ederim. Teşekkürler.

ete

Bunun için site aramaya gerek yok. 2x16 karekter LCD için satır ve sütun adresleri aşağıdaki gibidir.
Birinci satır; $80$81,$82,$83,$84,$85,$86,$87,$88,$89,$8A,$8B,$8C,$8D,$8E,$8F 
İkinci Satır : $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF

4X20 LCD için aşağıdaki adresleri kullanın.
Birinci satır      ; $80$81,$82,$83,$84,$85,$86,$87,$88,$89,$8A,$8B,$8C,$8D,$8E,$8F,$90,$91,$92,$93 
İkinci Satır       : $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF,$D0,$D1,$D2,$D3
Üçüncü Satır    : $94,$95,$96,$97,$98,$99,$9A,$9B,$9C,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7
Dördüncü Satır: $D4,$D5,$D6,$D7,$D8,$D9,$DA,$DB,$DC,$DD,$DE,$DF,$E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7

Ete





emrecelik3673

Alıntı yapılan: ete - 03 Şubat 2014, 13:18:38
Bunun için site aramaya gerek yok. 2x16 karekter LCD için satır ve sütun adresleri aşağıdaki gibidir.
Birinci satır; $80$81,$82,$83,$84,$85,$86,$87,$88,$89,$8A,$8B,$8C,$8D,$8E,$8F 
İkinci Satır : $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF

4X20 LCD için aşağıdaki adresleri kullanın.
Birinci satır      ; $80$81,$82,$83,$84,$85,$86,$87,$88,$89,$8A,$8B,$8C,$8D,$8E,$8F,$90,$91,$92,$93 
İkinci Satır       : $C0,$C1,$C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$CB,$CC,$CD,$CE,$CF,$D0,$D1,$D2,$D3
Üçüncü Satır    : $94,$95,$96,$97,$98,$99,$9A,$9B,$9C,$9D,$9E,$9F,$A0,$A1,$A2,$A3,$A4,$A5,$A6,$A7
Dördüncü Satır: $D4,$D5,$D6,$D7,$D8,$D9,$DA,$DB,$DC,$DD,$DE,$DF,$E0,$E1,$E2,$E3,$E4,$E5,$E6,$E7

Ete






Teşekkürler hocam, sağolun.

emrecelik3673

Hocam merhaba hayırlı akşamlar,

Bir konuda sizden yardım isteyeceğim, ben basit bir geri sayım programı yazdım lcdli. lcd de 10dan geriye sayıyor ve sayım bittiğinde buzzer aktif oluyor. programda şöyle bir sıkıntı yaşıyorum hocam sayım işlemi 2 ye ulaştığında 1 ve 0 ı görmeden buzzeri aktif ediyor. yani 10-9-8-7-6-5-4-3-2 sayıyor 1 ve 0 saymıyor. dosyaları ekledim hocam aşağıya. video da eklemeye çalışcam daha net olur diye düşündüm hocam. şimdiden teşekkür ederim. iyi akşamlar.

onurinci

0'rı beceremedim ama bir iki değişiklik ile bir sayısı göründü

basla:

hafiza=hafiza-1
lcdout $fe,1,"Kalan sure:",dec2 hafiza," ","sn."
if hafiza=0 then

goto bitir

Powered by EzPortal