ccs c programında yazılmış led sürekli yanıyor

Başlatan Recep METE, 20 Mart 2013, 11:24:23

Recep METE

Ccs c ile yazmış olduğum kodu pice yükleyip, breadboarda kurdum led sürekli yanıyor.Normalde yanıp sönmesi gerekiyor.Programı birde Serdar hocanın programını kurup  çalıştırdım, sorun aynı yanıp sönmüyor sürekli yanıyor.Breadbordun kurulumunu internette araştırmalarıma göre kurdum,sorun olduğunu zannetmiyorum.
Acaba sorun nedir arkadaşlar.Yardımcı olursanız sevinirim.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

gevv

 

Recep METE

Hocam kristal olarak 4000M osilatör kullanıyorum.Acaba bu yanlış bir seçim mi?Delay lar 500 ms ancak led sönmüyor.Sürekli yanıyor.Zannedersem program ilk komutta kalıyor. Diğer komuta geçmiyor.Böyle bir şey olabilir mi.Yanıtlarınızı bekliyorum. Saygılar.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

yusufburak

Arkadaşım isis dosyası ve kodları ekleyebilir misin ?
Öğretici aranıyor :)

Erol YILMAZ

Alıntı yapılan: semfero - 20 Mart 2013, 13:21:19
Hocam kristal olarak 4000M osilatör kullanıyorum.Acaba bu yanlış bir seçim mi?Delay lar 500 ms ancak led sönmüyor.Sürekli yanıyor.Zannedersem program ilk komutta kalıyor. Diğer komuta geçmiyor.Böyle bir şey olabilir mi.Yanıtlarınızı bekliyorum. Saygılar.

4000M lik bir PIC yeni çıkmış olmalı...

yada bunda  bir yanlışlık var,
4 Mhz lik bir xtal olmasın ?

mr_knox

Arkadaşım Serdar hocanın bu uygulamasından mı bahsediyorsun?

#include <16f877.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // Denetleyici konfigürasyon ayarları

#use delay(clock=4000000)   // Gecikme fonksiyonu için kullanılan osilatör frekansı belirtiliyor

#use fast_io(b) // Port yönlendirme komutları B portu için geçerli

/********* ANA PROGRAM FONKSİYONU********/

void main ()
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı

   set_tris_b(0x00);    // B portu komple çıkış olarak yönlendiriliyor

   output_b(0x00);        // B portu çıkışı komple sıfır yapılıyor.

   basla:               // Etiket ismi

   output_high(pin_b0);  // RB0 pini çıkışı lojik-1 yapılıyor
   delay_ms(500);        // 500 ms gecikme veriliyor
   output_low(pin_b0);   // RB0 pini çıkışı lojik-1 yapılıyor
   delay_ms(500);        // 500 ms gecikme veriliyor

   goto basla;           // basla etiketine dallanılıyor
}


???*
Bu arada borda kurarken bi pull-down direnci atarsan sorunun ortadan kalkar sanırım.
kutsal kitapları okuyup anlamayan dindar okuyup anlayan ateist olur.  ( Nikola Tesla )

54_fatih_54

1 numaralı bacağa mcrl bacağına 10k diren. bağla ve +5v ver ;)
Dalından Kopan Yaprağın Akibetini Rüzgar Belirler..

Recep METE

#7
Hocam programın yazılışında bir hata olduğunu zannetmiyorum.Serdar Çiçek hocanın yazdığı programı kullandım. Yine de sizlere göstermek için buraya kopyalayıp yapıştırıyorum.Ayrıca Yanıp sönmeyen sürekli yanan devremin resmini  buraya yüklemeye çalışıyorum.Devrede bir hata varsa nolursunuz burada paylaşın.Kaç gündür uğraşıyorum.Kafayı yemek üzereyim.
[IMG]http://img850.imageshack.us/img850/156/20130320222133.jpg[/img]

Buda program:#include <16f877.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD // Denetleyici konfigürasyon ayarları

#use delay(clock=4000000)   // Gecikme fonksiyonu için kullanılan osilatör frekansı belirtiliyor

#use fast_io(b) // Port yönlendirme komutları B portu için geçerli

/********* ANA PROGRAM FONKSİYONU********/

void main ()
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı

   set_tris_b(0x00);    // B portu komple çıkış olarak yönlendiriliyor

   output_b(0x00);        // B portu çıkışı komple sıfır yapılıyor.

   basla:               // Etiket ismi

   output_high(pin_b0);  // RB0 pini çıkışı lojik-1 yapılıyor
   delay_ms(500);        // 500 ms gecikme veriliyor
   output_low(pin_b0);   // RB0 pini çıkışı lojik-1 yapılıyor
   delay_ms(500);        // 500 ms gecikme veriliyor

   goto basla;           // basla etiketine dallanılıyor
}

mesaj birleştirme:: 20 Mart 2013, 23:47:40

Arkadaşlar buda videosu; sorunum şudur led sürekli yanıyor.Yanıp sönme hareketi yapmıyor.Acapa pic zarar görmüş olabilir mi.4 tane 1.2 volt pil kullanıyorum.

http://youtu.be/oxsFENrcrow
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

54_fatih_54

bende regulator kullanıyormusun diye sorucaktim..ama pil kullanıyorsun..geç dosyani simülasyonda denedinmi
Dalından Kopan Yaprağın Akibetini Rüzgar Belirler..

sadogan

işlemcinin 12 nolu pini gnd ye bağlı deyil sanırım

Recep METE

#10
Arkadaşlar ben 3 tane elemanadan şüpheleniyorum.
1-Pic hatalı olabilir.
2-Kristal çalışmıyor olabilir.
3-Kondansatör(şaseye bağlanan 100 mikro Faradlık) başka devreden sökmeydi, bu da bozuk olabilir.
4-Programı yüklerken hata yapıyor olabilirim.

Bu nedenlerle yeniden pic,kondansatör ve osilatör siparişi verdim.Bunları yeniden deneyip sizlerle paylaşacağım.Yılmak yok yola devam.Ayrıca piki tutarken yalıtımlı eldiven giyeceğim.(her ihtimale karşı) Programı yüklerken hata yaptığımı zannetmiyorum ama bunu videoya çekip burada paylaşacağm.Hata varsa buradaki uzman arkadaşlar bunu görüp uyarır zannediyorum. Şunuda söylemeden geçmeyeceğim.Ben elektronikle hobi olarak ilgilenen bir öğretmenim.Belki yaş olarak abiniz sayılırım.Biraz geç de olsa elektronik ilgimi çekti.Ama işin en başında basit bir engeli aşamadık.Bu engelin içimdeki bu elektronik zevkini söndürmesinden çekinmiyor değilim.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

haydarpasamikro

12 nolu bacak(GND), - kaynak yerine 28 nolu bacağa(RD5) atlama yapılmış. Hatalı. Sökün çalışsın.
Mikro Dünyası.Haydarpaşa Teknik ve Endüstri Meslek Lisesi Mikrodenetleyici Atl. Şefi

yusufburak

28 no'lu bacaktaki atlama 31'e gelicek ayrıca ordaki kondansatör neden ?
Öğretici aranıyor :)

Recep METE

Alıntı yapılan: yusufburak - 21 Mart 2013, 14:08:28
28 no'lu bacaktaki atlama 31'e gelicek ayrıca ordaki kondansatör neden ?

Yusuf Bey kondansatörü Serdar Çiçek Hocanın kitabında gördüm.Serdar Hoca tüm çalımalarında 11. ve 32. bacakları toprağa verirken 100nF lik kondansatör bağlı göstermiş.Tüm uygulamalarındaki şemalarda var.Bu nedenle taktım.Ancak kondansatör takmayıp toprağa versem bile düz yanıyor.Flip flop yapmıyor.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

yusufburak

O kondansatör 11-32 bacaklarından toprağa bağlı olarak görünmüyor mu kitapta ?
Şu anki bağlantınız karşılamıyor bu dediğinizi.
Öğretici aranıyor :)