16f628a 2X16 karakter lcd kullanımı(yardım)

Başlatan suatengin, 20 Şubat 2014, 02:02:02

suatengin

herkese merhaba.

elektrik-elektronik bölümü lise mezunuyum. hiç eğitimini almadan kitap ve forumlardan pic öğrenmeye çalışıyorum. asm dilinde kendi isteklerimi karşılayacak kadar birşeyler yapabiliyorum fakat lcd kullanımına merak saldım ve bildiklerim çok yetersiz kaldı. 16f628A denetleyici kullanıyorum 2X16 karakter lcd satın aldım 4 bit olarak kullanmaya çalışıyorum fakat ekrana herhangi bir şey yazdıramıyorum. bunun için asm olarak araştırma yaptım ve aşağıdaki sayfadan ,faydalanarak mpasm ile hex dosyasını, isis ile de devreyi kurdum. devre isis üzerinde çalışıyor fakat board üzerinde çalışmıyor.(pic'in herhangi bir enerji bacağını hızlıca bağlayıp kestiğimde çok nadir de olsa bazen yazı ekrana geliyor ve hemen sonra kayboluyor)
internet üzerinde araştırma yaparken PBP dilinde kodlar gördüğüm için PBP programlama üzerine kitap aldım. Son 1.5 haftadır bu kitabı kurcalıyorum. aynı şekilde isis üzerinde sorunsuz çalışıyor fakat bu şekildede board üzerinde çalıştıramadım.

asm kodu için yararlandığım sayfa: http://digital-diy.com/assembly-example/114-mpasm-tutorial-liquid-crystal-display-lcd.html
PBP kodu için yararlandığın sayfa: http://www.devreyapimi.com/2011/11/16/pic-basic-pro-dersleri-lcd-kullanimi/

kullandığım lcd'nin modeli: TC1602A-01T
pic programlayıcım: Biopic
programlayıcı yazılımı: US-Burn

programlayıcı ve lcd'ye ait resim:


yazım hatası varsa lütfen affedin.
Yardımcı olmak isteyen herkese çok teşekkür ederim.

ferit06

.(pic'in herhangi bir enerji bacağını hızlıca bağlayıp kestiğimde çok nadir de olsa bazen yazı ekrana geliyor ve hemen sonra kayboluyor) ifadenize göre:

LCD kontrast ayarını yaptınız mı?

suatengin

evet, contrast bacağı üzerinde 10k lık bir pot bulunuyor. potun bir bacağı 0V, bir bacağı lcd üzerinde 3. bacağı boşta olacak şekilde.

mg1980

İsterseniz etepic.com'da ETE hocanın notlarına(PBP) bir göz atın.mg1980

Maxim

kullandığınız kodu - şemayı ve işlemci configini eksiksiz yazınız

ferit06

Alıntı yapılan: suatengin - 20 Şubat 2014, 23:45:47
evet, contrast bacağı üzerinde 10k lık bir pot bulunuyor. potun bir bacağı 0V, bir bacağı lcd üzerinde 3. bacağı boşta olacak şekilde.

3. bacak neden boşta?  3. bacak 5V seviyesinde olacak. Aksi halde pota gerek yok doğrudan gnd ye bağlamanız yeterli olurdu.

suatengin

#6
yardımlarınız için çok teşekkür ederim.
bahsettiğiniz gibi pot'un 3. bacağını 5v'a bağladım. şuan kontrast ayarını pot'un 3 bacağınıda kullanıyorum(sırasıyla 0V,LCD,5V). lcd'nin sadece 1. satırı için etkili oluyor diğer satırın kontrast ayarı değişmiyor.(tamamen saydam)

bunu yanısıra kullandığım yükleme programı ve konfigürasyon:



konfigürasyonda da görüldüğü bigi dahili osilatör kullanıyorum, sorun teşkil eder mi? birde şüphelendiğim bir durum var; lcd'ye data gönderirken karakter datalarının pic'in portuna yazılması esnasında pic'in işlemcisidiğer karatkerleri işlemeye çalışıyor ve port buna yetişemiyor mu? pek iyi anlatamadım farkındayım, bunun için özür dilerim. demek istediğim pic'in işlemcisinin dataları işlemesine portun yetişememesi söz konusu olabilirmi?

ferit06

#7
Bundan sonrası için programı görmeden size birşey söylemek mümkün değil. Program çok gizli ise size sadece LCD nin2 satırını kontrol eden kısım gitmiştir diyebilirim.  Aslında forum kuralları gereği size hiç bir cevap vermemem gerekirdi.  Şema - program yoksa cevap yok olmamali idi. Eğer verdiğiniz Basic ile ilgili linkteki programı kullanıyorsanız ilaveniz yok ise sadece 1 satırda yazı olması normal. ikinci satırda bir şey zaten yok.

ete

MCLR pini aktif gözüküyor. Şayet aktif kullanıyorsan bu pine 10K direnç ile Pullup yapman gerekir. Aksi halde işlemci çalışmaz.
1 Satır aktif deöişsinde karekterlermi görüyorsun bu satırda yoksa kare lermi görüyorsun. Şayet kareler görüyorsanişlemcin çalışmıyor demektir. Yok karekterler görüyorsan programın çalışıyor ama 2. satıra bir şey yazdırmadığn için orayı boş görüyor olabilirsin.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com