PIC 16F877 ÇOKLU LED SINYAL

CCS C ile yazılmış ve PIC 16F877 mikroişlemcisi kullanılmış bir uygulama. Uygulamada mikroişlemcinin B portlarına bağlı ledler belli aralıklarla yanıp sönüyor. Buttona basınca duruyor.


PIC 16F877 uygulamasında bu kez 8 adet led ve bir adet button kullanacağız. Ledler balli aralıklarla yanıp sönecek, buttona basınca hepsi sönerek bekleyecektir.



Mikroişlemcinin B portunun tüm ayaklarını 0 yapmak için aşağıdaki komutu kullanabiliriz.

      output_b(0b00000000);

Mikroişlemcinin tüm ayaklarını 1 yapmak için ise aşağıdaki komutu kullanabiliriz.

        output_b(0b00000000);

A portlarını giriş olarak ayarlamak için kullanacağımız kod.

      set_tris_a(0xFF);

A portunun 0. Ayağının 1 olup olmadığını aşağıdaki şekilde kontrol edebiliriz.

      if(input(PIN_A0)==1)
      {
           output_b(0b11111111);
           delay_ms(300); 
           output_b(0b00000000);
           delay_ms(300);
      }
      else
      {
         output_b(0b00000000); 
      }

Yukarıdaki örnekte PIN_A0’ın 1 olup olmadığı kontrol ediliyor. Eğer 1 ise ledler yanıp sönüyor, değilse ledleri söndürüp bekliyor.


Program Kodları

      #include <16F877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD 
#use delay(clock=4000000)   




void main()
{
   while(TRUE)
   {
      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);    
      set_tris_a(0xFF);
      output_b(0x00);      
      output_a(0x00);
      
   while(TRUE)
   {
   
      if(input(PIN_A0)==1)
      {
           output_b(0b11111111);
           delay_ms(300);
          
           output_b(0b00000000);
           delay_ms(300);
      }
      else
      {
         output_b(0b00000000);
         
      }
     
     
   }
   }
}


YÜRÜYEN IŞIK DEVRESİ VE YAZILIMI

PIC ILE DISPLAY KONTROLÜ



SANATSAL BİLGİ

16/10/2016


  • YORUM YAZ
  • ADI SOYADI(veya nick)
  • YORUM

COPYRIGHT© HER HAKKI SAKLIDIR
Sitede Yer Alan Bilgi Belge Ve Materyallerin İzinsiz olarak Kopyalanması ve Alıntılanması Yasaktır

SANATSAL BILGI