LCD de hiç görüntü yok.Dersler bölümündeki kodları k

Başlatan f1varol, 18 Nisan 2007, 20:55:29

f1varol

Arkadaşlar acil yardım lütfen.valla gözüme uyku girmez oldu. Yeni kayıt foruma, öncelikle hoşbulduk. Pİc basic pro öğreniyoruz-4 dersin de anlatılan 4b nolu projeyi yapmak istedim. evet isis te çalışıyo ama board üzerine kurdum program çalışıyo ama lcd de görüntü yok. hiç görüntü yok anlamadım gitti. Derste verilen şema ve kodlarda bizim gözden kaçırdığımız bir şeymi var, bu kodlar sonuçta derleniyo, simülasyonda çalışıyo ama gerçekte niye sorun çıkıyo. Ben ek olarak o programda portb.0 ı çıkış yapıp belli aralıklarla yakıp söndürme gibi bi işlev ekledim. şimdi program çalışıyo board üzerinde , ledim yanıp sönüyo ama lcd de görüntü yok.siyah karecikler bile gelmedi. başka lcd ile denedim yine aynı.

değiştirilmiş haliyle kodlar şöle;

TrisA=255
TrisB=0
'------------------------------------------------------------------
@ DEVICE pic16F628 'işlemci 16F628
@ DEVICE pic16F628, WDT_ON
@ DEVICE pic16F628, PWRT_ON
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16F628, MCLR_ON
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
'-------------------------------------------------------------------
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 1
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
'-------------------------------------------------------------------
CMCON=7
OPTION_REG.7=1
'-------------------------------------------------------------------

k  VAR BYTE
SAYI VAR BYTE
SYMBOL LED=PORTB.0
'-------------------------------------------------------------------
LOW PORTB.2
SAYI=0
PORTB=0
HIGH LED
LCDOUT $FE,1
PAUSE 200
'-------------------------------------------------------------------
BASLA:
LCDOUT $FE,2," TSE. TEST = ",DEC2 SAYI
LCDOUT $FE,$C0, " UFUK TASARIM"
PAUSE 100:

IF LED=1 THEN
SAYI=SAYI+1

IF SAYI=51  THEN SAYI=0
ENDIF

IF LED=0 THEN
SAYI=SAYI-1
IF SAYI=255   THEN SAYI=50
ENDIF
IF LED=1 THEN PAUSE 400
LOW LED
IF LED=0 THEN PAUSE 400
HIGH LED
IF SAYI=50 THEN GOTO SAY
SAY:
IF SAYI=50 THEN
HIGH LED
For k=2 TO 10 step 2

Pause1000

Next
ELSE


GOTO BASLA
ENDIF

END

Bide lcd pinlerini board üzerinde iken ölçtüm ,şöle
lcd bacaklarını ölçtüm şöle:
RS ile eksi kutup arası 5v
E ile " " " 5v
RW ile " " " 5v
D5 0v , D7,D4,D6 ise 5v

İsiste çalışıyor, orda da bacakları ölçtüğümüz de bu sonuç çıkıyo. şimdi araızayı nerde aramalıyım. lcd de hiç görüntü yok ama program yarım da olsa çalışıyo, en azından led. bi fikir verin arkadaşlar.Saygılar

aslan_korhan

Büyük bir ihtimal ile LCD ve PIC arasında bağlantı sorunun var veya kontrast potunda.
Bazı LCD'lerin bağlantısı farklı olabiliyor. Yanlış bağladıysan eğer %99 olarak o LCD yanar...
Bu arada incelediğim kadarı ile programda bir sorun gözükmüyor. Zaten proteus'ta çalıştırmışsın. Proteus'ta Kontrast potu bağlı olmadanda çalışıyor ama gerçek devrende bağlı olması şart...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

cuneytsezmis1

lcd nin RW ucunu (-) ye çekmeyi unutmayasın.aslan hocanın dediği gibi kontrast potunu iki yönede çevir öyle dene.ben çoğu zaman kontrastı ayarlamayı unutup programda hata aradığım oluyor.seninde sorunun ikisinden biridir büyük ihtimalle.kolay gelsin ve aramıza hoşgeldin.

f1varol

RW ucu low low durumunda, yazmaya izin vermek için. kontrol ettim, hatta pic bacağına güvenmeyip direk - kutpa bağlayarak denedim. Kontrast için pot bağlamdım, vdd ile Vo (VEE bacağı) arasına bi direnç ile bağlantı yaptım. 10k ile 100r ile denedim. kontrast bozuk bile olsa ekranda az buçuk karakterlerin çıkması gerekirdi.

yildizelektronik

Kardeş Vee ucu ile şaseye 680r direnç bağla yanlız potu çıkar. ;)

f1varol

onu da denedim şimdi, sonuç yok. fotoğraflarını da ekliycem ayrıntılı. foto eklenebiliyo demi foruma. bi de lcd sağlamlık testi nasıl acaba

ete

Program doğru gözüküyor.
Bu sorunu yaratabilecek üç unsur var.
birincisi Kontrast potansiyometresi. 860 ohm direnç bu işi halleder. Onu yaptım diyorsun.
İkinci unsur LCDnin arızalı olma ihtimali. Bunu bir şekilde çalışan bir devrede test etmen gerek. Başka kontrol mekanizması yok.

Üçüncü unsur bağlantılarında hata olabilir. Genelde yapılan en önemli hataların başında LCD bacaklarını ters takmak gelmektedir. Yani 1 nolu pine 14 Nolu çıkışı bağlamak gibi.
Bana kalırsa bağlantıları şemaya göre vede özellikle programa göre yeniden kontrol etmelisin. Her şey doğru ise kesin LCD hatalıdır bir başka LCD ile deneme yapman gerekir.

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

f1varol

kristal bağlamadım, 628 in dahili osilatörü kullanılıyor. program böle sonuçta. ama ne bilem işte şemada kristal bağlantısı yapılmış, yinede balirtmek istedim. insan sorunu çözemeyince kafa sağlıklı işlemiyo artık...

aslan_korhan

Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

Fixxer

Kardeşim hemen pic'e gelen voltajı ölçmeni tavsiye ederim. 5 volt geldiğinden emin ol  ;)
...............................