Direnç Hesaplama Motoru

PIC16F877 ile Butonla BCD Sayıcı Uygulaması CCS C Kodu

PIC16F877 ile Butonla BCD Sayıcı Uygulaması CCS C Kodu

Uygulamanın CCS C Kodu

/******************************************************
 Uygulama Adı      : Buton ile BCD Sayıcı
 Programın Amacı   : RA0 butonuna her basışta 0'dan itibaren artan BCD sayılar
                     B portuna bağlı LED'lerde görünecektir
 PIC PROG/DEKA     : Port B jumper'ı LED konumunda olmalı
*******************************************************/

#include <16f877 data-blogger-escaped-.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

#define buton pin_A0    // "buton" adında "pin_A0" kelimesine eşit bir sabit tanımlanıyor

int i=1;     // 8 bitlik tamsayı tipinde değişken tanımlanıyor

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

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_a(0x01);    // RA0 pini giriş olarak yönlendiriliyor
   set_tris_b(0x00);    // RB0 portu tümüyle çıkış olarak yönlendiriliyor

   output_b(0x00);      // B portu çıkışları sıfırlanıyor

   while(1)       // Sonsuz döngü oluşturuluyor
   {
      if (input(buton))
      {
         delay_ms(15);  // Butona basılınca meydana gelen arkın etkisini önlemek için verilen gecikme
         output_b(i);   // b portuna i değeri yükleniyor
         i=i+1;         // i değeri 1 arttırılıyor
         while(input(buton)); // Buton bırakılana kadar bekle
         if (i==10)     // i değeri test ediliyor.i değeri 10 olunca sıfırlanıyor.
         {
            i=0;        // i değeri sıfırlanıyor
         }
      }
   }
}

PIC16F877 ile Butonla Led Kontrol Uygulaması için tıklayınız.

Uygulamanın Simulasyonu

http://uni-electrical.blogspot.com.tr/
BCD sayıcının ledler ile simulasyonu
http://uni-electrical.blogspot.com.tr/
BCD sayıcının 7 segmentli display ile simulasyonu

Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 yorum:

Yorum Gönder