Animasyon programı yardım...?

mesenkar

Üye
Katılım
2 Mar 2012
Mesajlar
85
Puanları
1
arkadaslar simdi calıstıgım tukkana bi led tabela yaptım maksat pic programlamayı ogrenmek kendi kendime biseyler yapmak ama programı bi turlu dogru duzgun yazamadım
programın soyle olması lazım duzgunde oluyor ama 2. while dongusune girince cıkamıyor kullandıgım pic 16f628a a portunun mclr pinini atlayıp 5 harf surecek sekilde yani 5 harfe animasyon yaptırmak istiyorum b portunun tum cıkıslarıda elektrik yazısına yani 8 harfe surekli karasimsek yapacak zaten programda karasimsege girince a portundaki uysal 5 harfi birdaha animasyon yapmıyor kanımca bu iş icin bana cift işelemi aynı anda pice yaptırmam gerekiyor ama bi turlu beceremedim program burda arkadaslar yardımlarınızı bekliyorum


Kod:
#include "C:\Users\Windows 7\Desktop\Yeni klasör (2)\uysal.h"

int i,led;

void main()
{

   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);
   setup_oscillator(4000000);

   // TODO: USER CODE!!
   
  while(1)
  
  {
      
        
  set_tris_a(0x00);
  
  set_tris_b(0x00);

   

   output_b(0x00);
   output_a(0x00); 
  
  for(i=1;i<5;i++)// çiftli teoogle döngüsü
   
   {
   delay_ms(300);
   output_toggle(pin_a3);
   output_toggle(pin_a6); 
   delay_ms(300);          
   output_toggle(pin_a2);
   output_toggle(pin_a7); 
   delay_ms(300);          
   output_toggle(pin_a1);
   output_toggle(pin_a0); 
   delay_ms(300);          
          
   
   }
   
    
    for(i=1; i<8; i++)///------
   {
   
   output_a(0b11110111);
   delay_ms(1000);
   
   }///------------------------------
   
  
   
   
   
   
   for(i=1; i<10; i++)// yanıp sönme döngüsü
   {
   
   output_a(0b11110111);
   delay_ms(500);
   
   output_a(0b00000000);
   delay_ms(500);
  
   }
   
   for(i=1; i<10; i++)// ilk5 ve son 5li grup flaşör döngüsü
   {
   
   output_a(0b00000000);
   delay_ms(200);
   
   output_a(0b00101111);
   delay_ms(200);
  }
   
   output_b(0x00);
   output_a(0x00);
   
   led=1;
   for(i=0;i<=7;i++)// sağa kayma döngüsü1
   {output_b(led);
   led=led<<1;
   delay_ms(150);
   }
   
   
   
   output_b(0x00);
   
   output_a(0x00);
   
   led=1;
   for(i=0;i<2;i++)// sağa kayma döngüsü1
   {output_a(led);
   led=led<<1;
   delay_ms(150);
   }
   
   
   output_a(0x00);
   led=1;
   for(i=0;i<=7;i++)// sağa kayma döngüsü2
   {output_a(led);
   led=led<<1;
   delay_ms(500);
   }

   output_a(0x00);//sıfırla
   
   led=1;
   for(i=0;i<2;i++)// sağa kayma döngüsü2
   {output_a(led);
   led=led<<1;
   delay_ms(500);
   }


   
   
      for(i=1; i<10; i++)//tek tek flip flop döngüsü
   {
   
   output_a(0b10100101);
   delay_ms(200);
   
   output_a(0b0101001);
   delay_ms(200);
  
   }
   
   
   output_a(0x00);//sıfırla

       
       while(1)
       
       {
      led=1;      //led değişkeni değeri 1 oluyor

      for(i=0;i<=7;i++)   // for döngüsü oluşturuluyor
      {
         output_b(led);      // led değişkeni değeri B portuna gönder
         led=led<<1;         // led değişkeni değerini 1 bit sola kaydır
         delay_ms(100);      // 100 msn'lik gecikme veriliyor
      }

      led=0x80;       //led değişkenine değer yükleniyor
      output_b(led);  //B portuna 0b10000000 bilgisi gönderiliyor
      delay_ms(100);  // 100 msn'lik gecikme veriliyor
      
       for(i=0;i<=6;i++)  // for döngüsü oluşturuluyor
      {
         led=led>>1;    // led değişkeni değerini 1 bit sağa kaydır
         output_b(led); // led değişkeni değeri B portuna gönder
         delay_ms(100); // 100 msn'lik gecikme veriliyor
      }
      
       }
   }
}
 

Forum istatistikleri

Konular
128,162
Mesajlar
915,577
Kullanıcılar
449,921
Son üye
TursuBidonu

Yeni konular

Geri
Üst