16F877 yardım zaman problemi

Başlatan toprak6834, 28 Kasım 2011, 18:37:14

toprak6834

arkadaşlar merhaba ccs ile pic programlaya yeni başladım ve yazdıgım bi program preteousta çok normal çalışırken devreyi kurdugumda dogru düzgün çalışmıyo yani bi zaman sorunu ortaya çıkıyo harfler olusmu örnegin delay_ms(1) foksiyonunu 1ms yerine 1 sn gibi görüyorum .aşagıdaki linkte program var ve preteus devreside var yanlışlarımı ,hataları ögrenmek istiyorum yardımlar için çok teşekkürler
http://ifile.it/iojxv7p/Yeni klasör (2).rar

skara1214

zamanlama problemi varsa kristalle alakalıdır durum taktığınız kristali yada ccs de kristal tanımlamanızda hata olabilir kodu buraya eklermisiniz?(siteye girip kontrol etmek falan uzun iş :D)
Herkes ölür ama herkes gerçekten yaşamaz

justice_for_all

eger proteusta cizdigin devrenin aynisini yaptiysan ve elemanlarin degerleride ayniysa bikac hata var onlari duzeltmelisin..

* Kristal kondansatorleri 22nf degil 22 pf olacak..
* Devrende kullandigin kristal degeri ne?
* Devreni 16f877A ile mi yaptin yoksa 16F877 ilemi?

Kodunda bi hata gozukmuyor.(tabi devrende kullandigin kristal 4 Mhz ise).
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

toprak6834

devrede 16F877 kullandım 22nf kullandım 4mhz kullandım 22nf tı 22pf yapayım bi deniyeyim bide 16F877A ile 16F877 arasında ne fark var ben bilmiyorum bi açıklarmısın? 

toprak6834

kodlar bunlar arkadaşlar ilgi gösteren herkese çok teşşekkür ederim

/******************************************************
Uygulama Adı      : Matris LED Display Uygulamas
*******************************************************/
#include <16f877.h>     // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

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

#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
#use fast_io(c) // Port yönlendirme komutları C portu için geçerli

//******** Matrise Gönderilecek Karakter Bilgileri *******
int harf[]={ 0xFF,0x00,0xFD,0xFB,0xFD,0x00,//M
              0xFF,0x00,0xBF,0xBF,0xBF,0x00,//U
              0xFF,0x00,0xF6,0xE6,0xD9,0xBF,//R
              0xFF,0x83,0xF5,0xF6,0xF5,0x83,//A
              0xFF,0xFE,0xFE,0x00,0xFE,0xFE};//T

int gec[31],bas[2];
       
         

int i,j,kal=0,con;



void main ()
{
   setup_psp(PSP_DISABLED);        // PSP birimi devre dışı
   setup_spi(SPI_SS_DISABLED);     // SPI 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 tümüyle çıkış olarak yönlendiriliyor
   set_tris_c(0x00);
   output_b(0x00);
   output_c(0x00);// C portu tümüyle çıkış olarak yönlendiriliyor
   
   for(i=0;i<31;i++)
   {
   gec=harf;
   }
   j=0;
   con=0;
   while(1)
   {
   
   for(i=0;i<15;i++)
   {
   output_c(j);
   output_b(gec);
   delay_ms(1);
   j=j+1;
   if(j==15)
   {
   j=0;
   }
   }
   
   
   
   if(kal==7)
   {
   bas[0]=gec[0];
   for(i=0;i<29;i++)
   {
   gec=gec[i+1];
   }
   gec=bas[0];
   kal=0;
   
   }
   kal=kal+1;
   
}
}

justice_for_all

A serilerinin hafızaları normalinine gore biraz daha yuksek die biliyorum ayrıca microchip firmasının urettgi in circuit debugger veya programmerların entegreyı tanıyabilmesi icin her entegrenin ayrı bir id numarası var bu yuzdn projenizi kullandıgız entegreye gore olusturmanız gerek kondansatorleri deneyip haber werirsiniz olmazsa baska cozumler buluruz iyi calısmalar...
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

toprak6834

condansatörleri denedikden sonra haber vericem teşşekkür ederim iyi çalışmalar

toprak6834

öncelikle gec cevap verdigim için özür dilerim ama böyle dağ başında bir yerde okuyorum anca kondansatör alabildim. justice_for_all üstada çok teşekkür ederim sorun çözüldü.