16f877A kararlı çalışmıyor

dection

Üye
Katılım
24 Ağu 2010
Mesajlar
5
Puanları
1
arkadaşlar yaklaşık 2 haftadır bu problemle uğraşıyorum ne yazıkki hala bir sonuç elde edemedim. yardım ederseniz çok sevinirim. aşağıda görmüş olduğunuz gibi bir devre var. hem baskı devresi hemde isiste çizmiş olduğum devre şemasıda aşağıda mevcut. en basitinden yanyana bulunan bir kaç ledi sırayla yakmaya çalıştığımda kesinlikle istediğim gibi çalışmıyor. ancak proteus da denediğim zaman orda bi sıkıntı yok kesinlikle orada çalışıyor.pic i programlayıp devre üzerine 16f877A yerleştirdiğim zaman ise kafasına göre takılmaya başlıyor birisi yanıyor sonra diğeri yanıyor bekliyor bu şekilde sonra diğeri yanmıyor falan yani kararsız bir şekilde çalışıyorda diyebilirim.. bi fikri olan varsa söylerse çok memnun olurum benim için çok önemli problemi muhakkak çözmem gerekiyor en kısa zamanda....

örnek olarak aşağıda ki asembly de yazmış olduğum program varmı bir yanlışlık nerde hata yapıyorum fikir ve önerileriniz nedir....


LIST P=16F877a
INCLUDE "P16F877a.INC"
SAYAC1 EQU H'0C'
SAYAC2 EQU H'0D'
CLRF PORTB
BCF STATUS,0
BSF STATUS,5
CLRF TRISA
CLRF TRISB
CLRF TRISC
CLRF TRISD
CLRF TRISE
BCF STATUS,5
MOVLW H'01'
MOVWF PORTB
SOL
CALL GECİKME
RLF PORTB,F
BTFSS PORTB,7
GOTO SOL
SAG
CALL GECİKME
RRF PORTB,F
BTFSS PORTB,0
GOTO SAG
GOTO SOL
GECİKME
MOVLW H'FF'
MOVWF SAYAC1
DONGU1
MOVLW H'FF'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2,F
GOTO DONGU2
DECFSZ SAYAC1,F
GOTO DONGU1
RETURN
END
 
Karaşimşek devresi hea.. :)) Peki ya configurationlar ? Yazılımda yoklar? Nasıl ayarladığınızı sorabilir miyim? Eğer led geçişlerinin arasındaki zaman ile ilgili bir sorununuz varsa kristal kaynaklı olabilir.. Ayakları temas edip etmemesine dikkat edin, mümkünse değiştirin kristali.. Bir de (+) (-) arasına küçük nF lık kondansatörler atmayı deneyin isterseniz..

Bir de şu yazılımlarda "status, 5" yerine "status, rp0" kullansanız,, "status, 0" yerine "status, C" kullansanız anlaşılabilirliği bakımından daha iyi olacak.. Pdf karıştırmak zorunda kalıyoz yoksa.. :)
 
aslında benim asıl yapmak istediğim farklı bir program ancak o ya da bu farketmiyo ikisindede aynı şey oluyo , çalışıyor aslında ama biraz bekliyo sonra birden yanıyo bide yeni farketttim kristalin üzerini mesela bir tel alıp sürtüncede çalışmasında sürekli değişiklikler olmaya başlıyo :D kristali değiştirip bakıcam inş düzelir. konfigirasyon ayarlarını pic programlama yazılım üzerinden yapıyordum orda bir sorun olabileceğini düşünmüyorum çünkü hepsini teker teker denemişliğimde var açıkçası. aslında birde şüphelendiğim nokta tüm giriş/çıkış uçlarının hepsini çıkış durumuna getiriyorum fakat bunlar boşda kalıyo sonuç itibariyle çünkü ben sadece Ave B portlarını kullanıyorum onlara da dirençler falan bağlı vaziyette acaba diğer kullanılmayan uçlara bir direnç le , giriş ve çıkış olması durumuna göre GND veya (+) uca bağlamamıza gerek varmıdır sorun teşkil edermi bilmiyorum. öyle bir sorun varsa devreyi tekrar kurmam gerekecek çünkü.


Son öneriniz için de teşekkür ederim de bizlere bu şekilde öğrettiler açıkçası hep bende böyle yapıyordum bu zamana kadar :D
 
Valla benim donanım yönüm zayıftır.. Ama pic te yazılım(ya da kesme modülleri) kontrol etmediği sürece bir pinin giriş ya da çıkış olması ya da besleme gerilimi sınırlarındaki bir voltaj uygulanması birşey değiştirmez bence..

Anlattığınıza bakılırsa sorun olabilecek yerler; kristalin arzalı olması, kristale bağlı kondansatörlerinin yüksek kapasiteli olması vs, configurasyon bitlerinde kristale ait HS-XT-LP ayarlarında hata yapmış olmanız, ya da baskılı devrede kristale ait yolların yıpranmış olması.. Aklıma başka bir sorun gelmiyor.. :) Büyük ihtimalle çözülmüştür sorun,, ama çözemediyseniz buralara da bir bakın.. Kolay gelsin..
 
çok çok teşekkür ederim dediğiniz gibi kristali değiştirip tekrar bi deneme yapmam gerekiyo sanırım. sonuçları burada tekrar yazarım tekrardan teeşekkürler :) :)
 
GüvTek arkadaşım şu anda bişi daha farkettimki devrenin neden çalışmadığını sabırım açıklıyo, devre elemanlarını satın aldığımız yerdeki eleman bana kristalin yanında bulunan iki kondansatörü 22pf verceğine 22 nf vermiş sanırım bundan kaynaklanıyooo ......
 
Elinde 22pF yoksa kondansatörsüz dene istersen.. Zamanlamada hassas olmasa da çalışır yine de..
 
1 numaralı ayağa giden uca 10k yerine 2 k lık bir direnç bağlayıp dene

kolay gelsin
 
MCLR ye 10 k fazla oluyor. Arkadaşın dediği gibi 1-2 k bağlarsan sorun kalmaz.
 
Bende sumo robot yapıyorum bende aynı sorunla karşılaştım dedikleriniz bende deneyeceğim inşallah direnç veya kristal sorunudur.
 

Forum istatistikleri

Konular
130,133
Mesajlar
933,438
Kullanıcılar
453,209
Son üye
felonika

Yeni konular

Geri
Üst