Pic'in kullanmadığım portları

ibora

Usta Üye
Katılım
14 Eyl 2008
Mesajlar
1,203
Puanları
156
Yaş
56
Arkadaşlar merhaba,
16F877 ile bir proje yaptım. Program Proteus'ta ve Pic V5 eğitim setinde çalıştırdım. Ancak iş baskı devreyi yapıp çalıştırmaya gelince çuvalladım.
Şimdi soru(lar) şu:
1-Ben bu pic'in tüm portlarını kullanmıyorum. Boşta kalan uçları pull up yada pull down yapmalımıyım?
2-Power up reset için entegrenin 1 nolu ucunu 10K ile Vcc'ye çekmek yeterli mi?

Eğer böyle değilse baskı devrede hata yaptığımı düşüneceğim.
Ayrıca bu projede bana destek olan ULAGA arkadaşıma da çok teşekkür ederim.

Yardımlarınız için çok teşekkürler...
 
boşta kalan uçları kullanmayacaksan pull-up yada pull down yapmana gerek yok. mclr için kullandığın direncide 3k3 ile değiştirirsin olur biter
 
Kullanmadığım portları çıkış yapıp Low'a çekip boş bırakıyorum genellikle.
Ciddi iş ise çıkış yapıp Low'a çekip 1k ile de şese ye bağlıyorum.
MCLR için 1K-10K arası kullanılabilir. Program geliştirirken 4.7K kullanıyorum. Çok gürültülü ortamda çalışacak, işi bitmiş devrede 1K gibi bir değer daha iyi.
 
Proteusta besleme pinleri de hide 'dir. PIC16f877 'de ise 11 ve 32 pinleri VDD , 12-31 nolu pinler ise GND 'dir.Yani Çift besleme pini var.ARkadaşların dedği gibi MCLR_ON ise ve dirençle VDD 'ye bağlamaz isen devren çalışmaz.Başka neden çalışmaz bilemiyorum.
 
Sorun büyük olasılıkla osilatörden kaynaklanıyordur. Osilatör bağlantılarını ve pic'i programlarken doğru osilatörü ayarladığınızdan emin olun.
 
Boştaki pinlere arkadaşların anlattığı önlemler alınabilir, iki Vdd pininide artıya, iki Vss pininide ground a bağlamakta fayda var, osilator bacaklarına kristal ve kondansatörlerini veya RC osilator kullanılıyorsa direnç ve kondansatörünü bağlamayı ihmal etmemek lazım, MCLR da 1-10 k arası bir dirençle + ya bağlanmalı, aslında bunları arkadaşlarımız söylemişler, bence şema, ve çıkardığınız baskı devrenin arkalı önlü birer fotoğrafını paylaşabilirseniz inceleyip net birşey söyleyebiliriz, belki baslı devrede hata yapmışsınızdır olamazmı?____________________2) nolu sorunuzda MCLR ı 10 k ile Vcc ye çekmek demişsiniz, belki yanlışlıkla yazmışsınızdır bilemiyorum, PIC 16F877 nin 1 Nolu bacağı MCLR 1-10 k arası bir dirençle Vdd ye yani +5 V a bağlanmalıdır.
 
Merhaba
Yazılımınızda TRIS ayarlarını nasıl yaptıysanız o şekilde uygulamanızı öneririm.Ben boşta pin bırakmıyorum TRIS ayarına göre 10k ile ya GND veya VDD bağlıyorum.Kolay gelsin.
 
2) nolu sorunuzda MCLR ı 10 k ile Vcc ye çekmek demişsiniz, belki yanlışlıkla yazmışsınızdır bilemiyorum, PIC 16F877 nin 1 Nolu bacağı MCLR 1-10 k arası bir dirençle Vdd ye yani +5 V a bağlanmalıdır.

Haklısınız, aynen VDD'yi kastetmiştim. Baskı devreyi proteus'ta oluşturmuş olduğum devreden Ares ile çizdim. Bazı yollar iyi çıkmadı ama onları düzelttim. Bu akşam yeni bir baskı devre hazırladım. Bakalım bunda başarılı olabilecekmiyim. Eğer olamazsam sizleri yine rahatsız edeceğim.
İyi geceler...
 
Merhaba
Yazılımınızda TRIS ayarlarını nasıl yaptıysanız o şekilde uygulamanızı öneririm.Ben boşta pin bırakmıyorum TRIS ayarına göre 10k ile ya GND veya VDD bağlıyorum.Kolay gelsin.
Uygulamamda 12 bit çıkış(port D ve Port A'nın yarısı) BCD olarak 3 adet 7 segment display'i sürüyor. PortB 4 ve 5 kesmesini kullanıyorum.
I-O ayarlarım şu şekilde:
set_tris_b(0xF0); // RB7,RB6,RB5,RB4 giriş, diğer uçlar çıkış
set_tris_a(0x00); // A portu çıkış
set_tris_c(0x00); // C portu çıkış
set_tris_d(0x00); // D portu çıkış
 
Merhaba
Tamamdır.Girişleri VDD'ye(10k ile)çıkışlar da muhtemelen işlem için elemanlara bağlıdır.Özetle boşta pin kalmasın.Ben şahsen böyle yapıyorum.Profesyonel arkadaşlar daha iyi bileceklerdir.
 

Forum istatistikleri

Konular
129,860
Mesajlar
930,840
Kullanıcılar
452,722
Son üye
gsdfs

Yeni konular

Geri
Üst