İsisde çalışan devre gerçekte çalışmıyor (pic 16f887a)

Başlatan [TR]ahmet, 20 Ağustos 2013, 19:16:06

[TR]ahmet

aşağıdaki devre isiste çalışıyor fakat gerçekte çalışmıyor neden olabilir ?

#include "C:\Users\Shrolr\Desktop\pic denemesi\pic 16f887a\led\led.h"


   #byte A_PORTU = 0x05 // A portu PIC'te 0x05 adresindedir
   #byte A_TRIS = 0x85 // TRISA PIC'te 0x85 adresindedir
   #bit kirmizi_led = 0x05.0//Kırmızı led A0 portu
   #bit sari_led = 0x05.1//Sarı Led A1 portu
   #bit yesil_led = 0x05.2//Yeşil Led A2 portu
void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);

   // TODO: USER CODE!!

   //A_PORTU = 0;
   //A_TRIS = 0x03; // A0,A1 giriş diğerleri çıkışa ayarlanıyor
   //set_tris_a(0x05);
   A_PORTU = 0;
   A_TRIS = 0;  // A portu komple çıkış
   while(TRUE)
   {
   kirmizi_led = 1;
   sari_led=0;
   yesil_led=0;
   delay_ms(100);
   kirmizi_led = 0;
   sari_led=1;
   yesil_led=0;
   delay_ms(100);
   kirmizi_led = 0;
   sari_led=0;
   yesil_led=1;
   delay_ms(100);
   }
      
   
}




Maxim

proteusta bazi seyler dikkate alinmaz.

mesela xtal olmasa bile devren calisir.
config tanimlari o kadar dikkate alinmaz
mclr girisini bos bile biraksan pic calisir
gibi

bunlar eksikmi?

metaltrrocker

Ledlere pull up dirençleri koymayı unutma.Ledler veya pic bozulabilir.Maxim'in dediği gibi mclr yi düzgün yaptığından emin ol.Elindeki pic çalışıyormu başka pic varsa onunla dene vs vs.

[TR]ahmet

Alıntı yapılan: Maxim - 20 Ağustos 2013, 19:34:23
proteusta bazi seyler dikkate alinmaz.

mesela xtal olmasa bile devren calisir.
config tanimlari o kadar dikkate alinmaz
mclr girisini bos bile biraksan pic calisir
gibi

bunlar eksikmi?

xtal ekli değildi ekledim birazdan deneyeceğim
ayarların tam olarak ne yapmam gerekiğini bilmiyorum frekansı 4mhz yaptım başka bir şey yapmadım
mclr  boş bıraktım  onadamı 5v vermek gerekliydi ?
tüm yapmadıklarımı saymışsın teşekkürler

Alıntı yapılan: metaltrrocker - 20 Ağustos 2013, 19:56:23
Ledlere pull up dirençleri koymayı unutma.Ledler veya pic bozulabilir.Maxim'in dediği gibi mclr yi düzgün yaptığından emin ol.Elindeki pic çalışıyormu başka pic varsa onunla dene vs vs.
ürünleri yurt dışından aldığımdan dolayı 75  avro sınırı geçmemek tek aldım o yüzden fazladan pic yok :( elimde şuanda normal direnç var ondan koysam olurmu bir de kaç ohm luk koyum  teşekkürler 

[TR]ahmet

Yukarıdakilerinin hepsini yaptım çalıştı fakat sürekli kırmızı led yanıyor fakat diğerleri yanmıyor sebebi ne olabilir ?

[TR]ahmet

 picim PIC16F877A değilmiş PIC16F877A-I/P imiş hata bundan dolayı olabilir mi ? iki pic arasında  fark var mıdır  ?

Gökhan BEKEN

Kristal kullanmazsanız ve dahili osilatörü aktif etmezseniz devre çalışmaz. Ya harici bir kristal bağlayın ya da dahili osilatörü aktif edin. Aşağıdaki devredeki gibi bağlayabilirsiniz ledleri ve kristali. Kristaldeki kondansatörün 22pf olduğuna dikkat edin yanlışlıkla 22nf takmayın.
MCLR kısmına da dikkat edin. 10k direnç ile 5 volta bağlayın. Buton bağlarsanız reset attırabilirsiniz ama şart değil. 100nf kondansatorü 5volt ve gnd arasına koymayı ihmal etmeyin. Ayrıca 16f877 de iki adet vdd ve 2 adet vss girişi vardır vss leri gnd ye yani 0 volta, 2 adet de vdd vardır(vcc ile aynı anlama gelir) bu pinleri 5 volta bağlayın.

Başka bir picte benzer bir örnek:
Özel mesaj okumuyorum, lütfen göndermeyin.

Maxim

ilgili islemci 877
int osc yok


EDIT:
baslik 887
sema 877

hangi islemci var?
uzerinde ne yaziyor bir zahmet okuyun.

[TR]ahmet

Alıntı yapılan: meftun - 20 Ağustos 2013, 23:49:20
Kristal kullanmazsanız ve dahili osilatörü aktif etmezseniz devre çalışmaz. Ya harici bir kristal bağlayın ya da dahili osilatörü aktif edin. Aşağıdaki devredeki gibi bağlayabilirsiniz ledleri ve kristali. Kristaldeki kondansatörün 22pf olduğuna dikkat edin yanlışlıkla 22nf takmayın.
MCLR kısmına da dikkat edin. 10k direnç ile 5 volta bağlayın. Buton bağlarsanız reset attırabilirsiniz ama şart değil. 100nf kondansatorü 5volt ve gnd arasına koymayı ihmal etmeyin. Ayrıca 16f877 de iki adet vdd ve 2 adet vss girişi vardır vss leri gnd ye yani 0 volta, 2 adet de vdd vardır(vcc ile aynı anlama gelir) bu pinleri 5 volta bağlayın.
4mhz kristal kullandım sorun olur mu ? 100nf kontansatör dışında diğerlerini yaptım. sadece kırmızı led yanıyor o da sürekli yanıyor :( aşağıdaki devreyi de yaptım gene çalışmadı :(   picim farklı olduğundan olabilir mi ? picim 16f887a-i/p olduğundan sorun olabilir mi  pic şeçerken falan hep pic 16f887a dedim sorun bundan kaynaklı olabilirmi? Çok güzel açıklamışsınız teşekkürler
http://www.recepcelikkaya.com/pic-programlama-ders-1led-yakma/


mesaj birleştirme:: 21 Ağustos 2013, 11:09:21

Alıntı yapılan: Maxim - 21 Ağustos 2013, 05:29:49
ilgili islemci 877
int osc yok


EDIT:
baslik 887
sema 877

hangi islemci var?
uzerinde ne yaziyor bir zahmet okuyun.

üzerinde PIC16F877A-I/P yazıyor cahilliğime verin yazdıklarından bir şey anlamadım baslık ve sema derken neyi kastettiniz ? cevap verdiğiniz için teşekkürler



Ben en iyisi işlemciyi değiştirim bana hangi işlemciyi önere bilir siniz ?

[TR]ahmet

Çok sağolun oldu nasıl oldu bilmiyorum :) fakat oldu cevap veren herkese cevapları için teşekkürler

Düzenleme =Sorunun kaynağı işlemciyi tam yerleştirmediyimden kaynaklanıyormuş :) ayrıca yukarıdaki bilgiler benim çok iyi yarar tekrar teşekkürler

RaMu

Devrelerinizi düzenli kurun,
artı ve eksiler breadboardın alt ve üstünde bulunan
paralel çizgilerde birer sıra olarak bulunsun
(ya alt tarafdaki çift sıranın altta olan çizgisini
yada üstte olan çizgisini soldan sağa tamamen
artı veya eksi olarak kullanın, aynı şekilde diğer çizgilerde)
breadbordda üstteki ikili ile altdaki ikili artı eksi hatlarını irtibatlandırın,
fotolarda sağdaki siyah ve turuncu ile yukarıdan aşağıya yaptığım bağlantı gibi,
ayrıca bazı breadbordlarda bu yatay çizgilerin tam ortadanda irtibatlandırılması gerekebilir,
devrede artılar için bir renk eksiler için bir renk kullanın,
mümkünse artılar için canlı renkler, kırmızı turuncu,
eksiler için beyaz veya siyak kullanın,
şematik bağlantıyı breadboarda doğru geçirin.







Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

[TR]ahmet

Alıntı yapılan: RaMu - 21 Ağustos 2013, 18:33:11
Devrelerinizi düzenli kurun,
artı ve eksiler breadboardın alt ve üstünde bulunan
paralel çizgilerde birer sıra olarak bulunsun...

Teşekkürler geç cevap verdiğim izin özür dilerim daha yeni gördüm  dediklerinizi zaten yapmaya çalışıyorum benim o gün  devre bağlantısında sorun yoktu benim sorunum  işlemciyi tam olarak oturmamışım korkaklıktan olsa gerek sorun ondan kaynaklanıyormuş :)