16f877 ile led yakıp söndürme hatası

Başlatan azy, 03 Ocak 2016, 13:18:45

azy

Herkese iyi günler.Kodu proteusta çalıştırdım ama devrede çalıştıramadım.Kod şöyle :
#include<16f877.h>
#fuses xt,nowdt,noprotect,nobrownout,nolvp,noput,nowrt,nodebug,nocpd
#use delay(clock=4000000)
#use fast_io(b)


void main()
{
setup_psp(psp_disabled);
setup_timer_1(t1_disabled);
setup_timer_2(t2_disabled,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);
set_tris_b(0x00);
output_b(0x00);







   while(TRUE)
   {
   output_high(pin_b0);
   delay_ms(500);
   output_low(pin_b0);
   delay_ms(500);
   
   }

}

Şu devreyi kurmayı denedim :




Kurduğum devrede şöyle :





Led üzerindeki voltajı ölçtüm 0.4 V var üzerinde Voltage giriş ve çıkışlarını ölçtüm 5V ve topraklarda doğru. Voltajı sadece led üzerine verince yanıyor. İki farklı 16f877 ile denedim sonuç değişmedi.Şimdeden teşekkür ederim iyi günler.

t2

#1
PIC başarıyla programlandı değil mi? programlarken herhangi bir hata çıktı mı?

Programlarken  sorun çıkmadıysa:

Board arızalı olabilr. PICin VDD ve VSS pinlerini ölçelim.5V geliyor mu?
PICin VDD ve VSS pinleri arasına en yakın noktadan  100nF takalım.


program içerisinde kristal frekansını  belirten yer neresi?
Eğer şu ise #use delay(clock=4000000)
4MHZ kristal bağlamak gerekir. Gerçekten 4MHZ kristal bağlandı değil mi?

Kristal yanlış bağlanmış olabilir. kristale takılan kapasitörler  yanlış  olabilir.
4Mhz kristal için 22pF bağlanması öneriliyor olsa da, 2.2pF bağlayınız. 3.3pF eeya 4.7pF  da olur.

LED + ve -  uçları ters bağlanmış olabilir.

programa bakılırsa ledi yakması gereken pin RB0;

40 bacaklı 16f877'de  RB0 pini 33 nolu pin.
Siz ledi 33 nolu pine bağladınız mı ? emin misiniz?

Sanki 28 nolu pine bağlamışsınız gibi görünüyor.

sizin resme göre, Besleme 29 ile 30a bağlanmış.
halbuki 32 ve 31 nolu pinler olması gerek

Kristal de yanlış uçlara bağlanmış olabilir. resimden anlaşılamıyor.

Ayrıyeten 1 nolu ucu (MCLR) Beslemeye bağladınız mı? resimden onu da anlayamıyoruz . Bu uç beslemeye bağlanması gerek. direnç ile veya doğrudan bağlanabilir.


mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

azy

pic i önce silip sonra başarıyla programladım, bende board'un bozuk olabilceğinden şüpheleniyorum boardı 3 sene önce kullanmıstım çalışıyodu ama o zaman picbasicle programlamıstım o zaman ilk seferde çalışmıştı. Picin bağlantılarını kontrol ettim hepsi doğru sanırım picbasicle bir kez daha denicem çalışmazsa boardı değiştiririm. teşekkür ederim ilgilendiğiniz için.

t2

Alıntı yapılan: azy - 03 Ocak 2016, 21:38:34
Picin bağlantılarını kontrol ettim hepsi doğru
Resimde yanlış görünüyor.

serdararikan

programda RB0 kulanmışsın ama ledi başka bir porta bağlamışsın

Recep METE

Direnci b0 pini yerine d4 pinine bağlamışsın.Doğru pine takınca düzelecektir.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d