16f877 TQPF ile LCD sürme sorunu

Başlatan ergün, 27 Ağustos 2014, 12:39:38

ergün

Merhaba arkadaşlar; Normalde simülasyonda ve pratikte ( DIL40 ) çalıştırdığım bir projeyi SMD yapmaya karar verdim fakat tüm fonksiyonlar normal çalışmasına rağmen TQPF paketi LCD ye görüntü vermiyor, LCD değiştirdim, işlemciyi de değiştirdim besleme kaynağı 7805 ve kondansatörler tam. LCD 1. satır tamamen kare oluyor, işlemci kilitleniyor gibi, konuyla ilgili tecrübesi olan arkadaşlar yardımcı olurlarsa çok sevinirim.

ete

Eldeki veriler işlemcinin çalışmadığını gösteriyor. Bu durumda bacak farklılığından dolayı PCB de bir hata olduğunu göstermektedir. Sorun mutlaka besleme bacakları , mclr bacağı , OSC bacakları gibi standart pinlerde olmalı. İyice kontrol etmekten başka çaresi yok.

Ete

ergün

Merhaba ete bey, öncelikle ilgilendiğiniz için teşekkür ederim, az önce kendime bir test board yaptım, önce bunun üzerinde demeler yapıp sorunun ne olduğunu tespit edebilirsem buradan paylaşacağım

ergün

Sorun hala devam ediyor, farklı portlarda denememe rağmen bir türlü lcd ye bilgi gönderemedim, işin enteresan tarafı istediğim portları kontrol edebiliyorum, yani loop şeklinde istenilen pinler high ya da low yapılabiliyor, aklına bir şeyler gelen var mı acaba ?

kartal_0689

PCB şemayı(ARES), yazılımını ekle bir bakalım istersen bu şekilde çözüme ulaşmak çok zor.
TURKEY/ANK

ete

#5
Ortada program olmayınca fikir üretmek zor oluyor. Lcd sürmekte genel prensip data pinlerinin mutlaka ya portun ilk pininden yada 4 nolu bite denk gelen pinden başlayacak olmasıdır. Data pinleri hem 8 bit hemde 4bit+4bit olarak sürülür. Pin tasarrufu açısından ikincisi genelde tercih edilir. Bu durumda acaba data pinlerini rastgele bir yerdenmi kullanıyorsun?
Dahada açmak gerekir ise diyelimki lcd data pinlerini portc ye bağlayacaksın. Lcd  d.4 pini portc de ya portc.0 a yada portc.4 de bağlanabilir  diğer portlarda da durum aynıdır. Kontrol edip nereye ve nasıl bağladığını açıklarmısın?

Ete

bilsisco

Vdd ye paralel bagli kondansatorler ve kristale bagli kondansatorler sorun cikarir mi?

ete

Şema  verilmiş farkında değilim. Şemada kristal kondansatörleri 1nf gözüküyor. Doğrumudur? Doğru ise sorun budur.

Ete

ergün

İsis te öyle kalmış 22p kullanıyorum kondansatörleri, ayrıca ICSP için D7, D6 da sınırlayıcı direnç (10K) MCLR ve VDD içinde aynı önlemler geçerli, zaten programlamayı LCD ve çevre birimleri olmadan da denedim, sonuç aynı. Fakat bir şey fark ettim ki sigorta ayarlarım ( programda yazılan ) programladıktan sonra uyuşmuyor, yani code protect olmasını istemiyorum mesela, fakat pici yeniden okuttuğumda code protect var diyor. yaptığım örnek yazılım ekte, yardımlarınız için şimdiden teşekkür ederim.

MS_59

programın başına biryere PORTB.2=0 yaz lcd nin açılması için süreyi biraz daha arttır birde pause den sonra lcd yi sil

OUT VAR PORTC.1
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
PAUSE 200
PORTB.2=0
LCDOUT $FE,1,"     deneme     "
LCDOUT $FE,$C0,"    MENU TEST   "
PAUSE 1500
Start:
    OUT=1
    PAUSE 500
    OUT=0
    PAUSE 500     
GOTO start
END
mehmet

ergün

Denedim maalesef olmuyor :( bu genel bir problem mi acaba yoksa benim programlayıcım da mı bir sorun var? biopic kullanıyorum MCS ile derleyip US BURN ile yazıyorum. Şimdiye kadar hiç sorun çıkarmadı, fakat bu ilk SMD 877, daha önce SMD 628 gibi pic ler programladım.

bilsisco

elimde 877 olsaydı dener kodlarını yollardım
kristal kullanmışın define tanımla,
ilk start etmeden pause 500 ile lcdnin çalışmaya hazırlanması gerek,
goto start altında return demene gerek yok,
LCDOUT $FE,1 diyerek lcd temizlenir, ilk başta bunu kullan,
değişken kullanırken "OUT" gibi komut olabilecek isimlerden kaçın,
geriye bağlantı hatası kalıyor bence.
Onu da 1602 serisi LCD kullanıyorsan altta resim yolluyorum ona bakarak kontrol edersin, kolay gelsin

kartal_0689

Lcd' nin 3. numaralı bacağı kontrast için. Buraya 10K trimpot bağla [(1(+), 2(Contrast), 3(GND) şeklinde)]
Programı yükledikten sonra ICSP kablosunu çıkar devrene tekrar enerji ver. Bunları bi dene bakalım.
TURKEY/ANK

BİDİL

data pini 0 dan başlaması gerekir diye düşünüyorum. Ayrıca Osc tanımlanmamış

bilsisco

Alıntı yapılan: kartal_0689 - 29 Ağustos 2014, 08:13:24
Lcd' nin 3. numaralı bacağı kontrast için. Buraya 10K trimpot bağla [(1(+), 2(Contrast), 3(GND) şeklinde)]
Programı yükledikten sonra ICSP kablosunu çıkar devrene tekrar enerji ver. Bunları bi dene bakalım.
1602k LCD kullanıyorsa yukarda bilgi sayfasından resim paylaştım
sıralama (-5v),(+5v),(Vo)... şeklinde gider
Vo(contrast) için 10k lık bir pot takması lazım ki onun da nasıl takılacağı var.

Powered by EzPortal